Spring 2018 Course Descriptions
Principles and application of computer programming languages. Emphasizes ideas and techniques most relevant to practitioners, but includes foundations crucial for intellectual rigor: abstract syntax, lambda calculus, type systems, dynamic semantics. Case studies, reinforced by programming exercises. Grounding sufficient to read professional literature.
Prerequisite: COMP 15 (Data Structures) and one semester of Discrete Mathematics (COMP/MATH 22 or 61).