|
Computer Science 376
Programming Languages
|
Course Description
Following an introduction to functional programming using the Scheme programming language,
students build a series of interpreters supporting imperative, declarative, functional and
nondeterministic programming languages, and then finish the course by building a virtual
machine and a compiler powerful enough to compile the previous interpreters into code
which can be run on the virtual machine.
Professor
Chris Parrish
Office: Woods Laboratories 120
email: cparrish@sewanee.edu
Location and Time
Tuesday, Thursday, 11:00 a.m. - 12:15 p.m.
Final Examination: Tuesday, 9 May 2000, 9 a.m.
Woods Laboratories 119
Course Topics and Schedule
- CprS 376 Schedule, Fall 2001
Textbook
Structure and Interpretation of Computer Programs, Second Edition,
by Abelson, Sussman, and Sussman; MIT Press and McGraw-Hill, 1996
Web Enhancements
The publisher's web pages maintained by the MIT Press in support of our textbook contain electronic copies of the text's programs and other resources which can be downloaded onto your computer.
Programming Environment
The machines in WL119 run the linux operating system. For those not already familiar with this environment, we will spend a few moments familiarizing ourselves with linux and the emacs editor at the beginning of the first class, but the enterprising student will be well-served by running through this unix and emacs tutorial before the first class. For our classwork, we will use Kent Dybvig's Petite Chez Scheme, which is freely available for a number of different platforms.
Grading
- homework 35 %
- 3 class examinations 45 %
- final examination 20 %
For Further Information
Course-related resources
cparrish@sewanee.edu