Programming Languages and Logics
An introduction to the theory, design, and implementation of programming languages. Topics include operational semantics, type systems, higher-order functions, scope, lambda calculus, laziness, exceptions, side effects, continuations, objects, and modules. Also discussed are concurrency and distributed programming.
Office Hours: Monday 4pm-5pm and Friday 11am-12pm in Gates 432
Office Hours: Wednesday 11am-12pm and Thursday 2-3pm in Gates G19
Office Hours: Monday 10:10-11am in Gates G13 and Tuesday 12-1:10pm in Gates G11