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
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
Real-world Projects
Completion Certificate
Last Updated August 27, 2024
Skills you'll learn:
Prerequisites:
No experience required
Software Engineer
The Bureau of Labor Statistics projects 25.7% employment growth for software developers between 2022 and 2032.*
Salary Ranges
Course 1 • 45 minutes
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
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
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
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
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
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
Learn how to add style to your website by using Cascading Style Sheets (CSS).
Lesson 4 • Project
Use your knowledge of HTML and CSS to create a web-based trading card depicting your favorite animal.
Course 3 • 2 months
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
Lesson 2
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
Expand your knowledge of Python by learning to write functions and conditional statements.
Lesson 4
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
Install Python on your own computer so you can write code anytime!
Lesson 6
Learn to work with strings and text in your Python code.
Lesson 7
Get practice writing longer programs, and improving their structure and style.
Lesson 8 • Project
Demonstrate your Python skills by coding a simple version of an old-fashioned text-based adventure game.
Course 4 • 1 month
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
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
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
Learn to interact with Web APIs using the requests module, manipulate JSON, and use dictionaries.
Lesson 4
Learn to create new kinds of data object using classes, including creating your own methods.
Lesson 5 • Project
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!
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.
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.
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.
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.
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.
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.
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.
Average Rating: 4.7 Stars
1,313 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
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
Unlimited access to our top-rated courses
Real-world projects
Personalized project reviews
Program certificates
Proven career outcomes
Full Catalog Access
One subscription opens up this course and our entire catalog of projects and skills.
Average time to complete a Nanodegree program
2 months
, Beginner
(94)
2 months
, Intermediate
3 weeks
, Beginner
(450)
3 months
, Intermediate
(76)
3 months
, Intermediate
2 months
, Beginner
(86)
3 months
, Intermediate
(120)
2 months
, Intermediate
(732)
3 months
, Intermediate
(808)
2 months
, Beginner
4 weeks
, Beginner
1 hour
, Discovery
(272)
3 months
, Intermediate
(225)
3 months
, Intermediate
2 months
, Beginner
2 weeks
, Beginner
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.