University Units: 12 (starred course)
Tuesdays and Thursdays, 1:30-2:50 PM Wean Hall 5409
CORRECTIONS: In Problem 3a on the final examination, you should use callcc and throw (not catch and throw).
In Problem 4, =_{eq} should be =_{ref}.
In Problem 5, you should not use type variables or polymorphism (since these topics were not covered in class before I passed out the exam).
PREREQUISITES: There are no specific prerequisites, but the course requires some background in programming languages and basic mathematics. To get a feel for what is needed look at Appendix A of the text and skim over the first couple of chapters. If these seem unduely difficult, meet with the instructor.
TEXTBOOK: J. C. Reynolds, "Theories of Programming Languages", Cambridge University Press 1998. (errata in postscript) (errata in PDF)
RESERVED BOOK LIST (postscript) (PDF)
ADDITIONAL READING: Each chapter of the textbook gives bibliographic notes listing journal articles and reserved books. This material is not required reading; it is there in case you have difficulty in understanding the text or want to pursue a topic further for your own interest.
HOMEWORK: There will be homework assignments, at most once a week. No late homework will be accepted. However, the two lowest grades will be dropped before averaging the grades. Collaboration is permitted on homework, but each person must write up his own answers and must be able to demonstrate that he understands them.
EXAMINATIONS: There will be midterm and final examinations. Both will be open-book exams. No collaboration is permitted.
GRADING: Your grade will be computed in two ways: as an equally weighted average of the homework, the midterm, and the final, and as an equally weighted average of just the midterm and the final. Your actual course grade will be the higher of the two.
COVERAGE: The goal is to teach as much as can be taught clearly, not to cover all of a fixed syllabus. You will not be examined on topics that are not covered in class, unless it is specifically announced otherwise.
ASKING QUESTIONS: It is vital that you ask questions if an explanation seems unclear. There may also be bugs in the textbook: If you find one you should bring it up in class if it is likely to mislead anyone, or report it to the instructor privately if it is minor.
ADDRESSES AND OFFICE HOURS
CLASS WEBPAGE:
/www.cs.cmu.edu/afs/cs.cmu.edu/project/fox-19/member/jcr/www15812As2006/cs812-06.html
There is a link to this page from the instructor's home page at
/www.cs.cmu.edu/~jcr.
Check this page frequently - important or unexpected notices will be posted
prominently.
Last updated: April 28, 2006