I'd rather write programs to write programs than write programs. -D. Sites
After a quick review of the basic features of the Scheme programming language, we will explore advanced language features not normally covered in CS 257. These include macros, lazy evaluation, streams, continuation passing style, and call/cc. We'll also look at the lambda calculus and the Y-combinator. The bulk of the course will focus on implementation of Scheme interpreters and compilers. Topics will include scanning, parsing, evaluation, macro-expansion, compilation, and garbage collection. Each student will write a working Scheme interpreter or compiler in a non-garbage-collected language (e.g., C). Undergraduates who have taken CS 257, and who want to learn more about Scheme and its implementation are welcome to take CS 491. Graduate students who have taken CS 257 (or have equivalent proficiency in Scheme) are welcome to take CS 591.What I cannot create I do not understand. - R. Feynman
* This page can be found at http://www.cs.unm.edu/~williams/cs491s04.html
** There will be LOTS of hacking to do! Don't take this course if you don't
like to code!
*** This prize provided courtesy of Prof. Stefanovic.