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: Resource Management
Programming in Rust
Types for Resource Management
Garbage Collection