CMPUT 415 - Compiler Design

Overview

To get to 4th year, you have probably written tens of thousands of lines of code, probably in several different languages. The code is only text, the description of a solution, unless you have a compiler that translates the code into the language understood by a computer. We all take compilers for granted, but there is real value in understanding how a compiler works.

This course is a de facto capstone course in Computing Science, as it combines your skills in software design, programming, data structures, algorithms, theory of computing, documentation, and machine architecture to produce a functional compiler.

Objectives

  • Learn how a compiler works
  • Know about the powerful compiler generation tools, which are useful to the other non-compiler applications
  • Learn how to write programs that execute faster
  • Gain teamwork experience working on a large, complex software project
  • Realize that computing science theory can be used as the basis for real applications

Course Work

  • Group project: Create a working compiler