Python Jumpstart by Building 10 Apps

Python Jumpstart by Building 10 Apps

English | MP4 | AVC 1152×720 | AAC 48KHz 2ch | 7h 08m | 1.15 GB

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.

Source code and course github repository

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.

This course is based upon Python 3. With Python 2 going unsupported in 2020, we believe that it would be ill-advised to teach or learn Python 2.

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

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
Table of Contents

Welcome to the course
1 Welcome and thanks for coming
2 Doing the exercises
3 Python 2 or Python 3 and editors
4 OS X: Installing Python and PyCharm
5 Windows: Installing Python and PyCharm
6 Linux: Installing Python and PyCharm
7 Video player: A quick feature tour

App 1: Hello (you Pythonic) world
8 Why hello world (it’s simple right?)
9 Building Hello world, part 1
10 Core concepts: Variables and calling functions
11 Building Hello world, part 2
12 PyCharm Tour

App 2: Guess that number game
13 Intro to the app
14 Getting started with Guess That Number Game
15 Core concepts: Conditionals and truthiness
16 Using loops and conditionals
17 Concept: Shape of Python code (blocks and suites)
18 String formatting

App 3: Birthday countdown app
19 Birthday countdown app
20 Sketching the program flow
21 Dates and times – getting the birthday
22 Differences between dates
23 Summary and debugging with PyCharm

App 4: Journal app and file I/O
24 Intro to the journal app
25 Building the event loop
26 Lists and for-in loops
27 Core concept: For-in loops
28 Importing and using additional Python files
29 Core concept: Importing modules and packages
30 Text-based File I/O and with
31 Core concept: File I/O
32 Complex conditionals and, or, and not
33 Core concept: Complex conditionals
34 Documenting the journal module with docstrings
35 Core concept: Docstrings
36 Using __name__ to selectively execute code
37 Core concept: __name__ and imports

App 5: Real-time weather client
38 Intro to the weather app
39 Building the beginnings of the weather app
40 What website are we using for weather data anyway?
41 Concept: Python Package Index (PyPI)
42 Concept: pip
43 Installing packages via pip (command line)
44 Installing packages via pip (PyCharm)
45 Making HTTP Requests with requests
46 Concept: Slicing collections
47 Getting started with Beautiful Soup
48 Finding the right CSS selectors via your browser
49 Using CSS and Beautiful Soup to find values
50 The web is a messy place, let’s clean it up
51 Returning multiple values via Tuples
52 Named tuples: Making tuples usable
53 Concept: Tuples
54 Virtual environments: A clean slate
55 Concept: Virtual Environments

App 6: LOLCat Factory
56 Introducing the LOLCat Factory App
57 Creating and detecting directories
58 Downloading cats
59 Downloading and writing binary data
60 Showing LOLCats on OS X
61 LOLCat App on Linux
62 LOLCat App on Windows

App 7: Wizard Battle App
63 Introduction to the Wizard Battle App
64 Building the game loop
65 Modeling with classes
66 Initializing classes and creating objects
67 Adding behaviors to the wizard
68 Concept: Classes
69 Concept: Objects vs. Classes
70 Exploring specialized (derived) classes
71 Concept: Inheritance
72 Creating the creature hierarchy
73 Concept: Polymorphism

App 8: File Searcher App
74 Introduction to the File Searcher App
75 Sketching out the search app
76 Searching single files
77 Improved search results
78 Recursion factorial example
79 Core concept: Recursion
80 Recursion applied
81 The performance problem
82 Generator play: a simple example
83 Core concept: Generator methods
84 Generators save the day

App 9: Real Estate Analysis App
85 Introduction to the Real Estate Data Miner App
86 Sketching out the Real Estate Data Miner App
87 CSV Processing From Scratch
88 CSV Processing with the CSV module
89 Dictionary playground
90 Concept: Dictionaries
91 Parsing CSV data into Classes
92 Finding the most expensive house via lambda expressions
93 Concept: lambdas
94 Mining data with loops
95 Python 3 AND Python 2 Compatible Code
96 Concept: Python 3 AND Python 2
97 Data mining with list comprehensions
98 Concept: list comprehensions
99 Data mining with generator expressions
100 Concept: generator expressions
101 Concept: generator pipelines

App 10: Movie Search App
102 Introduction to the movie search app
103 Movie HTTP service
104 Exploring the search API
105 Exploring the search API: The Pythonic Version
106 Adding search to the app
107 Catching errors with try except
108 Using try except to handle specific errors
109 Concept: try except

Course Conclusion
110 You made it, you are done!
111 Course and app review
112 Thank you and goodbye
113 Credits