You are on page 1of 2

1/16/14

Syllabus | Computer Language Engineering | Electrical Engineering and Computer Science | MIT OpenCourseWare
Subscribe to the Enter Email OCW New sletter

Help | Contact Us

Courses

About

Donate

Featured Sites

Search

Advanced Search

Home Courses Electrical Engineering and Computer Science Computer Language Engineering Syllabus

Syllabus
COURSE HOME SYLLABUS Course Description LECTURE NOTES EXAMS Prerequisites PROJECTS DOWNLOAD COURSE MATERIALS
6.170 and proficiency in Java 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.

Course Meeting Times


Lectures: up to 4 sessions / week, 1 hour / session

Textbooks
There are no required texts. Optional references: Appel, Andrew. Modern Compiler Implementations in Java (Tiger Book). 2nd ed. New York, NY: Cambridge University Press, 2002. ISBN: 9780521820608. Muchnick, Steven. Advanced Compiler Design and Implementation (Whale Book). San Francisco, CA: Morgan Kaufmann, 1997. ISBN: 9781558603202.

Calendar
The calendar below includes lectures (L), recitations (R), projects (P), and quizzes (Q). SA = Prof. Saman Amarasinghe MR = Prof. Martin Rinard
WEEK # DAY 1 DAY 2 DAY 3 L2: Regular expressions, language specification by formal grammars (MR) P1: Scanner/parser project assigned DAY 4

L1: C ourse administration, information and overview (SA)

R1: Project information session

L3: Bottom-up parsing (MR)

L4: Top-down parsing (MR)

L5: Intermediate representations (MR)

L6: Semantic analysis (SA)

P1: Scanner/parser project due P2: Semantic checker project assigned

R2: Project information session

4 P2: Semantic checker project due P3: C ode generator project assigned

L7: Unoptimized code generation (MR)

R3: Project information session

L8: Unoptimized code generation (MR)

Q1: In-class quiz P3: C ode generator project due

P3: C ode generator project design due

P4: Data-flow analysis project assigned

L9: Introduction to program analysis (MR)

R4: Project information session

8 P4: Data-flow

ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-035-computer-language-engineering-spring-2010/Syllabus/

1/2

1/16/14

Syllabus | Computer Language Engineering | Electrical Engineering and Computer Science | MIT OpenCourseWare
9 L10: Data-flow analysis (MR) L11: Data-flow optimizations (MR) L12: Foundations of data-flow analysis (MR)

P4: Data-flow analysis project due P5: Optimizer project assigned

10

Q2: In-class quiz

L13: Introduction to code optimization (SA)

L14: Instruction scheduling (SA)

R5: Project information session L18: Loop optimization (SA)

11

L15: Instruction optimization (SA)

L16: Register allocation (SA)

L17: Parallelization (SA)

P5: Optimizer project design due

12 13 14 15 L19: Putting it all together (SA) Q3: In-class quiz P5: Optimizer project due L21: C ompiler derby (SA) L20: Discussion of research topics in compilers (SA/MR) P5: Optimizer project checkpoint due

COURSES
Find by Topic Find by Course Number Find by Department Audio/Video Courses New Courses Most Visited Courses OCW Scholar Courses This Course at MIT Supplemental Resources Translated Courses

ABOUT
About OpenCourseWare Site Stats OCW Stories OCW Consortium Media Coverage New sletter Press Releases OCW's Next Decade

DONATE
Make a Donation Why Donate? Become a Course Champion Our Supporters Other Ways to Contribute Shop OCW Become a Corporate Sponsor

FEATURED SITES
Highlights for High School MITx Teaching Excellence at MIT

ABOUT MIT OPENCOURSEWARE


MIT OpenCourseWare makes the materials used in the teaching of almost all of MIT's subjects available on the Web, free of charge. With more than 2,200 courses available, OCW is delivering on the promise of open sharing of knowledge.

TOOLS
Help & FAQs Contact Us Advanced Search Site Map Privacy & Terms of Use RSS Feeds

OUR CORPORATE SUPPORTERS

20012014 Massachusetts Institute of Technology Your use of the MIT OpenCourseWare site and materials is subject to our Creative Commons License and other terms of use.

ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-035-computer-language-engineering-spring-2010/Syllabus/

2/2

You might also like