| | Gold | Black |
| Week 0 | | |
| 8/31/21 |
Lecture 0: Introduction |
Lecture 0: Introduction |
| 9/2/21 |
Lecture 1: Pico-fun! |
Lecture 1: Map and Reduce |
| Week 1 | | |
| 9/7/21 |
Lecture 2: Data |
Lecture 2: Recursion |
| 9/9/21 |
Lecture 3: Functions |
Lecture 3: Use-it-or-lose-it |
| Week 2 | | |
| 9/14/21 |
Lecture 4: Monte Carlo and Turtle |
Lecture 4: Turtles and Fractals |
| 9/16/21 |
Lecture 5: Comprehensive Python! |
Lecture 5: Efficiency of Algorithms |
| Week 3 | | |
| 9/21/21 |
Lecture 6: Data-based Design |
Lecture 6: Secrets and Cryptography |
| 9/23/21 |
Lecture 7: Algorithm Design UIOLI! |
Lecture 6: Edit Distance, NP, and Memoization |
| Week 4 | | |
| 9/28/21 |
Lecture 8: Base Conversions |
Lecture 8: Binary, Two's Complement, and Russian Peasants |
| 9/30/21 |
Lecture 9: Bits, Images, and Compression |
Lecture 9: Symbols, Data, and Logic
|
| Week 5 | | |
| 10/5/21 | Lecture 10: Circuits! |
Lecture 10: Logisim Circuits |
| 10/7/21 |
Lecture 11: Memory |
Lecture 11: From Memory to a Whole Computer |
| Week 6 | | |
| 10/12/21 |
Lecture 12: Intro to Hmmm |
Lecture 12: Intro to Hmmm |
| 10/14/21 |
Lecture 13: Hmmm... Functions! |
Lecture 13: Hmmm: Functions and Recursion |
| Week 7 | | |
| 10/19/21 |
"fall" break |
fall "break" |
| 10/21/21 |
Lecture 14: Loops! and imperative programming |
Lecture 14: Try to Be Exceptional |
| Week 8 | | |
| 10/26/21 | Lecture 15: Designing with loops: definitely and indefinitely |
Lecture 15: Look-and-Say and Nim |
| 10/28/21 | Lecture 16: User input and other loopy applications... |
Lecture 16: Trees and I/O |
| Week 9 | | |
| 11/2/21 | Lecture 17: Data, Alive! |
Lecture 17: Life and RAID |
| 11/4/21 |
Midterm exam |
Midterm exam |
| Week 10 | | |
| 11/9/21 |
Lecture 18: Intro to Objects |
Lecture 18: Intro to OOPS |
| 11/11/21 |
Lecture 19: Dictionaries! |
Lecture 19: Huffman Compression and Inheritance |
| Week 11 | | |
| 11/16/21 |
Lecture 20: Libraries, APIs, and VPython |
Lecture 20: Connect 4 and User Interfaces |
| 11/18/21 |
Lecture 21: Lookahead AI |
Lecture 21: Computer Security |
| Week 12 | | |
| 11/23/21 |
Lecture 22: Final-Project Possibilities |
Lecture 22: Final-Project Possibilities |
| 11/25/21 |
Thanksgiving Break |
Thanksgiving Break |
| Week 13 | | |
| 11/30/21 |
Lecture 23: Finite state machines |
Lecture 23: Finite state machines |
| 12/2/21 |
Lecture 24: Turing Machines and Undebuggable functions! |
Lecture 24: Turing machines |
| Week 14 | | |
| 12/7/21 |
Lecture 25: Review-via-debugging and Undebuggable functions! |
Lecture 25: Two uncomputables! |
| 12/9/21 |
Lecture 26: Finale! |
Lecture 26: Final-é! |
... to the many groups supporting the development and evolution of the course to date:
Creative Commons license.
Briefly, this means you're welcome to share and adapt these materials, with attribution, non-commercially. Even Picobot!