We may earn an affiliate commission when you visit our partners.
Course image
Richard Kalehoff

Udacity's What is Programming course is your first step towards a career in programming. You'll learn how the web functions, what a programmer does each day and more.

What's inside

Syllabus

Learn how to explain and categorize web development languages.
Experience what "programming" is like by looking at what a developer does every day.
Read more
Learn the lingo related to what web standards are and how programming languages are developed.
Get familiar with what Version Control is, how it works, and what related tools are used.
Learn a variety of disparate web terms and how they work together in the digital world.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops the fundamental principles of programming through a developer's lens
Explores the functionality of the web and how programmers contribute to it
Introduces the core terms and concepts of the programming field
Covers version control and the associated tools used in web development
Presents various web terminologies and their applications in the digital realm

Save this course

Save What is Programming? to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in What is Programming? with these activities:
Create a centralized knowledge base
Organize and synthesize course materials to enhance comprehension and retention.
Browse courses on Web Development
Show steps
  • Gather all relevant course materials (slides, notes, assignments).
  • Structure the materials into a logical hierarchy.
  • Use digital tools or a physical notebook for organization.
Review basic programming concepts
Refresh your understanding of basic programming concepts to lay a strong foundation for this course.
Browse courses on Programming
Show steps
  • Go over your notes or textbooks from previous programming courses.
  • Review online resources or tutorials that cover basic programming concepts.
Engage in online discussion forums
Connect with peers, share knowledge, and clarify concepts through active participation in online forums.
Browse courses on Web Development
Show steps
  • Identify relevant online forums or discussion groups.
  • Actively participate in discussions by asking questions, sharing insights, and providing support.
  • Respect and acknowledge the contributions of others.
11 other activities
Expand to see all activities and additional details
Show all 14 activities
Complete online coding challenges
Reinforce your understanding of web development concepts through hands-on coding practice.
Browse courses on Web Programming
Show steps
  • Identify a reputable online coding platform.
  • Choose a challenge that aligns with your skill level.
  • Solve the challenge by writing and executing code.
  • Review the solution and identify areas for improvement.
Follow online tutorials on HTML and CSS
Strengthen your understanding of web development fundamentals by following guided tutorials on HTML and CSS.
Browse courses on HTML
Show steps
  • Find reliable online resources or platforms that offer tutorials on HTML and CSS.
  • Choose a tutorial that aligns with your learning style and pace.
  • Follow the instructions provided in the tutorial and experiment with the code.
Write code snippets to demonstrate programming concepts
Enhance your programming skills by writing code snippets to demonstrate different programming concepts.
Browse courses on Programming
Show steps
  • Choose a programming concept that you want to practice.
  • Write a short code snippet that demonstrates the concept in action.
  • Test your code snippet and make sure it works as intended.
Explore Real-World Web Development Examples
Gain practical insights into web development by following guided tutorials and examining real-world examples.
Browse courses on Software Engineering
Show steps
  • Identify a specific web development aspect you wish to learn.
  • Find reputable tutorials from trusted sources.
  • Follow the tutorials and implement the concepts.
  • Analyze real-world examples of similar projects.
  • Reflect on your learning and identify areas for improvement.
Design a web development project proposal
Apply your understanding of web development principles by creating a proposal for a real-world project.
Browse courses on Web Development
Show steps
  • Brainstorm project ideas that align with your interests and skills.
  • Conduct research to gather requirements and define project scope.
  • Develop a detailed proposal outlining the project's goals, approach, and timeline.
Solve coding problems on HackerRank
Improve your problem-solving skills and ability to implement solutions by practicing on HackerRank.
Browse courses on Problem Solving
Show steps
  • Create an account on HackerRank and select your preferred programming language.
  • Start with the easy problems and gradually work your way up to the more challenging ones.
  • Pay attention to the provided test cases and make sure your solutions pass all of them.
Participate in online coding challenges
Challenge yourself and improve your problem-solving abilities by participating in online coding challenges.
Browse courses on Programming
Show steps
  • Find online platforms or websites that host coding challenges.
  • Choose a challenge that interests you and aligns with your skill level.
  • Read the challenge instructions carefully and start working on your solution.
Explore advanced web development tutorials
Expand your knowledge by seeking out specialized tutorials that delve deeper into web development topics.
Browse courses on Web Development
Show steps
  • Identify specific areas where you want to enhance your skills.
  • Research online resources and tutorials.
  • Follow the tutorials step-by-step, implementing the concepts in your own projects.
Glossary of Important Web Terms
Reinforce key terms and concepts related to web development by compiling a comprehensive glossary.
Show steps
  • Identify a list of relevant terms from the course materials.
  • Define each term clearly and concisely.
  • Organize the terms into alphabetical or thematic categories.
  • Include examples and illustrations to enhance understanding.
Build a simple web application
Reinforce your understanding of web development concepts by building a simple web application.
Browse courses on Web Development
Show steps
  • Choose a simple project idea, such as a portfolio website or a to-do list app.
  • Design the layout and structure of your application.
  • Write the code for your application.
  • Test your application and make necessary adjustments.
Create a portfolio of your programming projects
Showcase your programming skills and progress by creating a portfolio that highlights your best projects.
Browse courses on Programming
Show steps
  • Select your best programming projects that demonstrate your abilities.
  • Create a website or online repository to showcase your projects.
  • Provide clear descriptions and explanations for each project.

Career center

Learners who complete What is Programming? will develop knowledge and skills that may be useful to these careers:
Software Developer
A Software Developer is responsible for designing, developing, implementing, testing, and maintaining software. They will work with clients to understand their needs and develop systems that meet their requirements. This course can be a helpful introduction to programming and web development concepts for those interested in a career as a Software Developer. Learners will gain an understanding of how the web functions and what a programmer does each day.
Web Developer
A Web Developer is responsible for designing, developing, and maintaining websites. They will work with clients to understand their needs and develop websites that meet their requirements. This course can be a helpful introduction to programming and web development concepts for those interested in a career as a Web Developer. Learners will gain an understanding of how the web functions and what a programmer does each day.
Computer Programmer
A Computer Programmer is responsible for writing and testing code for software and applications. They will work with other members of the development team to design and implement software systems. This course can be a helpful introduction to programming and web development concepts for those interested in a career as a Computer Programmer. Learners will gain an understanding of how the web functions and what a programmer does each day.
Information Technology Specialist
An Information Technology Specialist is responsible for providing technical support and advice to users of computer systems. They will also install and maintain software and hardware. This course can be a helpful introduction to programming and web development concepts for those interested in a career as an Information Technology Specialist. Learners will gain an understanding of how the web functions and what a programmer does each day.
Database Administrator
A Database Administrator is responsible for managing and maintaining databases. They will work with users to ensure that data is accurate and accessible. This course may be helpful for those interested in a career as a Database Administrator, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.
Network Administrator
A Network Administrator is responsible for managing and maintaining computer networks. They will work with users to ensure that networks are running smoothly and securely. This course may be helpful for those interested in a career as a Network Administrator, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.
Project Manager
A Project Manager is responsible for planning, executing, and closing projects. They will work with stakeholders to define project goals and objectives, and will develop plans to achieve these goals. This course may be helpful for those interested in a career as a Project Manager, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.
Systems Analyst
A Systems Analyst is responsible for analyzing and designing computer systems. They will work with users to understand their needs and develop systems that meet their requirements. This course may be helpful for those interested in a career as a Systems Analyst, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.
Web Designer
A Web Designer is responsible for designing the look and feel of websites. They will work with other members of the development team to create websites that are both visually appealing and functional. This course may be helpful for those interested in a career as a Web Designer, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.
Security Analyst
A Security Analyst is responsible for protecting computer systems from security threats. They will work with users to identify and mitigate security risks. This course may be helpful for those interested in a career as a Security Analyst, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.
User Experience Designer
A User Experience Designer is responsible for designing the user experience for websites and applications. They will work with other members of the development team to create websites and applications that are easy to use and enjoyable to use. This course may be helpful for those interested in a career as a User Experience Designer, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.
Product Manager
A Product Manager is responsible for managing the development and launch of new products. They will work with engineers, designers, and marketers to ensure that products meet the needs of customers. This course may be helpful for those interested in a career as a Product Manager, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.
Business Analyst
A Business Analyst is responsible for analyzing business processes and identifying areas for improvement. They will work with stakeholders to develop solutions that meet the needs of the business. This course may be helpful for those interested in a career as a Business Analyst, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.
Software Engineer
A Software Engineer is responsible for designing, developing, and maintaining software. They will work with other members of the development team to design and implement software systems. This course may be helpful for those interested in a career as a Software Engineer, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.
Data Analyst
A Data Analyst is responsible for collecting, analyzing, and interpreting data. They will use this data to identify trends and patterns that can help businesses make better decisions. This course may be helpful for those interested in a career as a Data Analyst, as it provides an introduction to programming and web development concepts. Learners will gain an understanding of how the web functions and what a programmer does each day.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in What is Programming?.
Provides a set of principles and practices for writing clean code. It great resource for anyone who wants to improve the quality of their code.
Classic in the field of software engineering and provides a wealth of insights into the challenges of developing software. It great resource for anyone who wants to learn more about the software development process.
Classic in the field of software design and provides a catalog of design patterns that can be used to solve common software development problems. It great resource for anyone who wants to learn more about software design.
Beginner-friendly introduction to the Java programming language. It great resource for anyone who wants to learn more about Java.
Beginner-friendly introduction to the JavaScript programming language. It great resource for anyone who wants to learn more about JavaScript.
Beginner-friendly introduction to the Python programming language. It great resource for anyone who wants to learn more about Python.
Beginner-friendly introduction to the C++ programming language. It great resource for anyone who wants to learn more about C++.
Beginner-friendly introduction to HTML and CSS. It great resource for anyone who wants to learn more about HTML and CSS.
Beginner-friendly introduction to JavaScript and jQuery. It great resource for anyone who wants to learn more about JavaScript and jQuery.
Beginner-friendly introduction to PHP and MySQL. It great resource for anyone who wants to learn more about PHP and MySQL.
Beginner-friendly introduction to social media marketing. It great resource for anyone who wants to learn more about social media marketing.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser