CS 453: Introduction to Compilers (Spring 2007)
Syllabus for CS 453 (http://www.cs.colostate.edu/~cs453)(Detailed class schedule at http://www.cs.colostate.edu/~cs453/schedule.html) The projects in the class will involve writing a compiler in Java for a subset of Java called MiniJava. From MiniJava, we will be generating MIPS code, which we will then run through the SPIM simulator. In the process, we will work with many common data structures, implement algorithms, and practice the design visitor pattern. We will also learn about lexing, parsing, and semantic analysis and show how they bring the theory from CS 301 to life.
Check out some setup notes, if you are interested in learning about some of the software tools we will be using in this class.
Date and TimeMWF 2:10-3:00, Location USC 110
InstructorDr. Michelle Strout (firstname.lastname@example.org), Office hours: W 3-4pm, Lab hours: F 3-4:30pm
Teaching AssistantDavid Rostron (email@example.com)
Office hour: Fri 1-2pm, USC 200 - W6
Lab hours: Tues 8-9pm in S.Lab, Tues 9-12pm in N.Lab
Class CommunicationEmail: firstname.lastname@example.org, URL: http://groups.google.com/group/cs453
TextbookModern Compiler Implementation in Java, 2nd Edition by Andrew W. Appel, 2002.
Programming AssignmentsThere will be eight programming assignments to be completed in pairs or individually. The first programming assignment is a warmup to introduce the visitor design pattern. The later assignments result in a compiler that compiles a subset of Java called MiniJava to MIPS assembly. The percentage breakdown for the programming assignments will be 2%, 3%, 5%, 2%, 8%, 4%, 8%, and 8%.
ExamsThe midterm exam is in class on March 9th. The final exam time is 7:00am-9:00am on May 7th.
Students should study for the exams by fully understanding and practicing the suggested exercises. Feel free to email possible answers to the class mailing list to get feedback from other students, the TA, and the instructor.
Grades (will be posted at WebCT)Programming Assignments: 40%, Final exam: 40%, Midterm exam: 20%
Honesty PolicyRead and know the Computer Science Department Student Information Sheet at http://www.cs.colostate.edu/~info/student-info.html.