CS 5641 Course Syllabus
Compiler Design
Fall, 2004

Course Information

Instructor:Rich Maclin
Email:rmaclin
Office:315 Heller Hall
Phone:726-8256
Lectures:12:30-13:45 TR, 302 HH
Lab:18:00-18:50 M, 177 MWAH
Office Hours:14:00-15:00 Tuesday, Wednesday and Thursday and by appointment
Teaching Assistant:Kedar Bhumkar
Text:Aho, Sethi, and Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, ISBN 0201100886

Course Coverage

This course will present an introduction to compiler design. We will cover issues in scanning, parsing, and code generation discussing a variety of programming languages. The course will include a multi-part programming project to build a simple working interpreter.

Examinations and Grades

ItemPointsDate and Time
Midterm Exam 1 175 points October 14 (Thursday), 12:30-13:45
Midterm Exam 2 175 points November 23 (Tuesday), 12:30-13:45
Final Exam 350 points December 21 (Tuesday), 14:00-15:55
Programming Assignments (5) 250 points TBA
Homework Assignments (5) 50 points TBA
Total 1000 points Grade based on total points

Grades are assigned on a percentage basis, and then an adjustment is applied based on a minimum effort requirement (see below). The grade percentage cutoffs are as follows:

These percentages may be lowered but will not be raised.

Minimum Effort Requirement: Students must turn in a minimal credible effort for EVERY assignment or their grade will be reduced one full letter grade (an A would become a B, an A- a B-, a B+ a C+, etc.). A turned-in assignment achieving at least 40% of the possible points (before late assignment penalties) will be considered a minimal credible effort (though this percentage may be revised downwards by the instructor as warranted). For example, if a program has a maximum possible 30 points, then a turned-in assignment achieving at least 12 points before late penalties would be considered a minimal credible effort.

Policies

Course Material

Copies of the overheads used in class will be made available on the class web page (hopefully before class).

Missed Classes

You are responsible for what goes on in class, including lecture material, handouts, and turning in assignments. If you are unable to attend class it is your responsibility to obtain copies of class notes and any materials distributed in class. You may turn in copies of assignments early or have other members of the class turn in an assignment for you.

Missed Exams

No exam will be given early. Exams can be made up only in the case of emergencies such as severe illness or death in the immediate family. You must contact me 24 hours in advance in order to arrange a makeup.

Assignments

All assignments will be collected at the beginning of class on the due date. Late assignments will be penalized 20% of the grade for each working day the assignment is late.

Cheating

Programming assignments must be your own work. You may discuss general ideas with other students, but should not discuss actual code with others. If you are having problems with an assignment, please come and see me or send me email.

Equal Opportunity

As instructor I shall make every attempt to treat all students equally, without regard to race, religion, color, sex, handicap, age, veteran status, or sexual orientation. I encourage you to talk to me about your concerns of equal opportunity in the classroom. To inquire further about the University's policy on equal opportunity, contact the Office of Equal Opportunity (8217), 255 DAdB.

Students With Disabilities

If you have any disability (either permanent or temporary) that might affect your ability to perform in this class, please inform me at the start of the semester. I may adapt methods, materials, or testing so that you can participate equitably. To learn about the services that UMD provides to students with disabilities, contact the Access Center (8727), 138 Kirby Plaza, or the Office of Equal Opportunity (8217), 255 DAdB.