This is the course website for SI413: Programming Languages and Implementation in Fall 2026.
This course is all about the design and implementation of programming languages. We will learn how to write and understand language specs, see multiple different programming language paradigms, and get our hands dirty writing interpreters and compilers for a progressively powerful series of languages that we design and build.
See the course policy for details on syllabus, grading, etc.
Last week
This week
Monday 09/14
HW 2.1 due before class
Monday 09/14
Class 2.2: Syntax analysis (scanner DFA and parse tree)
Wednesday 09/16
Class 2.3: Top-down and bottom-up parsing
Wednesday 09/16
Lab 1.3 due 23:59
Friday 09/18
Lab 2.1: Spec for StringBoolVar Language
Next week
Monday 09/21
HW 2.2 due before class
Monday 09/21
Class 2.4: Using ANTLR and Maven
Wednesday 09/23
Class 2.5: Introducing the Scheme language
Wednesday 09/23
Lab 2.1 due 23:59
Friday 09/25
Lab 2.2: Interpreter for a StringBoolVar language