|
|
||
Catalog Description |
||
|
|
A thorough examination of issues and features in language design and implementation including language-provided data structuring and data-typing, modularity, scoping, inheritance, and concurrency. Compilation and run-time issues. Introduction to formal semantics. Prerequisites: CS 70 and CS 80. 3 credit hours. |
|
Instructor |
||
|
|
|
|
Course Home Page |
||
|
|
||
Textbook |
||
|
|
ML for the working programmer (second edition), Larry C. Paulson, Cambridge University Press, 1996. (ISBN 052156543X) The cheapest I have found this is from Bigwords.com. I have set up a booklist (B-2BG3D7) for direct ordering. |
|
Date / Time / Place |
||
|
|
Monday and Wednesday, 11:00am-12:15pm, in Galileo Pryne Auditorium. |
|
Selected Topics |
||
|
|
|
|
Assignments and Grading |
||
|
This course is principally projects-based. It will be built around the development of a series of interpreters for a variety of mini-languages in the Lisp family. Development will be structured as a series of 1-1.5 week assignments, each implementing some feature or version of the interpreter. The programming will all be done in the language ML, a modern functional programming language descended from Lisp. |
||
|
There will also be occasional short (one week) written assignments involving one of the formalisms we will be studying. |
||
|
There will be a final exam, counting for 20% of your grade. (I have not yet decided whether to schedule this exam in the assigned slot during finals week or as a take-home exam.) |
||
|
Grading will be on a ten-point scale. Late assignments will be dropped 1.5 points for every two days late. That is, as soon as an assignment is late it will drop 1.5 points. You then have 48 hours to submit it before it drops another 1.5 points. No assignments will be accepted more than four days late. In addition, you each begin with a bank of five free delay days that you may use as you see fit to reduce late penalties. These days will be allocated optimally by the graders at the end of the term to give you the best possible score. There is no need to indicate that you are using them. Because the allocation of late days will be calculated only at the end of the term, the impact of late submission and delay days will not be reflected in the grades you receive from the graders on individual assignments. It is your responsibility to keep track of how many late days you have used. Note that the limitation of submitting no later than four days after the due date is unaffected by the use of delay days. This is an absolute limit. Finally, note that due to the need to distribute the sample solution in adequate time for it to be useful for the following project, project 7 must be turned in at the due time. |
||
|
With regard to both pencil-and-paper and computer-based assignments we expect you 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 substantial aspects of solutions. |
||
|
|
This page copyright ©2000 by Joshua S. Hodas. It was built on a Macintosh. Last modified on Tuesday, January 18, 2000. |
http://cs.hmc.edu/~hodas/courses/cs131/syllabus.html |
|