Welcome to the Spring 2004 session of Grinnell College's CSC 362, Compilers. In this course, we will consider both theoretical and practical issues in the implementation of compilers for programming languages (translators from high-level languages like Pascal to low-level languages, like assembler or machine code).
I consider compilers one of the most fun courses to teach (and take) because it provides an excellent opportunity to consider the relationship between theory (in particular, theory you'll learn in 341) and practice.
In an attempt to provide up-to-date information, and to spare a few
trees, I am making this as much of a
paperless course as I can.
Meets: MWF 1:15-2:05 in Science 2435. Labs are Thursday in various places.
Instructor: Samuel A. Rebelsky (email@example.com), Science 2427. Office hours: MWF 11:00-11:50, MWThF 2:15-3:05. I also tend to follow an open door policy: Feel free to stop by when my door is open or to make an appointment for another time. Check my schedule for more details.
Grading: Programming Project: 30%; Written Assignments: 20%; Midterm: 20%; Final Exam: 20%; Class Participation: 10%.
Late Assignments: My experience shows that students who turn in work late learn significantly less than students who turn material in on time. (I'm not sure about cause and effect.) Hence, I strongly discourage late assignments. Unless prior arrangements have been made, assignments are due within five minutes of the start of class. After that they are considered late. Late assignments are penalized one letter grade per day late (or fraction thereof).
Textbook: Aho, Alfred, Sethi, Ravi, and Ullman, Jeffrey (1986). Compilers: Principles, Techniques, Tools. Reading, MA: Addison-Wesley.
The classic text on compilers, typically referred to as The Red Dragon Book. Somewhat dense, and doesn't cover newer topics (such as garbage collection) but you'll be glad to have it as a reference when the semester is done.
Web Site: Rebelsky, Samuel (2004). CSC362: Compilers. Grinnell, IA: Grinnell College.
The thing you're looking at right now. Available online at
http://www.cs.grinnell.edu/~rebelsky/Courses/CS362/2004S/. Where to go to find assignments, readings, examples, and all sorts of helpful information.
Thursday, 20 January 2004 [Samuel A. Rebelsky]
I usually create these pages
on the fly, which means that I rarely
proofread them and they may contain bad grammar and incorrect details.
It also means that I tend to update them regularly (see the history for
more details). Feel free to contact me with any suggestions for changes.
This document was generated by
Siteweaver on Wed May 5 11:46:42 2004.
The source to the document was last modified on Tue Jan 20 13:24:20 2004.
This document may be found at