| Course webpage: | http://www.cs.xu.edu/csci310/05s/ |
|---|---|
| Time: | MWF: 12:30 - 1:20 pm |
| Location: | Alter 223 |
| Instructor: | Gary Lewandowski |
| Phone: | 513-745-2836 |
| Office: | Hinkle 129 |
| email: | lewandow@cs.xu.edu |
| Office hours: | M: 3:30-5 pm, W: 3:00-4:00 pm, R: 5:30 - 7:00 pm, F: 3:30-5:00 pm Also by appointment, see my schedule at http://www.cs.xu.edu/~lewandow/schedule05s.html |
| Textbook: | Modern Compiler Implmementation in Java, 2nd Edition, by Andrew Appel. (ISBN 052182060X) |
Our specific objectives include your ability to do the following:
The project portion of the course will consist of seven pieces. The
first project is intellectually but not integrally related to
the later pieces. Project 1 will be worth 7%, Projects 2-7 will
be worth 9% each. The final 4% will come from an extension to
the basics of the compiler (and will be discussed during the
course).
Generally, greater success is achieved when students work in a team
of two on the project. This is not required, but it will be
allowed.
Homework will be approximately weekly, intended to guide and amplify your reading.
The Mathematics and Computer Science Department has a uniform Grading Standard
Projects will be demonstrated on either Monday or Friday afternoons throughout the semester (depending on the project and course schedule). You and your partner will sign up for a timeslot of about 15 minutes to demonstrate your code and test cases. You are allowed three demonstration slips during the semester, where a slip moves the demonstration back 1 week -- until the end of the semester when each is one day of finals week. (Nothing may slip past Wednesday afternoon of finals week.)
Homework is due at the beginning of the class for which it was assigned.
| Dates | topic | Book Chapters | Project info |
|---|---|---|---|
| Days 1-3 (January 10-14) | Lexical Analysis | 1,2 | |
| Days 4-10 (January 19 - Feb 2) | Parsing | 3 | Day 5 (Jan 21): Project 1 demo |
| Days 11-13 (February 4 - 9) | Abstract Syntax Trees | 4 | Day 12 (Feb 7): Project 2 demo |
| February 10-11 Winter Holiday, no class | |||
| Days 14-18 (February 11 - 23) | Type Checking/semantic analysis | 5 | Day 17 (Feb 21): Project 3 demo |
| Day 19 (February 25) | midterm (through parsing) | Gary at SIGCSE | |
| Days 20-23 (Feb 28 - March 7) | Activation Records / Frames | 6 | Day 23 (March 7): Project 4 demo |
| Days 24-28 (March 9 - 18) | Intermediate Representation Tree | 7 | |
| March 19- March 28: Spring/Easter Break. No class | |||
| Days 29-31 (March 30 - April 1) | Canonicalization | 8 | |
| Days 32 - 37 (April 4 - 18) | Instruction Selection | 9 | Day 32 (April 4): Project 5 demo, Day 37 (April 18): Project 6 demo |
| Days 38 - 42 (April 27 - 29) | Extras | Day 42 (April 29): Project 7 demo | |
| Monday May 2 | Final Exam, 1:00 - 2:50 pm | ||
| Wednesday May 4 | Demos of final extensions | ||