Instructor: Holly Yanco and
An introduction to programming and the power of abstraction, using Abelson and Sussman's classic textbook of the same name.
Key concepts include: building abstractions, computational processes, higher-order procedures, compound data, data abstractions, controlling interactions, generic operations, self-describing data, message passing, streams and infinite data structures, meta-linguistic abstraction, interpretation of programming languages, machine model, compilation, and embedded languages.
Structure and Interpretation of Computer Programs
(full online text), Abelson and Sussman
Simply Scheme, Harvey and Wright.
Requirements: Three exams and nine problem sets.