CS 357: Declarative Programming

Instructor: Lance Williams <williams@cs.unm.edu>
Time: MWF 12:00 - 12:50 PM
Location: ME 201
Office Hours: Mon. 4:00-5:00 PM, Tues. 11:00-12:00 PM
Office: FEC 349C

Description

[Lisp] is the only computer language that is beautiful. - Neal Stephenson
I'd rather write programs to write programs than write programs. -D. Sites
What I cannot create I do not understand. - R. Feynman

Teaching Assistant

Name: Matthew Barrick <matthew@cs.unm.edu>
Office Hours: Tues., Thurs. 11:00-1:30
Office: FEC 321

Textbooks

The text for the course will be Scheme and the Art of Programming by George Springer and Daniel P. Friedman (MIT Press, 1989). You may purchase a copy of the text at the UNM Copy Center which is located in Dane Smith Hall.

The text for Haskell will be Learn you a Haskell for Great Good, which is entirely online.

If you're really hardcore, check out Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Jay Sussman with Julie Sussman (2nd edition, MIT Press, 1996) which is available online in its entirety. SICP is the introductory programming text used at MIT.

Related Material

We will use the MzScheme Scheme implementation, which is principled and fast enough for our purposes. You probably will want to use GNU Emacs as your editor. I do. Or use XEmacs if you prefer. The brief GNU Emacs Reference Card can be helpful. If you want to run MzScheme from inside Emacs, you will want to include these definitions in a file called .emacs in your home directory. Later in the course, when we study Haskell, we will use the GHC implementation.

The R5RS Manual describes the Scheme standard. Teach Yourself Scheme in Fixnum Days by Dorai Sitaram is also useful. Finally, The Scheme Programming Language: ANSI Scheme by R. Kent Dybvig, (2nd Edition, Prentice Hall, 1996) is available online in its entirety.

Course Syllabus **

Grading

Grading

** Subject to change
*** All assignments are due at the assigned times. The TA may, but are not obligated to, accept late submissions at a penalty of no less than 10% per 24 hours late.