Lectures take place every Monday, Wednesday, and Friday from 1-1:50PM over Zoom. The lecture notes will be updated after every class.
| Date | 
Topic | 
Lecture Capture | 
| Nov 20 | 
Wrap-up (no notes) | 
video | 
| Nov 20 | 
Program verification | 
video | 
| Nov 18 | 
Quicksort and random testing | 
video | 
| Nov 16 | 
Merge sort, continued (notes delayed) | 
video | 
| Nov 13 | 
Merge sort (notes delayed) | 
video | 
| Nov 11 | 
More sorting (notes delayed) | 
video | 
| Nov 9 | 
Sorting intro (notes delayed) | 
video | 
| Nov 6 | 
Scraping web data | 
video | 
| Nov 4 | 
Expression trees (notes delayed) | 
video | 
| Nov 2 | 
Final project, last word on binary search trees (notes delayed) | 
video | 
| Oct 30 | 
More binary search trees (notes delayed) | 
video | 
| Oct 28 | 
Binary search trees (notes delayed) | 
video | 
| Oct 26 | 
Exceptions (notes delayed) | 
video | 
| Oct 23 | 
More linked lists | 
video | 
| Oct 21 | 
Linked lists | 
video | 
| Oct 19 | 
Designing object-oriented programs | 
video | 
| Oct 16 | 
Testing programs with objects, inheritance | 
video | 
| Oct 14 | 
Polymorphism | 
video | 
| Oct 9 | 
How programs with objects execute | 
video | 
| Oct 7 | 
More tree functions, introduction to objects | 
video | 
| Oct 5 | 
Recursive functions on trees | 
video | 
| Oct 2 | 
Tree-structured data: documents | 
video | 
| Sep 30 | 
Data structure performance (no notes today, but see these 111 notes) | 
video | 
| Sep 28 | 
More program performance, big-O notation | 
video | 
| Sep 25 | 
Program performance | 
video | 
| Sep 23 | 
Machine learning and Project 1 (no notes) | 
video | 
| Sep 21 | 
More breaking down problems | 
video | 
| Sep 18 | 
More testing, comprehensions, breaking down problems | 
video | 
| Sep 16 | 
Sets, memory, and testing | 
video | 
| Sep 14 | 
Lists, hashtables, and sets | 
video | 
| Sep 11 | 
Working with text files | 
video | 
| Sep 9 | 
Course intro | 
video |