CS440
Language Processors and Programming Environments (Spring 2007)

Meeting Time and Location:
Monday 7:20-10:00pm, Innovation Hall 136

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/cs440_s07/

Overview
This course will cover the theoretical and implementation aspects of language processing. Emphasis will be on the techniques and the issues that arise in the design and construction of compilers. There are several substantial programming assignments associated with this course.  Main topics of the course include:

Prerequisites: C or better in CS 310, CS 330, CS 365
Students are expected to be acquainted with formal models and languages(CS330), computer structures and assembly languages(CS365), and data structures(CS310).  Students should have fair programming skills in C or C++.

Textbook

Other Useful Resources

Class Attendance
Required.  Please arrive on time.  I expect to start at 7:20 sharp, and possibly with a quiz!  Please participate in class! Ask questions if there is something you don't understand.

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. There will also be written homeworks, in-class quizzes, a in-class midterm exam, and a final exam. Both the final and midterm 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.

End-of-semester numeric scores will be weighted as follows: 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 Policiesand 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.