Free Course

Programming Foundations with Python

Learn Object-Oriented Programming

Nanodegree Program

Become a Professional Full Stack Developer

byAmazon Web Services

Accelerate your career with the credential that fast-tracks you to job success.

About this Course

In this introductory programming class, you’ll learn Object-Oriented Programming, a must-have technique for software engineers that will allow you to reuse and share code easily. You’ll learn by doing, and will build byte-sized (ha!) mini projects in each lesson to learn and practice programming concepts.

We’ve heard that programming can be intimidating for newcomers, and we’ve created this course to make sure that you have a great learning experience! You’ll learn actively with our mini projects (see the awesome list below), which you’ll be able to share proudly with your friends. You’ll also learn important programming concepts one by one, with no surprises or leaps of logic along the way.

You’ll pick up some great tools for your programming toolkit in this course! You will:

  • Start coding in the programming language Python;
  • Reuse and share code with Object-Oriented Programming;
  • Create and share amazing, life-hacking projects!

This introductory course is for you if you want to be a software engineer, or if you want to collaborate with programmers. Mastering Object-Oriented Programming will propel your career in tech forward, and it’s also a great way to learn how software engineers think about solving problems.

This course is also a part of our Full Stack Web Developer Nanodegree.

Watch Trailer
Course Cost
Approx. 6 weeks
Skill Level
Included in Product

Rich Learning Content

Interactive Quizzes

Taught by Industry Pros

Self-Paced Learning

Student Support Community

Join the Path to Greatness

This course is your first step towards a new career with the Become a Professional Full Stack Developer Program.

Free Course

Programming Foundations with Python

Enhance your skill set and boost your hirability through innovative, independent learning.

Icon steps

Course Leads

Kunal Chawla

Kunal Chawla


What You Will Learn

Prerequisites and Requirements

We require some familiarity with the following programming ideas in any computer language (C++, Java, Python, English etc.):

  • if statements
  • loops
  • functions

Don’t worry if you feel you need a refresher on any of these programming ideas. That’s ok. We will provide information that will remind you how to use these ideas when building programs.

See the Technology Requirements for using Udacity.

Why Take This Course

You should take this course if you want to build awesome projects, while writing only a few lines of code. Here are some of them:

  • Project Take a Break: Do you know a friend who works too many hours? We will write a program that schedules breaks throughout the day -- reminding your friend to listen to music, get up and dance to their favorite song, or just walk away from the computer every once in awhile.
  • Project Profanity Editor: Imagine it’s late at night and you get an email from your boss, requesting your help with something. You reply, “I can take a shot at it” but accidentally end up including an awkward word (sh*t). Oops. We will write a python program that detects curse words, and saves clumsy email writers from embarrassing moments.
  • Movie Website: We will learn how to make an awesome webpage that lists your favorite movies and shows their trailers.

While building these projects we will learn about a programming technique that is used by software engineers on a daily basis; it is called Object-Oriented Programming.

Finally, we will work together to get better at reading help documents and using other people’s code almost like lego blocks to build our programs. By building these projects, you’ll become more confident in your ability to code and transition from “programming looks like magic” to “oh, I can do that.”

What do I get?
Instructor videosLearn by doing exercisesTaught by industry professionals