About the content
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.
Lesson 0: Introduction (30 min)We will begin with an introduction from the instructor. More specifically, we will talk about the projects we will build and the ideas we will learn in this course. Then we will conduct a short test to ensure you have all the prerequisites necessary for the course. Finally, we will work together to download Python on your computer.
Lesson 1: Using Functions (3.5 hours)We will use functions (webbrowser.open and os.rename) from the Python Standard Library to build two projects in this lesson. After that we will present a scenario where using functions will not present a very elegant solution; this will illuminate the need for a new programming tool called Classes.
Lesson 2: Using Classes (5 hours)Here we will learn about important object-oriented programming concepts like classes and instances. We will build three cool projects while using classes. These include drawing shapes with Turtle, sending text messages with Twilio and checking curse words with a function called open. We will leverage modules from within the Python Standard Library and also learn to download and use an external Python package (twilio).
Lesson 3: Making Classes (5 hours)In this lesson we will learn to create our first class. While doing this we will build a website that plays trailers of your favorite movies. Here are some of the programming ideas we will learn in this lesson: - How to create a class - How to instantiate an object - How to access class attributes and methods - What is the self keyword - What are constructors (\__init__) - What are DocStrings - How to create and access Class Variables - How does Inheritance work - How to override methods
Final Project (6 hours)Here, you will use the skills learned in this course to identify a problem statement and idea for a project. You will then identify step-by step directions (in simple English) to design a solution for the previously identified problem. Finally, you will use this design and your newly learned object-oriented programming skills to write code to realize your project.
- Kunal Chawla - After obtaining a bachelor’s degree in computer science from the University of Texas at Austin, Kunal worked as a programmer for three years, but then decided to switch gears to education. He taught middle school science, worked with Google on a distance learning initiative, and eventually earned a master’s degree in educational technology from Stanford University before joining Udacity.
Udacity is a for-profit educational organization founded by Sebastian Thrun, David Stavens, and Mike Sokolsky offering massive open online courses (MOOCs). According to Thrun, the origin of the name Udacity comes from the company's desire to be "audacious for you, the student". While it originally focused on offering university-style courses, it now focuses more on vocational courses for professionals.