CS 640
Advanced Compilers (Spring 2007)

Meeting Time and Location:
Robinson A101, Thursday, 7:20 - 10:00 pm

Instructor: Prof. Yutao Zhong.
Email: yzhong (at) cs (dot) gmu (dot) edu
Office: STII 419
Office hour: TBA

Course Home Page
http://cs.gmu.edu/~yzhong/cs640_s07/

Overview
This course will cover advanced techniques of language processing.  Emphasis will be on analysis and optimizations in construction of compilers for high performances. There are several substantial programming assignments associated with this course.  Tentative topics include: Prerequisites: CS540 and CS583 or equivalent.
Students are expected to be familiar with compilation process and standard skills in constructing compiler front-ends.  In order to be able to work on the programming projects, students must be comfortable with Java programming language. You are encouraged to contact the instructor if you have concerns about the working language.

Course Resources

Other Useful Resources

Grading Policies
Tentative plans call for 3 to 4 programming assignments, together worth 45% of your grade. These are to be individual efforts, meaning no sharing of code allowed with anyone but the instructor or the TA. Expect substantial programming workload. Both the final and midterm exams are closed-book and closed-notes.  Missed exams must be arranged with the instructor BEFORE the exam.  Documentation of the illness (doctor's note) is required.  No early exams will be given and make-up exams are strongly discouraged.  Tentative grade distribution is: programming projects: 45%, midterm: 20%, final: 35%.  Letter grades will be assigned by subjectively identifying brackets in the numeric scores.  A total score of 49 or less will result in F. 

Late Policy
NO LATE ASSIGNMENTS ACCEPTED WITHOUT DOCUMENTATION FOR ILLNESS, with the following exception: every student of the course is allowed to have a total of 3 FREE LATE DAYS.  Consider them as non-transferable, non-replaceable credits and use them wisely.  If you wish to use one or more of these, indicate it clearly in your submission.  No partial late day is in effect. You need one whole late day to cover a one-hour late submission.  Late submissions will not be graded if you have used all three late days.  Partial credits are available as long as you document well which parts have been implemented.

Extra Credit
There may be opportunities for extra credit on some of the projects or exams.  To receive any extra credit for a project, all base functionality of a project must be implemented; extra credit portions of a project can not count in place of required features.  Extra extensions other than your late days will not be given for completion of extra credit.

Honor Code
You are expected to abide by the honor code. All assignments and exams are individual efforts. Collaborations on any programming assignment is unacceptable.  Please refer to GMU Academic Policies and Computer Science Department Honor Code. Any violation of the honor code will result in a zero of the assignment/exam, and may result in an F for the class.

I will be using MOSS to detect plagiarism in programming assignments.