CPSC_411_201_2020W

Course Title
Introduction to Compiler Construction
Instructor(s)
Extended Description

The goal of this course is to give students experience designing, implementing, and extending programming languages. Students will start from a machine language, the x86-64 CPU instruction set with Linux system calls (x64), and incrementally build a compiler for a subset of Racket to this machine language. In the process, students will practice building, extending, and maintaining a complex piece of software, and practice creating, enforcing, and exploiting abstractions formalized in programming languages.
 
The course assumes familiarity with basic functional programming in Racket, and some simple imperative programming in assembly.

Calendar Description
A practical introduction to lexical analysis, syntactic analysis, type-checking, code generation and optimization. This will be used to design and implement a compiler for a small language.
Course Info
Course Number
CPSC 411
Section
201
Term
Term 2
Session
2020W
Location
Building
DMP
Room
110
Dates
Days
TR
Time (start)
2:00 PM
Time (end)
3:30 PM
Date (start)
Date (end)
UBC Course Schedule