Advanced Python

David Blaikie

Summer, 2026



REFERENCE DOCUMENTS
Getting Started Prework Register on
School System
Windows/Dos
Command Line
Style Requirements Command Line Reference Glossary Python 2 vs. 3
pdf html pdf html      pdf html      pdf html      pdf pdf html      pdf


Class Slides

Note: the slides are presented in three forms: the "Single Topic Pages", each of which cover a specific topic; the "slideshow", which is a continuous sequence of slides spanning all topics, and a single page linked as "All Slides" below -- useful for text searching. The material contained in each of these three is the same.
 

Session 1 -- Review of Containers; Reading and Writing CSV; Aggregations

   Readings Register on School System
Code Quality
 
   Slides slideshow
   Slides as Single Topic Pages
      Python Intermediate Features slide page
      Boolean (True/False) Values slide page
      Command Line: Moving Around and Executing a Script slide page
      Applications with Command Line Arguments slide page
      [Review] File Reading and Writing slide page
      [Review] File Parsing Algorithms slide page
      CSV Parsing Using Built-In Python slide page
      CSV Parsing Using the csv Module slide page
      [advanced] Advanced Container Structures slide page
      List Processing slide page
      Virtual Environments slide page
 
 
   In-Class Exercises in-class exercises
exercise solutions
 
 
   Homework Projects and Warmup Exercises

(Note that only Homework Projects are to be turned in. Warmup and inclass xercises come with solutions and are not to be turned in.
Project Warmup Exercises
Project Warmup Exercise Solutions

Homework Projects

Homework Discussion (use this if you
would like more detail on homework)
 
 

Session 2 -- SQL; Multi-dimensional Structures

   Readings Command Line Reference
Introduction to Python Feature Summary 6
 
   Slides slideshow
   Slides as Single Topic Pages
      User-Defined Functions slide page
      Functions and Code Organization slide page
      SQL Part 1: Databases and SQLite3 Client slide page
      SQL Part 2: Working with Databases through Python slide page
      SQL Part 3: Primary Key, JOIN, GROUP BY, ORDER BY slide page
      Reading Multidimensional Containers slide page
      Building Multidimensional Containers slide page
      [advanced] Testing slide page
      [advanced] Packages slide page
 
 
   In-Class Exercises in-class exercises
exercise solutions
 
 
   Homework Projects and Warmup Exercises

(Note that only Homework Projects are to be turned in. Warmup and inclass xercises come with solutions and are not to be turned in.
Project Warmup Exercises
Project Warmup Exercise Solutions

Homework Projects

Homework Discussion (use this if you
would like more detail on homework)
 
 

Session 3 -- Web Clients and Web Page Scraping

 
   Slides slideshow
   Slides as Single Topic Pages
      HTTP and Web Clients slide page
      Web Scraping slide page
      Understanding Unicode and Character Encodings slide page
      Git Part I: Getting Started with git and GitHub slide page
      [advanced] Jinja2 Templating slide page
      [advanced] Flask slide page
 
 
   In-Class Exercises in-class exercises
exercise solutions
 
 
   Homework Projects and Warmup Exercises

(Note that only Homework Projects are to be turned in. Warmup and inclass xercises come with solutions and are not to be turned in.
Project Warmup Exercises
Project Warmup Exercise Solutions

Homework Projects

Homework Discussion (use this if you
would like more detail on homework)
 
 

Session 4 -- Regular Expressions and Github

   Readings Feature Summary -- Regexes
 
   Slides slideshow
   Slides as Single Topic Pages
      Regular Expressions: Text Matching and Extraction slide page
      Git Part II: Comitting Changes and Pushing to Server slide page
      Environment Variables slide page
 
 
   In-Class Exercises in-class exercises
exercise solutions
 
 
   Homework Projects and Warmup Exercises

(Note that only Homework Projects are to be turned in. Warmup and inclass xercises come with solutions and are not to be turned in.
Project Warmup Exercises
Project Warmup Exercise Solutions

Homework Projects

Homework Discussion (use this if you
would like more detail on homework)
 
 

Session 5 -- Complex Sorting; Higher-Order Functions

 
   Slides slideshow
   Slides as Single Topic Pages
      User-Defined Functions slide page
      Complex Sorting slide page
      Higher-Order Functions and Decorators slide page
      [advanced] Generators and Recursion slide page
 
 
   In-Class Exercises in-class exercises
exercise solutions
 
 
   Homework Projects and Warmup Exercises

(Note that only Homework Projects are to be turned in. Warmup and inclass xercises come with solutions and are not to be turned in.
Project Warmup Exercises
Project Warmup Exercise Solutions

Homework Projects

Homework Discussion (use this if you
would like more detail on homework)
 
 

Session 6 -- User-defined Classes

 
   Slides slideshow
   Slides as Single Topic Pages
      User-Defined Classes and Object-Oriented Programming slide page
      Modules slide page
 
 
   In-Class Exercises in-class exercises
exercise solutions
 
 
   Homework Projects and Warmup Exercises

(Note that only Homework Projects are to be turned in. Warmup and inclass xercises come with solutions and are not to be turned in.
Project Warmup Exercises
Project Warmup Exercise Solutions

Homework Projects

Homework Discussion (use this if you
would like more detail on homework)
 
 

Session 7 -- Python Data Model

 
   Slides slideshow
   Slides as Single Topic Pages
      Python Data Model slide page
 
 
   In-Class Exercises in-class exercises
exercise solutions
 
 
   Homework Projects and Warmup Exercises

(Note that only Homework Projects are to be turned in. Warmup and inclass xercises come with solutions and are not to be turned in.
Project Warmup Exercises
Project Warmup Exercise Solutions

Homework Projects

Homework Discussion (use this if you
would like more detail on homework)
 
 

Session 8 -- Pandas, Part I

 
   Slides slideshow
   Slides as Single Topic Pages
      pandas: Introduction slide page
      pandas: Subscripting, Slicing, Joining, Appending slide page
      pandas: Transforming, Sorting and Cleaning slide page
 
 
   In-Class Exercises in-class exercises
exercise solutions
 
 
   Homework Projects and Warmup Exercises

(Note that only Homework Projects are to be turned in. Warmup and inclass xercises come with solutions and are not to be turned in.
Project Warmup Exercises
Project Warmup Exercise Solutions

Homework Projects

Homework Discussion (use this if you
would like more detail on homework)
 
 

Session 9 -- Pandas, Part II; Matplotlib

   Readings Data Analysis Types
 
   Slides slideshow
   Slides as Single Topic Pages
      Matplotlib slide page
      pandas: Advanced groupby(), apply() and MultiIndex slide page
      pandas: TimeSeries, Binning and Categorizing slide page
 
 
   In-Class Exercises in-class exercises
exercise solutions
 
 
   Homework Projects and Warmup Exercises

(Note that only Homework Projects are to be turned in. Warmup and inclass xercises come with solutions and are not to be turned in.
Project Warmup Exercises
Project Warmup Exercise Solutions

Homework Projects

Homework Discussion (use this if you
would like more detail on homework)
 
 

Session 10 -- Algorithm Efficiency and Interview Questions

 
   Slides slideshow
   Slides as Single Topic Pages
      optional: Advanced Topics in Data Science slide page
      Benchmarking and Efficiency slide page
      Algorithmic Complexity Analysis and "Big O" slide page
      Practice Problems slide page
      [advanced] Functional Programming slide page
 
 
   In-Class Exercises in-class exercises
exercise solutions
 
 
   Homework Projects and Warmup Exercises

(Note that only Homework Projects are to be turned in. Warmup and inclass xercises come with solutions and are not to be turned in.
Project Warmup Exercises
Project Warmup Exercise Solutions

Homework Projects

Homework Discussion (use this if you
would like more detail on homework)
 
 
 
All Slides All Slides on One Page





entire website ©2026 David Blaikie