CPSC460/560
Introduction to Compilers
Spring 2008


Instructor Dr. Lynn Lambert
Email lambert@pcs.cnu.edu
Office Gosnold 225
Phone 594-7826
Office Hours Monday 2:00-3:00; Tuesday 1:30-2:30; Friday 11:00-noon
Text Compilers: Principles, Techniques, and Tools by Aho, Lam, Sethi, and Ullman, second edition, 2007.
Prerequisite CPSC310 and CPSC330
Final Exam Monday, May 5, 8:00-10:30PM

Grading

ITEM WEIGHT for CPS460for CPSC560
Quizzes, Homework25%20%
Project 30% 25%
Exam I 20% 15%
Final 25% 20%
Paper and Presentation020%
AVERAGE GRADEAVERAGE GRADEAVERAGE GRADE
92 - 100: A80 - 81: B-68 - 69: D+
90 - 91: A-78 - 79: C+62 - 67: D
88 - 89: B+72 - 77: C 60 - 61: D-
82 - 87: B 70 - 71: C-0 - 59: F

Spring 08 Schedule

(subject to change)
`
DateWeek Subject Chapter in text
Jan 211 Compiler Organization 1
282 An overview of a Compiler/Lexical Analysis 2
Feb 43 Lexical Analysis 3
Feb 114 Parsing4
18 5 Parsing4
25 6 Parsing4
Mar 37 Parsing4
Mar 5 TEST I Chapters 1-4
March 10, 12 SPRING BREAK -- NO CLASS
17 8 Syntax-Directed Translation5
24 9 Type Checking6
31 10 Code Generation 8
Apr 711 Code Generation 8
1112 Code Generation and Optimization 9, 10
1813 Oral Projects  
25 14 Oral Projects, Review 
May 5   COMPREHENSIVE FINAL EXAM, 8:00-10:30PM

Catalog Description

A study of the problems of translating procedure oriented languages; lexicographic analysis; syntax checking, code generation and optimization, error detection and diagnostics.

Computer Usage

This course is project based. You will have one project (given in incremental assignments) and several homeworks. Most of these will be programming assignments for UNIX machines.

Goals of this Course

The goal of this course is to give you an appreciation for some of the issues in compiler design, some of the theoretical background, and some hands-on practice using compiler design tools and developing some compiler parts.

Disabilities

If you believe that you have a disability, you should make an appointment to see me to discuss your needs. In order to receive an accommodation, your disability must be on record in Disability Services located in the Academic Advising Center, Room 125, Administration Building (Telephone 594-8763).

Honor Code

You must do your own work. You may work with others on programs and homework, but you may not copy anybody else's work. You may discuss problems with other students or with me, but the actual design, coding, and testing of every program and every answer in every homework must be your own.

You may not copy part or all of another person's solution. You may not allow another person to copy your file, and you may not copy anybody else's file.

Written examinations are closed book, closed neighbor. All written work must be your own. If you have any questions about the honor code, please consult your student handbook. YOU MAY NOT COPY WITHOUT ATTRIBUTION.

Attendance

The best way that you can help yourself is to attend class regularly and be on time, but I do not take attendance. You are responsible for any material that you missed regardless of the circumstances of your absence.

Please respect your peers and do not come in late or leave early. Entering or exiting the classroom is extremely disruptive no matter how quiet you think that you are being.

Exams

Exams will be based on concepts; they will not involve the use of the computer. They will be mostly short answer and problem-solving. You will be asked to write code segments and to explain concepts using words and drawings.

Tests must be taken during class on the day that they are scheduled unless arrangements are made IN ADVANCE. Makeup exams will not be allowed unless you call IN ADVANCE . Please call (594-7826) or send me email (lambert@pcs.cnu.edu) AS SOON AS you know that you will not be able to make up an exam. If you do not contact me before an exam and you miss the exam, you will receive a 0 for that exam. Unless unforeseen circumstances arise, I will not change the date of any exam, so please make sure now that you arrange your schedule so that you can attend the exams as they are scheduled.

The Final exam will be comprehensive, concentrating on the chapters on which you have not yet been tested.

Submission Policy

It is in your best interest to turn in all assignments on time. However, given that it is not always possible to turn every program on time, I do have a late policy for projects only. Projects may be turned in up to 2 business days late with no penalty. On the third day, there will be a 10 point reduction in your grade for the next two days, and a 5 point reduction for every week after that. Homework will not be accepted late except under the most extenuating circumstances.

Home Page

All information about this course will be on the CPSC460/560 home page. Please check this regularly. The address of our home page is:
http://www.pcs.cnu.edu/~lambert/Classes/Spring08/460/460.html

Academic Success in this class

We want you to succeed at CNU; therefore I may notify the Academic Advising Center if you seem to be having problems with this course. Someone may contact you to help you determine what help you need to succeed. You will be sent a copy of the referral form. I invite you to see me at any time that I can be of assistance in helping you with course material.

Getting Help

Especially because this course involves learning a lot on your own, if you are having difficulties about anything related to the course, I encourage you to come talk to me as soon as possible. If you cannot come during my office hours, I will be happy to arrange an appointment whenever it is convenient for you.