Skip to main content

Python Jumpstart by Building 10 Apps

7h 8m 59s
English
Free

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

About the Author: Talkpython

Talkpython thumbnail
Talk Python to Me is a weekly podcast hosted by Michael Kennedy. The show covers a wide array of Python topics as well as many related topics (e.g. MongoDB, AngularJS, DevOps).

Watch Online 113 lessons

0:00 0:00
#Lesson TitleDuration
1Welcome and thanks for coming06:21
2Doing the exercises03:23
3Python 2 or Python 3 and editors05:10
4OS X: Installing Python and PyCharm04:18
5Windows: Installing Python and PyCharm04:12
6Linux: Installing Python and PyCharm05:07
7Video player: A quick feature tour02:05
8Why hello world (it's simple right?)01:14
9Building Hello world, part 104:13
10Core concepts: Variables and calling functions01:56
11Building Hello world, part 202:14
12PyCharm Tour03:35
13Intro to the app02:02
14Getting started with Guess That Number Game05:30
15Core concepts: Conditionals and truthiness02:43
16Using loops and conditionals04:16
17Concept: Shape of Python code (blocks and suites)03:11
18String formatting03:32
19Birthday countdown app01:36
20Sketching the program flow04:25
21Dates and times - getting the birthday05:57
22Differences between dates07:03
23Summary and debugging with PyCharm03:45
24Intro to the journal app01:32
25Building the event loop07:37
26Lists and for-in loops06:06
27Core concept: For-in loops01:14
28Importing and using additional Python files05:56
29Core concept: Importing modules and packages01:12
30Text-based File I/O and with10:30
31Core concept: File I/O00:50
32Complex conditionals and, or, and not01:54
33Core concept: Complex conditionals00:57
34Documenting the journal module with docstrings03:23
35Core concept: Docstrings00:27
36Using __name__ to selectively execute code06:01
37Core concept: __name__ and imports00:45
38Intro to the weather app02:38
39Building the beginnings of the weather app04:00
40What website are we using for weather data anyway?03:48
41Concept: Python Package Index (PyPI)03:12
42Concept: pip02:41
43Installing packages via pip (command line)03:15
44Installing packages via pip (PyCharm)02:39
45Making HTTP Requests with requests03:38
46Concept: Slicing collections03:18
47Getting started with Beautiful Soup02:56
48Finding the right CSS selectors via your browser02:56
49Using CSS and Beautiful Soup to find values04:08
50The web is a messy place, let's clean it up04:41
51Returning multiple values via Tuples05:27
52Named tuples: Making tuples usable03:19
53Concept: Tuples02:44
54Virtual environments: A clean slate08:13
55Concept: Virtual Environments01:08
56Introducing the LOLCat Factory App01:28
57Creating and detecting directories06:41
58Downloading cats06:46
59Downloading and writing binary data04:21
60Showing LOLCats on OS X03:00
61LOLCat App on Linux02:14
62LOLCat App on Windows02:57
63Introduction to the Wizard Battle App02:48
64Building the game loop02:59
65Modeling with classes04:03
66Initializing classes and creating objects07:52
67Adding behaviors to the wizard13:22
68Concept: Classes02:12
69Concept: Objects vs. Classes02:04
70Exploring specialized (derived) classes05:35
71Concept: Inheritance01:37
72Creating the creature hierarchy13:12
73Concept: Polymorphism02:22
74Introduction to the File Searcher App02:00
75Sketching out the search app04:53
76Searching single files06:37
77Improved search results03:50
78Recursion factorial example03:10
79Core concept: Recursion01:36
80Recursion applied02:53
81The performance problem04:22
82Generator play: a simple example07:17
83Core concept: Generator methods01:47
84Generators save the day06:01
85Introduction to the Real Estate Data Miner App02:36
86Sketching out the Real Estate Data Miner App03:15
87CSV Processing From Scratch03:48
88CSV Processing with the CSV module03:39
89Dictionary playground05:45
90Concept: Dictionaries01:40
91Parsing CSV data into Classes06:30
92Finding the most expensive house via lambda expressions05:45
93Concept: lambdas01:29
94Mining data with loops03:30
95Python 3 AND Python 2 Compatible Code04:51
96Concept: Python 3 AND Python 202:07
97Data mining with list comprehensions05:26
98Concept: list comprehensions02:32
99Data mining with generator expressions04:41
100Concept: generator expressions01:34
101Concept: generator pipelines02:32
102Introduction to the movie search app02:06
103Movie HTTP service02:16
104Exploring the search API04:38
105Exploring the search API: The Pythonic Version03:18
106Adding search to the app03:38
107Catching errors with try except02:56
108Using try except to handle specific errors04:25
109Concept: try except01:16
110You made it, you are done!01:27
111Course and app review08:10
112Thank you and goodbye01:25
113Credits00:52