Schedule of topics
This schedule is tentative, and it is neither sound (that is, if a topic is listed here, that doesn’t mean we’ll cover it!) nor complete (that is, if a topic is not listed here, that doesn’t mean we won’t cover it!).
As we get to each topic, the topic description will become a link to a Python notebook covering that topic. The notebooks I use in lectures are based on chapters of my colleague Luca de Alfaro’s draft textbook, Programming Abstractions in Python. However, I’ll present some things differently in my own notebooks linked below: I’ll add things, change things, and leave things out. Nevertheless, if you want a sneak preview of future course material, you can look at Luca’s book.
Assignments and surveys will be released (via Canvas announcements) no later than 9pm on the listed “out” date, and are due at 9pm on the listed “due” date.
Date | Topics | Notes |
---|---|---|
Monday, 1/6 | Course overview; a fast-paced (re)introduction to Python 3 | Start-of-course survey out |
Wednesday, 1/8 | A fast-paced (re)introduction to Python 3 (continued) | Start-of-course survey due; assignment 1 out |
Friday, 1/10 | Data structures and their access characteristics | |
Monday, 1/13 | Data structures and their access characteristics (continued); counting stacks and queues, iterators, generators | Assignment 2 out |
Wednesday, 1/15 | Counting stacks and queues, iterators, generators (continued) | Assignment 1 due; assignment 3 out |
Friday, 1/17 | Review of the last few lectures; livecoding assignment 1! | |
Monday, 1/20 | No class (Martin Luther King, Jr. Day) | Assignment 2 due |
Wednesday, 1/22 | Class cancelled, but watch the lecture video (livecoding assignment 2!) on Canvas | |
Friday, 1/24 | Sparse arrays | Assignment 3 due; assignment 4 out |
Monday, 1/27 | Sock drawers and arithmetic dictionaries (deadline to add/drop the class) | |
Wednesday, 1/29 | Sock drawers and arithmetic dictionaries (continued); livecoding assignment 3! | Assignment 5 out |
Friday, 1/31 | Review of recursion; stream averages and motion detection | Assignment 4 due |
Monday, 2/3 | Stream averages and motion detection (continued) | Assignment 6 out |
Wednesday, 2/5 | Expressions as trees | Assignment 5 due |
Friday, 2/7 | Expressions as classes | Assignment 7 out |
Monday, 2/10 | Expressions as classes (continued) | Assignment 6 due; assignment 8 out |
Wednesday, 2/12 | Class cancelled due to grad student labor strike | Mid-course survey out |
Friday, 2/14 | From expressions to optimization and machine learning | Assignment 7 due; mid-course survey due |
Monday, 2/17 | No class (Presidents’ Day) | |
Wednesday, 2/19 | From expressions to optimization and machine learning (continued) | Assignment 8 due; Assignment 9 out |
Friday, 2/21 | Class cancelled due to grad student labor strike | |
Monday, 2/24 | Understanding the regression line with standard units | Assignment 10 out |
Wednesday, 2/26 | Graphs | Assignment 9 due; assignment 11 out |
Friday, 2/28 | Guest speaker: Tom Ballinger | |
Monday, 3/2 | Class cancelled due to grad student labor strike | Assignment 10 due |
Wednesday, 3/4 | Scheduling with dependencies | Assignment 11 due; assignment 12 out |
Friday, 3/6 | Cooking times and resource constraints | Assignment 13 out |
Monday, 3/9 | Sudoku | |
Wednesday, 3/11 | Sudoku (continued) | Assignment 12 due; assignment 14 out |
Friday, 3/13 | Reasoning under uncertainty in SAT solving and life; wrap-up and AMA | Assignment 13 due |
Friday, 3/20 | Happy finals week! | Assignment 14 due |