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 |
Review: File Reading and Writing
Review: File Parsing Algorithms
Command Line: Moving Around and Executing a Script
Applications with Command Line Arguments
CSV Parsing Using Built-In Python
CSV Parsing Using the csv Module
Boolean (True/False) Values
[advanced] Iterables, Iteration and List Processing
[advanced] Advanced Container Structures
|
Homework
(note that exercises are available in source data as .py and Jupyter Notebook files) |
In-Class Exercises
In-Class Exercise Solutions
Homework Projects
Homework Project Discussion
|
|
|
Session 2 -- SQL; Multi-dimensional Structures |
Readings |
Command Line Reference
Introduction to Python Feature Summary 6
|
Slides |
slideshow |
Slides as Single
Topic Pages |
SQL Part 1: Databases and SQLite3 Client
SQL Part 2: Working with Databases through Python
SQL Part 3: Primary Key, JOIN, GROUP BY, ORDER BY
Reading Multidimensional Containers
Building Multidimensional Containers
Review: User-Defined Functions
[advanced] Testing
[advanced] Packages
|
Homework
(note that exercises are available in source data as .py and Jupyter Notebook files) |
In-Class Exercises
In-Class Exercise Solutions
Homework Projects
Homework Project Discussion
|
|
|
Session 3 -- Web Clients and Web Page Scraping |
Slides |
slideshow |
Slides as Single
Topic Pages |
HTTP and Web Clients
Web Scraping
Understanding Unicode and Character Encodings
[advanced] Jinja2 Templating
[advanced] Flask
|
Homework
(note that exercises are available in source data as .py and Jupyter Notebook files) |
In-Class Exercises
In-Class Exercise Solutions
Homework Projects
Homework Project Discussion
|
|
|
Session 4 -- Regular Expressions and Github |
Readings |
Feature Summary -- Regexes
|
Slides |
slideshow |
Slides as Single
Topic Pages |
Regular Expressions: Text Matching and Extraction
Getting Started with Github
Environment Variables
|
Homework
(note that exercises are available in source data as .py and Jupyter Notebook files) |
In-Class Exercises
In-Class Exercise Solutions
Homework Projects
Homework Project Discussion
|
|
|
Session 5 -- Complex Sorting; Higher-Order Functions |
Slides |
slideshow |
Slides as Single
Topic Pages |
User-Defined Functions
Proper Code Organization
Complex Sorting
Higher-Order Functions and Decorators
[advanced] Generators and Recursion
|
Homework
(note that exercises are available in source data as .py and Jupyter Notebook files) |
In-Class Exercises
In-Class Exercise Solutions
Homework Projects
Homework Project Discussion
|
|
|
Session 6 -- User-defined Classes |
Slides |
slideshow |
Slides as Single
Topic Pages |
User-Defined Classes and Object-Oriented Programming
Modules
|
Homework
(note that exercises are available in source data as .py and Jupyter Notebook files) |
In-Class Exercises
In-Class Exercise Solutions
Homework Projects
Homework Project Discussion
|
|
|
Session 7 -- Python Data Model |
Slides |
slideshow |
Slides as Single
Topic Pages |
Python Data Model
|
Homework
(note that exercises are available in source data as .py and Jupyter Notebook files) |
In-Class Exercises
In-Class Exercise Solutions
Homework Projects
Homework Project Discussion
|
|
|
Session 8 -- Pandas, Part I |
Slides |
slideshow |
Slides as Single
Topic Pages |
pandas: Introduction
pandas: Subscripting, Slicing, Joining, Appending
pandas: Transforming, Sorting and Cleaning
|
Homework
(note that exercises are available in source data as .py and Jupyter Notebook files) |
In-Class Exercises
In-Class Exercise Solutions
Homework Projects
Homework Project Discussion
|
|
|
Session 9 -- Pandas, Part II; Matplotlib |
Readings |
Data Analysis Types
|
Slides |
slideshow |
Slides as Single
Topic Pages |
Matplotlib
pandas: Advanced groupby(), apply() and MultiIndex
pandas: TimeSeries, Binning and Categorizing
|
Homework
(note that exercises are available in source data as .py and Jupyter Notebook files) |
In-Class Exercises
In-Class Exercise Solutions
Homework Projects
Homework Project Discussion
|
|
|
Session 10 -- Algorithm Efficiency and Interview Questions |
Slides |
slideshow |
Slides as Single
Topic Pages |
optional: Advanced Topics in Data Science
Benchmarking and Efficiency
Algorithmic Complexity Analysis and "Big O"
Practice Problems
[advanced] Functional Programming
|
Homework
(note that exercises are available in source data as .py and Jupyter Notebook files) |
In-Class Exercises
In-Class Exercise Solutions
Homework Projects
Homework Project Discussion
|
|
All Slides |
All Slides on One Page |