Course Schedule

CS4210/5210: Compilers and Interpreters, Fall 2025, Yale University

Last modified: August 23, 2025.
8/27:
Lecture: Introduction
8/29:
Lecture: OCaml (9/1 Monday Class meets on Friday)

9/1:
No Lecture (Labor Day)
9/3:
Lecture: X86 and X86lite

9/8:
Lecture: X86lite Calling Convention
Assignment 1 Due.
9/10:
Lecture: Intermediate Representations and LLVM IR

9/15:
Lecture: More on LLVM IR
9/17:
Lecture: LLVMlite

9/22:
Lecture: Lexing and Regular Expressions
Assignment 2 Due.
9/24:
Lecture: Finite Automata; More on Lexing

9/29:
Lecture: Context-Free Grammars; Parsing
10/1:
Lecture: More on Parsing

10/6:
Lecture: Parsing and Menhir
10/8:
Lecture: Parser Generation
10/9:
Assignment 3 Due.

10/13:
Lecture: First-Class Functions
10/15:
No Lecture (October Break)

10/20:
Lecture: Semantic Analsysis
10/22:
Lecture: Lambda Calculus & Type Checking

10/27:
Lecture: Type Checking for Oat
10/29:
Lecture: More on Type Checking
Assignment 4 Due.

11/3:
Lecture: Optimizations and Dataflow Analysis
11/5:
Lecture: More on Dataflow Analysis

11/10:
Lecture: Alias Analysis
11/12:
Lecture: More on Alias Analysis

11/17:
Lecture: Register Allocation
Assignment 5 Due.
11/19:
Lecture: More on Register Allocation

11/24:
No Lecture (Thanksgiving Break)
11/19:
No Lecture (Thanksgiving Break)

12/1:
Lecture: Compiling Classes and Objects
12/3:
Lecture: Advanced Topics

12/9:
Assignment 6 Due.

Copyright (c) 2025, Zhong Shao, Dept. of Computer Science, Yale University