Python Jumpstart by Building 10 Apps: Project-based Course

Course Summary

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 all the while building interesting and engaging applications.

What students are saying

I went from a degree in Arabic and Mideast Studies into data engineering in 2 years. Your 10 apps course was key in learning strong basics. Listening to your podcast each week is also a great motivator. Thanks Michael.
-- Omar

Source code and course GitHub repository

github.com/mikeckennedy/python-jumpstart-course-demos

What's this course about and how is it 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). But otherwise, it is a from the ground up, comprehensive introduction to the Python programming language.

Most courses focus on teaching you hundreds of details and leave putting them together as an exercise for the student. My course is different.

You will learn all the basics, yes. But you will learn them while building 10 stand alone applications. You will see each application built from the ground up in live demos. When we hit new topics (functions for example), we will pause, discuss them, and return to our application we are building.

This way you will continuously be "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.

View the full course outline.

Who is this course for?

It's for people who have some programming / scripting experience and want to improve their Python knowledge. Maybe you:

  • Know JavaScript but you want to learn Python
  • Used Python casually, but you want to learn it comprehensively
  • Know part of the language well, but want rounded knowledge
  • Want to write more Pythonic code (iterators, comprehensions, etc.)
  • Are a scientist looking to use the Python data tools and need a foundation
  • Are a college student and want more than your university course offers
  • Considering becoming a software developer

If any of those descriptions fit you, then you're 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 very next set of courses I'm starting after this one will be building on this knowledge and diving into advanced areas such as web development, relational and nosql database programming, web service programming, and more.

What applications will we build?

We will build the following apps, which among many other things, focus on the language concepts listed under them.

  • Hello world
    • test 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
    • 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
    • generators expressions
  • Movie lookup app
    • error handling
    • exceptions
    • Advanced HTTP clients

Concepts backed by concise visuals

While building apps and learning as you go is engaging, it can be hard to fully introduce a topic in that format. That's why when we hit a new topic, we stop and discuss it with concise and clear visuals.

Here's an example for when we will first talk about the structure of classes.

Example: Concepts backed by concise visuals

Follow along with subtitles and transcripts

Each course comes with subtitles and full transcripts. The transcripts are available as a separate searchable page for each lecture. They also are available in course-wide search results to help you find just the right lecture.

Each course has subtitles available in the video player.

Who am I? Why should you take my course?

Who is Michael Kennedy?

My name is Michael, nice to meet you. ;) There are a couple of reasons I'm especially qualified to teach you Python.

 1. I'm the host of the #1 podcast on Python called Talk Python To Me. Over there, I've interviewed many of the leaders and creators in the Python community. I bring that perspective to all the courses I create.

 2. I've been a professional software trainer for over 10 years. I have taught literally thousands of professional developers in hundreds of courses throughout the world.

 3. Students have loved my courses. Here are just a few quotes from past students of mine.

"Michael is super knowledgeable, loves his craft, and he conveys it all well. I would highly recommend his training class anytime." - Robert F.
"Michael is simply an outstanding instructor." - Kevin R.
"Michael was an encyclopedia for the deep inner workings of Python. Very impressive." - Neal L.

Free office hours keep you from getting stuck

One of the challenges of self-paced online learning is getting stuck. It can be hard to get the help you need to get unstuck.

That's why at Talk Python Training, we offer live, online office hours. You drop in and join a group of fellow students to chat about your course progress and see solutions via screen sharing.

Just visit your account page to see the upcoming office hour schedule.

Is this course based on Python 3 or Python 2?

This course is based upon Python 3. Python 2 is officially unsupported as of January 1st, 2020 and we believe that it would be ill-advised to teach or learn Python 2. This course is, and has always been, built around Python 3.

The time to act is now

Become the Python developer you have always wanted to be. Join this course right now.

Course Outline: Chapters and Lectures

Welcome to the course
29:08
Welcome and thanks for coming
6:20
Doing the exercises
3:22
Python 2 or Python 3 and editors
5:09
PyCharm Pro for Free
0:41
OS X: Installing Python and PyCharm
4:18
Windows: Installing Python and PyCharm
4:11
Linux: Installing Python and PyCharm
5:07
App 1: Hello (you Pythonic) world
13:38
Why hello world (it's simple right?)
1:14
Building Hello world, part 1
4:39
Core concepts: Variables and calling functions
1:56
Building Hello world, part 2
2:14
PyCharm Tour
3:35
App 2: Guess that number game
19:15
Intro to the app
2:15
Getting started with Guess That Number Game
4:26
Core concepts: Conditionals and truthiness
2:39
Using loops and conditionals
3:14
Concept: Shape of Python code (blocks and suites)
3:12
String formatting
3:29
App 3: Birthday countdown app
22:06
Birthday countdown app
1:35
Sketching the program flow
4:25
Dates and times - getting the birthday
6:04
Differences between dates
6:18
Summary and debugging with PyCharm
3:44
App 4: Journal app and file I/O
48:18
Intro to the journal app
1:32
Building the event loop
7:36
Lists and for-in loops
6:06
Core concept: For-in loops
1:14
Importing and using additional Python files
5:55
Core concept: Importing modules and packages
1:12
Text-based File I/O and with
10:30
Core concept: File I/O
0:50
Complex conditionals and, or, and not
1:53
Core concept: Complex conditionals
0:56
Documenting the journal module with docstrings
3:22
Core concept: Docstrings
0:26
Using __name__ to selectively execute code
6:01
Core concept: __name__ and imports
0:45
App 5: Real-time weather client
59:22
Intro to our weather client app
1:16
This chapter has been refreshed
1:15
What you will learn
2:25
App start
1:59
Main method
2:57
Getting the location
2:02
Weather API overview
2:14
JSON, who's that?
3:51
Convert plaintext to structured data
6:04
Multiple values from a function
2:18
namedtuples, better than plain tuples
2:43
Calling the weather API intro
3:24
Concept: PyPI and PIP
1:46
Virtual environments
5:55
Concept: Virtual environments
3:33
Calling the API
3:08
Converting API data to weather tuples
4:52
The user-friendly weather report
7:40
App 6: LOLCat Factory
27:25
Introducing the LOLCat Factory App
1:28
Creating and detecting directories
6:41
Downloading cats
6:45
Downloading and writing binary data
4:21
Showing LOLCats on OS X
3:00
LOLCat App on Linux
2:14
LOLCat App on Windows
2:56
App 7: Wizard Battle App
58:01
Introduction to the Wizard Battle App
2:48
Building the game loop
2:59
Modeling with classes
4:02
Initializing classes and creating objects
7:51
Adding behaviors to the wizard
13:21
Concept: Classes
2:12
Concept: Objects vs. Classes
2:04
Exploring specialized (derived) classes
5:35
Concept: Inheritance
1:36
Creating the creature hierarchy
13:11
Concept: Polymorphism
2:22
App 8: File Searcher App
44:24
Introduction to the File Searcher App
2:00
Sketching out the search app
4:53
Searching single files
6:37
Improved search results
3:50
Recursion factorial example
3:10
Core concept: Recursion
1:35
Recursion applied
2:52
The performance problem
4:24
Generator play: a simple example
7:16
Core concept: Generator methods
1:47
Generators save the day
6:00
App 9: Real Estate Analysis App
1:02:38
Introduction to the Real Estate Data Miner App
2:36
Sketching out the Real Estate Data Miner App
3:15
CSV Processing From Scratch
3:47
CSV Processing with the CSV module
3:39
Dictionary playground
5:45
Concept: Dictionaries
1:40
Parsing CSV data into Classes
6:30
Finding the most expensive house via lambda expressions
5:44
Concept: lambdas
1:28
Mining data with loops
3:30
Python 3 AND Python 2 Compatible Code
4:51
Concept: Python 3 AND Python 2
2:07
Data mining with list comprehensions
5:25
Concept: list comprehensions
3:32
Data mining with generator expressions
4:41
Concept: generator expressions
1:34
Concept: generator pipelines
2:34
App 10: Movie Search App
30:59
Introduction to the movie search app
2:05
Movie HTTP service
3:40
Exploring the search API
7:06
Exploring the search API: The Pythonic Version
4:19
Adding search to the app
3:04
Catching errors with try except
3:17
Using try except to handle specific errors
6:13
Concept: try except
1:15
Course Conclusion
11:52
You made it, you are done!
1:27
Course and app review
8:10
Thank you and goodbye
1:24
Credits
0:51
Buy for $79 + tax Bundle and save 85% Team Gift

Questions? Send us an email: contact@talkpython.fm

Talk Python's Mastodon Michael Kennedy's Mastodon