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