Computer Language Engineering

Photograph of a cup of coffee.

Students in this course write a compiler for the Decaf language, a simple imperative language similar to C or Pascal. See the Projects section for more information. (Photograph courtesy of Saunderses on Flickr.)


MIT Course Number


As Taught In

Spring 2010



Cite This Course

Course Description

Course Features

Course Highlights

This course is an update of 6.035 Fall 2005. Selected audio and video lectures can be found in the Fall 2005 Lecture Notes section.

Course Description

This course analyzes issues associated with the implementation of higher-level programming languages. Topics covered include: fundamental concepts, functions, and structures of compilers, the interaction of theory and practice, and using tools in building software. The course includes a multi-person project on compiler design and implementation.

Other Versions

Other OCW Versions

OCW has published multiple versions of this subject. Question_OVT logo

Related Content

Saman Amarasinghe, and Martin Rinard. 6.035 Computer Language Engineering. Spring 2010. Massachusetts Institute of Technology: MIT OpenCourseWare, License: Creative Commons BY-NC-SA.

For more information about using these materials and the Creative Commons license, see our Terms of Use.