But, you're also free to drop by the professor's office outside office hours, or to make appointments for other times including lunch or dinner.
Some students prefer e-mail. If this includes you, please send questions to cs132help@cs.hmc.edu . If your question is about code, please submit it and/or attach the entire file to your mail.
The course will be organized around a semester-long project, divided into
roughly-weekly assignments. At the end of the course students will have
built a complete compiler targeted to the Sparc architecture (creating binaries
that run on Turing). The implementation language (not to be confused
with the language being compiled) will be Standard ML, as this is well-suited
for compiler development. However, the content of this course will transfer
directly to compilers written in other languages (e.g., C or C++ or Java).
You may work on the assignments with a partner.
Your final grade will be determined by the assignments (80%) and class participation
(20%).
The following book is required for the course. Be sure to look at the errata list.
Modern Compiler Implementation in ML, Andrew W. Appel, Cambridge University Press, 1998.
Another book may be useful as a reference, since you will be generating SPARC assembly code.
SPARC Architecture, Assembly Language Programming, and C, Richard P. Paul, Prentice-Hall, 2000.The programming assignments will require use of the Standard ML language. See the course web pages for pointers to reference implementation for Standard ML.
The cs-132-l mailing list will be used for announcements
relevant to the entire class, some of which may be important that you receive.
If you did not already receive a test message, inform the instructor.
With regard to both pencil-and-paper and computer-based assignments you are expect to hold to the following standard in your work: you are free to discuss a problem with other students, and hash out the general framework of the solution, but the actual work handed in must be your own. You should not share code or any other work in written form. (Of course if you are working with a partner then these restrictions only apply to students other than your partner!)