8.15
CS4400 Spring 2025 Course Notes
Steven Holtzen <s.holtzen@northeastern.edu>
This webpage contains the course notes for the Spring 2025 offering of CS4400/5400. See the left column for links to the notes for each lecture.
Course outline:
- Module 1: The Lambda Calculus- Course Overview and Calculator Language 
- Syntax and Semantics 
- Let Language and Substitution 
- The Lambda Calculus 
- Church Encoding 
- Formalisms: Big and Small-Step Semantics 
- Recursion 
 
- Module 2: Types- Simple Types and Type Checkers 
- Simply-Typed Lambda Calculus 
- Parametric Polymorphism and System-F 
- Programming in System-F 
- Subtyping 
 
- Module 3: Control and Effects- Tail Form and Continuations 
- Continuation-passing Interpreters 
- Continuation-passing Style 
- Effects and Effect Handlers 
- Monads 
 
- Module 4: Intensional Behavior- Abstract Machines (CK, CEK, CESK) 
- Memory Management and Safety 
 
- Module 5: Topics- Probabilistic Programming 
- Monads