-
Date
Lecture
Supplements
May 24
Course Intro & Why Python
Slides Notes
May 25
Python Syntax & Boolean Expressions
Slides Notes
RecMay 26
Scope, Evaluation, & Stacks
Slides Notes Rec
May 27
Substitution Evaluation, Lambda, & Map
Slides Notes
May 28
Map & Modules
Slides Notes
June 1
Loose Ends
Slides Notes
June 2
Red-Black Trees
Slides Notes
June 3
Red-Black Trees
Slides Notes
June 4
Functional Implementations & Modules
Slides Notes
June 7
Functional Implementations & Disjoint Sets
Slides Notes
June 8
Modules: Abstraction Functions & Representation Invariants
Slides Notes
June 9
Models of Evaluation: Substitution, Environment & Binomial Trees
Slides Notes
June 10
Binomial & Fibonacci Trees under Amortized Analysis
Slides Notes
June 11
Intro to Concurrency & Parallel Programming
Slides Notes
June 14
Threading & Processes in Python
Slides Notes
June 15
Logic & Verification
Slides Notes
June 16
Logic & Verification
Slides Notes
June 17
Hoare Logic & Verification
Slides Notes
June 18
Hoare Logic
Slides Notes
June 21
Complexity & Recurrence
Slides Notes
June 22
Master Method
Slides Notes
June 23
Amortized Analysis
Slides Notes
June 24
Directed Graphs
Slides Notes
June 25
Graph Algorithms
Slides Notes
June 28
Memoization & Dynamic Programming
Slides Notes
June 29
Special Topics
Slides Notes
June 30
Garbage Collection & Heuristic Search
Slides Notes
July 1
Functional Programming in Other Languages
Slides Notes
July 2
Review
Slides Notes