This course covers in detail how to write a compiler, i.e., a program that
translates a high-level language into machine code. In fact, all the
programming assignments contribute to one large course project: a
complete compiler for a simple programming language designed by
the students at the beginning of the course.
Perhaps more than any other course in the curriculum, CS 433 ties together a wide range of computer science areas, including data structures, theory, computer architecture, operating systems, programming languages, and software engineering.


