Skills you'll learn:
Introduction to Programming
Nanodegree Program
Welcome to the world of programming! Learn the skills that all programmers use, whether they build apps, web pages, or analyze data.
Welcome to the world of programming! Learn the skills that all programmers use, whether they build apps, web pages, or analyze data.
Beginner
5 months
Last Updated January 14, 2025
Prerequisites:
Beginner
5 months
Last Updated January 14, 2025
Skills you'll learn:
Prerequisites:
No experience required
Skills that demand high salaries
Software Engineer
The Bureau of Labor Statistics projects 25.7% employment growth for software developers between 2022 and 2032.*
Salary Ranges
- Low
- $102,732
- Average
- $128,882
- High
- $175,000
Courses In This Program
Course 1 • 45 minutes
Welcome and Orientation
Welcome to the Introduction to Programming Nanodegree program. This is your first step on your journey to become a programmer. Learn what this program is all about as well as how to find support along your learning journey.
Lesson 1
Welcome and Orientation
In this lesson, we'll introduce you to your instructors, give you an overview of what you'll be learning, and tell you how to get help and support when you need it.
Lesson 2
Getting Help
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
Course 2 • 3 weeks
Introduction to Web Development
Get acquainted with how the web works! Learn about your browser, the internet, and a filetype called HTML. HTML stands for "Hypertext Markup Language." HTML is the language used to create webpages. Learn the basics of HTML to create a simple web page!
Lesson 1
The Web and HTML
In this lesson, we'll be exploring how to create web pages—and, along the way, you'll learn some important concepts about how computer languages work.
Lesson 2
Basic HTML Page
In this first lab, you'll demonstrate your understanding of HTML basics by turning your notes from the lesson into a working HTML web page.
Lesson 3
Styling with CSS
Learn how to add style to your website by using Cascading Style Sheets (CSS).
Lesson 4 • Project
Animal Trading Cards
Use your knowledge of HTML and CSS to create a web-based trading card depicting your favorite animal.
Course 3 • 2 months
Introduction to Programming with Python I
Learn basic programming with Python, one of the most versatile and widely used programming languages! You'll first learn core programming concepts and fundamental Python syntax by writing code to make a virtual "turtle" robot draw colorful shapes on the screen. You'll then learn how to write Python functions, run Python from a Command-Line Interface (CLI), manipulate strings and lists, and refactor your code to improve its structure and make it more modular.
Lesson 1
Introduction to VS Code workspaces
Lesson 2
Turtles and Code
Get started learning core programming concepts with Python, while writing instructions to make a virtual "turtle" robot draw colorful shapes on the screen.
Lesson 3
Python Functions
Expand your knowledge of Python by learning to write functions and conditional statements.
Lesson 4
Shell Workshop
The Unix shell is a powerful tool for developers of all sorts. In this lesson, you'll get a quick introduction to the very basics of using it on your own computer.
Lesson 5
Python at Home
Install Python on your own computer so you can write code anytime!
Lesson 6
Strings and Lists
Learn to work with strings and text in your Python code.
Lesson 7
Style and Structure
Get practice writing longer programs, and improving their structure and style.
Lesson 8 • Project
Adventure Game
Demonstrate your Python skills by coding a simple version of an old-fashioned text-based adventure game.
Course 4 • 1 month
Introduction to Programming with Python II
Continue to advance your skills as a beginning programmer! Python is one of the most versatile and widely used programming languages. In this second-level course, you will build on your understanding of fundamental Python and learn some more advanced skills, including how to work with files on your computer's disk and how to use Object-Oriented Programming (OOP) to create classes, objects, and methods.
Lesson 1
Introduction
In this lesson, we'll introduce you to your instructors, give you an overview of what you'll be learning, and provide a review you can use to check your pre-existing Python skills.
Lesson 2
Working with files
Learn to work with files on your disk using Python code: listing files in a directory, moving files around, and reading & writing the contents of text files.
Lesson 3
Web APIs
Learn to interact with Web APIs using the requests module, manipulate JSON, and use dictionaries.
Lesson 4
Objects and Classes
Learn to create new kinds of data object using classes, including creating your own methods.
Lesson 5 • Project
Rock Paper Scissors
Apply your Python and Object-Oriented Programming knowledge to create a game of Rock Paper Scissors where a human can play against a computer player!
Taught By The Best
Kelly Howard
Instructor
Kelly was previously a Product Manager at Brainjolt and a Learning Experience Designer at Pathstream. She is currently a Marketing Automation Manager where she leads automation, analytics, and systems design for Pathstream's B2C business.
Karl Krueger
Command Line Instructor
Before joining Udacity, Karl was a Site Reliability Engineer (SRE) at Google for eight years, building automation and monitoring to keep the world's busiest web services online.
Rachel Manning
FULL STACK DEVELOPER
Rachel is a full stack freelance developer and educator where she spent 3 years as a bootcamp curriculum developer while developing full stack freelance projects. An advocate for continued learning, she is passionate about mentoring women and underserved community in technology.
Abe Feinberg
Science Teacher and Educational Psychologist
Abe is a science teacher and educational psychologist who loves learning and finding out how things work. He has a particular interest in using AI to optimize education, and his ultimate goal is to replace himself with a robot that can teach better than he can.
Richard Kalehoff
Instructor
Richard is a Course Developer with a passion for teaching. He has a degree in computer science, and first worked for a nonprofit doing everything from front end web development, to backend programming, to database and server management.
Julia Van Cleve
Instructor
Julia is a Content Developer at Udacity and was previously a middle school math teacher in San Jose, CA. She also dabbled in freelance web development, designing websites for small businesses in the Bay Area.
James Parkes
Instructor
James received his degree in Computer Science and Mathematics, then went on to become a Udacity instructor in several programs. His personal mission is clear: to open the doors of opportunity for others by empowering them with excellent educational experiences.
Student Reviews
Average Rating: 4.8 Stars
1,339 Reviews
Mohammad Raza K.
April 13, 2023
It's awesome!
Matias G.
December 13, 2022
I'm loving this program, and all my needs and expectations are matched.
Frank D.
December 8, 2022
The program is going well, this really helps me in becoming a good programmer in the future, exactly what I needed, Thank you!
Cedric H.
December 8, 2022
tout à fait ce que je voudrais, mais j'aurais aussi discuter ou partager avec un groupe d'apprenants qui suivent le même programme que moi..
Hassan Adel A.
November 24, 2022
super
The Udacity Difference
Combine technology training for employees with industry experts, mentors, and projects, for critical thinking that pushes innovation. Our proven upskilling system goes after success—relentlessly.
Demonstrate proficiency with practical projects
Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience.
Gain proven experience
Retain knowledge longer
Apply new skills immediately
Top-tier services to ensure learner success
Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work.
Get help from subject matter experts
Learn industry best practices
Gain valuable insights and improve your skills
Enroll in Introduction to Programming. Choose the plan that works for you
All Access monthly
Unlimited access to our top-rated courses
Personalized Career Services
Cancel Anytime
Real-world projects
Personalized project reviews
Program certificates
Best Value
All Access bundle1
All the same great benefits as our monthly plan
The most cost-effective way to develop the skills you want
- 1Discount applies to the first 4 months of membership, after which plans are converted to month-to-month.
Your subscription also includes:
Your subscription also includes:
2 months
Beginner
(113)
2 months
Intermediate
3 weeks
Beginner
(498)
3 months
Intermediate
(83)
3 months
Intermediate
2 months
Beginner
(98)
3 months
Intermediate
(140)
2 months
Intermediate
(809)
3 months
Intermediate
(832)
2 months
Beginner
4 weeks
Beginner
1 hour
Discovery
(293)
3 months
Intermediate
(252)
3 months
Intermediate
2 months
Beginner
2 weeks
Beginner
About Introduction to Programming
Our Introduction to Programming Nanodegree is the gateway for aspiring programmers. This program, ideal for beginners, covers the essentials of programming, including Python, HTML, and CSS. You'll learn through practical projects, building a strong foundation in coding and web development. This Nanodegree program paves the way for a successful career in technology, equipping you with the skills to build web pages and understand core programming concepts. Our expert instructors, like Karl Krueger and Rachel Manning, guide you through hands-on projects, ensuring real-world application of your newfound skills. By the end of the Introduction to Programming, you'll have a portfolio to showcase your abilities, setting you on the path to professional success.