Computer Science 152
Principles of Programming Languages
An introduction to semantics, models, design, and implementation of programming languages. Topics include operational and denotational semantics, type systems, parameter passing, higher-order functions, dynamic vs. lexical scope, lambda calculus, laziness, exceptions, side effects, continuations, objects, and modules. The programming environment is Coq.
Prerequisite: Computer Science 121. Students must have excellent programming skills and be comfortable with basic mathematical ideas and notations.
|
|