CIS 4521

Compilers and Interpreters

University of Pennsylvania · UGRD · Fall 2026

1 section
Add to a schedule

Catalog description

You know how to program, but do you know how to implement a programming language? In this course you'll learn how to build a compiler. Topics covered include: lexical analysis, grammars and parsing, intermediate representations, syntax-directed translation, code generation, type checking, simple dataflow and control-flow analyses, and optimizations. Along the way, we study objects and inheritance, first-class functions (closures), data representation and runtime-support issues such as garbage collection. This is a challenging, implementation-oriented course in which students build a full compiler from a simple, typed object-oriented language to fully operational x86 assembly. The course projects are implemented using OCaml, but no knowledge of OCaml is assumed. Prerequisite: Two semesters of programming courses, e.g., CIS 1200 , CIS 1210 , CIS 2400 .

Sections

Current meeting, instructor, credit, and enrollment details

Updated 7 hours ago

001

Availability not recently verified
Class #pennsylvania_2-CIS4521Fall 2026UGRD1 credits
Days & times
No scheduled meeting time
Meeting dates
Location
Instructor
Staff
Class numbers and section codes come from the registrar.
Spot missing or incorrect course data?