Computer Language Engineering (SMA 5502)

Electrical Engineering and Computer Science MIT CC BY-NC-SA 4.0 8 lectures

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 {{% resource_link "f83061c6-7bda-4d48-a2a5-9f18df63fb7f" "Singapore-MIT Alliance" %}} (SMA) programme as course number SMA 5502 (Computer Language Engineering).

Syllabus

  1. 1 L1: Course Administration Information and Overview
  2. 2 R1: Scanner Parser Project
  3. 3 L8: Unoptimized Code Generation
  4. 4 L9: Unoptimized Code Generation (cont.)
  5. 5 L14: Instruction Scheduling
  6. 6 L15: Instruction Scheduling (cont.)
  7. 7 L16: Register Allocation
  8. 8 L17: Putting it all Together

Course materials