Programming is fun and profitable. Learning to become a software developer should be equally fun! This course will teach you everything you need to know about the Python language while building interesting and engaging applications.
Course Overview: What Makes This Course Different?
The goal of this online video course is to teach you the Python programming language. It assumes you have just a small amount of programming experience (e.g., you know what a variable, a function, and a loop are in some language). Otherwise, it is a comprehensive introduction to the Python programming language from the ground up.
Unlike most courses that focus on teaching you hundreds of details and leave putting them together as an exercise for the student, this course is different. You will learn all the basics while building 10 stand-alone applications. Each application is built from the ground up in live demos. When we encounter new topics, such as functions, we will pause, discuss them, and then return to the application we are building.
This method ensures you are continuously "putting the pieces together." You don't have to wade through many small details before making sense of Python. It starts right from the beginning and grows from there.
Who Is This Course For?
This course is designed for people who have some programming or scripting experience and want to enhance their Python knowledge. It might be perfect for you if you:
- Know JavaScript but want to learn Python
- Have used Python casually but seek comprehensive knowledge
- Understand parts of the language well, but desire rounded knowledge
- Wish to write more Pythonic code (e.g., using iterators, comprehensions)
- Are a scientist looking to use Python's data tools and need a foundation
- Are a college student who wants more than your university course offers
- Are considering a career as a software developer
If any of these descriptions fit you, then you are my target student. I wrote this course for you.
If you’ve been doing Python for years, maybe this isn’t your course. Don’t worry, though. The next set of courses I’m starting after this will build on this knowledge and dive into advanced areas such as web development, relational and NoSQL database programming, and more.
What Applications Will We Build?
We will build the following applications, focusing on language concepts along the way:
- Hello World
- Testing your environment
- Guess That Number
- User input
- Conditionals
- String parsing
- Birthday App
- Dates and times
- Personal Journal
- Text-based file I/O
- Weather Client
- External packages
- pip
- Screen scraping
- HTTP clients
- LOLCat Factory
- Working with binary files on the Internet
- Wizard Battle
- Classes
- Inheritance
- Magic methods
- File Searcher App
- Lambda expressions
- Generator methods
- Yield and yield from
- Real Estate Analyzer
- File formats
- List comprehensions
- Generator expressions
- Movie Lookup App
- Error handling
- Exceptions
- Advanced HTTP clients