| | Gold | Black |
| Week 0 | | |
| 9/3/19 |
Lecture 0: Introduction |
Lecture 0: Introduction |
| 9/5/19 |
Lecture 1: Pico-fun! |
Lecture 1: Map and Reduce |
| Week 1 | | |
| 9/10/19 |
Lecture 2: Data |
Lecture 2: Recursion |
| 9/12/19 |
Lecture 3: Functions |
Lecture 3: Use-it-or-lose-it |
| Week 2 | | |
| 9/17/19 |
Lecture 4: Monte Carlo and Turtle |
Lecture 4: Turtles and Fractals |
| 9/19/19 |
Lecture 5: Comprehensive Python! |
Lecture 5: Efficiency of Algorithms |
| Week 3 | | |
| 9/24/19 |
Lecture 6: Data-based Design |
Lecture 6: Edit Distance, NP, and Memoization |
| 9/26/19 |
Lecture 7: Algorithm Design UIOLI! |
Lecture 7: Derivatives and Keeping Secrets |
| Week 4 | | |
| 10/1/19 |
Lecture 8: Base Conversions |
Lecture 8: Binary, Two's Complement, and Russian Peasants
|
| 10/3/19 |
Lecture 9: Bits, Images, and Compression |
Lecture 9: Symbols, Data, and Logic
|
| Week 5 | | |
| 10/8/19 | Lecture 10: Logisim circuits |
Lecture 10: Logisim Circuits |
| 10/10/19 |
Lecture 11: Memory |
Lecture 11: From Memory to a Whole Computer |
| Week 6 | | |
| 10/15/19 |
Lecture 12: Intro to Hmmm |
Lecture 12: Intro to Hmmm |
| 10/17/19 |
Lecture 13: Hmmm... Functions! |
Lecture 13: Hmmm: Functions and Recursion |
| Week 7 | | |
| 10/22/19 | Fall break |
Fall break |
| 10/24/19 | Lecture 14: Loops! and imperative programming |
Lecture 14: Loops! and imperative programming |
| Week 8 | | |
| 10/29/19 | Lecture 15: Designing with loops: definitely and indefinitely |
Lecture 15: Text modeling and trees |
| 10/31/19 | Lecture 16: User input and loopy applications... |
Lecture 16: Trees and sharing secrets |
| Week 9 | | |
| 11/5/19 | Lecture 17: Data, Alive! |
Lecture 17: Life and Natural Language |
| 11/7/19 | Midterm exam |
Midterm exam |
| Week 10 | | |
| 11/12/19 |
Lecture 18: Intro to Objects |
Lecture 18: Intro to OOPS |
| 11/14/19 |
Lecture 19: Dictionaries ~ the (t)ablest objects! |
Lecture 19: Huffman Compression |
| Week 11 | | |
| 11/19/19 |
Lecture 20: Libraries, APIs, and VPython |
Lecture 20: Connect 4 and User Interfaces |
| 11/21/19 |
Lecture 21: Connect Four AI |
Lecture 21: Computer Security |
| Week 12 | | |
| 11/27/18 |
Lecture 22: Final project overviews |
Lecture 22: Final project overviews |
| 11/29/18 |
Thanksgiving Break |
Thanksgiving Break |
| Week 13 | | |
| 12/3/19 | Lecture 23: Finite-state machines |
Lecture 23: Finite-state machines |
| 12/5/19 | Lecture 24: Turing machines! |
Lecture 24: Turing machines! |
| Final Week | | |
| 12/10/19 | Lecture 25: Review-via-debugging and Undebuggable functions! |
Lecture 25: Two uncomputables! |
| 12/12/19 | Lecture 27: Finale |
Lecture 26: Wrapup |
... 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!