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](http://web.mit.edu/sma/) (SMA) programme as course number SMA 5502 (Computer Language Engineering).
Computer Language Engineering (SMA 5502)
Massachusetts Institute of Technology via MIT OpenCourseWare
Overview
Syllabus
- L1: Course Administration Information and Overview
- R1: Scanner Parser Project
- L8: Unoptimized Code Generation
- L9: Unoptimized Code Generation (cont.)
- L14: Instruction Scheduling
- L15: Instruction Scheduling (cont.)
- L16: Register Allocation
- L17: Putting it all Together
Taught by
Prof. Saman Amarasinghe and Prof. Martin Rinard