CSE230 - Principles of Programming Languages

Units: 

 4

Functional versus imperative programming. Type systems and polymorphism; the ML language. Higher order functions, lazy evaluation. Abstract versus concrete syntax, structural and well-founded induction. The lambda calculus, reduction strategies, combinators. Denotational semantics, elementary domain theory.

Prerequisites: 

CSE 130 or equivalent, or consent of instructor.

Formerly CSE 273