Composing Programs
UC Berkeley's CS61A textbook -- the Python-flavored re-imagining of Structure and Interpretation of Computer Programs. CC BY-SA 4.0. Walks abstraction, higher-order functions, data abstraction, sequences, classes, functional programming, and a small interpreter -- exercises distilled from the original CS61A problem sets.
- Python
- 23 lessons
- ~5 hours
- Free
- by John DeNero
Learn Python for free on Libre Academy with the Composing Programs course: 23 interactive lessons you complete by writing real code in a built-in editor, graded instantly by hidden tests. No paywall, no sign-up — it runs in your browser and the free desktop app.
What you get
- Hands-on lessons with a real editor and instant, test-graded feedback.
- Free and open source — no account required to start.
- Runs in your browser, and offline in the free desktop app.
- Python runs in your browser.
What's inside
- Functions and Control
- Higher-Order Functions
- Data Abstraction
- Sequences
- Mutable Data
- Classes and Objects
- Functional Programming
- Interpreters for Languages with Combination