Structure and Interpretation of Computer Programs (Python)
Classic CS curriculum adapted for Python, based on UC Berkeley CS61A
Modules
1
1.6 Higher-Order Functions
Functions as first-class values, lambda expressions, and function composition
45 minVideo lectureReading material
2
1.7 Environment Diagrams
Understanding how Python evaluates names and maintains state
30 minReading material
3
1.8 Recursive Functions
Writing and understanding recursive functions
40 minReading material
4
2.2 Data Abstraction
Building compound data structures and maintaining abstraction barriers
50 minReading material
5
2.3 Sequences
Lists, iteration, and sequence processing
45 minReading material
6
2.5 Trees
Tree structures and recursive tree processing
40 minReading material
7
2.6 Mutable Data
Object mutation, identity, and state
35 minReading material
8
2.7 Object-Oriented Programming
Classes, inheritance, and object-oriented design
60 minReading material
9
3.1-3.5 Interpreters
Building interpreters and understanding evaluation
90 minReading material