Computer Language Engineering (SMA 5502)
Offered By: Massachusetts Institute of Technology via MIT OpenCourseWare
Course Description
Overview
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).
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
Tags
Related Courses
CompilersStanford University via edX Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)
Hebrew University of Jerusalem via Coursera Compiler Design
Indian Institute of Technology, Kharagpur via Swayam Foundations to Computer Systems Design
Indian Institute of Technology Madras via Swayam Compiler Design
YouTube