6.035 Computer Language Engineering (SMA 5502)

Fall 2005

Image of a computer screen.
Computer screen. (Photo © openphoto.net.)

Course Highlights

This course features all of its lecture notes and a selection of videos in the lecture notes section. Separate project assignments are provided in the projects section. In addition, practice quizzes are available in the exams section.

Course Description

6.035 is a course within the department's "Computer Systems and Architecture" concentration. This course analyzes issues associated with the implementation of high-level programming languages. Topics covered include: fundamental concepts, functions, and structures of compilers, basic program optimization techniques, the interaction of theory and practice, and using tools in building software. The course features a multi-person project on design and implementation of a compiler that is written in Java® and generates MIPS executable machine code. This course is worth 8 Engineering Design Points.

This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as course number SMA 5502 (Computer Language Engineering).

Special Features

Technical Requirements

Special software is required to use some of the files in this course: .rm, .mp3.

*Some translations represent previous versions of courses.

Donate Now


Prof. Saman Amarasinghe
Prof. Martin Rinard

Course Meeting Times

Four sessions / week
1 hour / session

One session / week
1 hour / session




Archived Courses

Previous version