COSI 121B — Structure and Interpretation of Computer Programs

[ sn ]

Prerequisites: COSI 11a or programming facility in C. May not be taken for credit by students who took COSI 21b in prior years.

An introduction to idioms of programming methodology, and to how programming languages work. Principles of functional programming, data structures and data abstraction; state, imperative and object-oriented programming; lazy data structures; how an interpreter works; metalinguistic abstraction and programming language design; syntax analysis, lexical addressing, continuations and explicit control; continuation-passing style, metacircular and register-machine compilers. Usually offered every year.
Mr. Mairson