Edition 2022-2023
Course CS4200
StartFri, Sep 2, 2022 00:00:00
EndTue, Nov 1, 2022 23:59:00
Enroll untilFri, Oct 14, 2022 23:59:00


Compilers translate the source code of programs in a high-level programming language into executable (virtual) machine code. In this course you will study the architecture of compilers, and important concepts and techniques underlying the components of that architecture. You will study these techniques by applying them in practice to implement your own compiler for a small language.

The course covers the following topics:

  • Syntax and parsing

  • Static semantics and type checking

  • Virtual machines, assembly code, byte code

  • Interpretation vs. compilation

  • Code generation

  • Memory management, garbage collection

  • Data-flow analysis

  • Optimization