CS 434T: Compilers

Stephen Freund, Fall 2026

This tutorial covers the principles and practices for the design and implementation of compilers and interpreters. Topics include all stages of the compilation and execution process: lexical analysis; parsing; symbol tables; type systems; scope; semantic analysis; intermediate representations; run-time environments and interpreters; code generation; program analysis and optimization; and garbage collection. The course covers both the theoretical and practical implications of these topics. As a project course, students will construct a full compiler for a simple object-oriented language.

Full Syllabus

Calendar

Week 0 (Sep 11)

Week 0 (Sep 11): Lab: Course Overview and Scala Crash Course