Studies principles governing the design and analysis of programming languages and their underlying execution models. Explores values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces formal semantics as a framework for understanding programming features. Introduces advanced programming concepts such as functional programming, higher-order functions, immutable values and structures, inductive types, functors, continuation-passing; and object-oriented programming using inheritance, generics and covariance/contravariance in a functional programming language such as Scala. Same as CSCI 3155.
instructor(s)
Reckwerdt, Eric Asher
Primary Instructor
- Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023 / Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024