Composing Programs is authored and maintained by John DeNero. Please direct corrections and contributions directly to him via email. The text was originally published as lecture notes for CS 61A at UC Berkeley and is based upon the Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Jay Sussman.

Several generous and talented people have made significant contributes to this text, including:

  • Online Python Tutor integration: Philip Guo
  • Early Feedback: Peter Norvig, Paul Hilfinger, Brian Harvey, Tom Magrino
  • Contributions: Aditi Muralidharan, Amir Kamil