Welcome to CS 180h! The Scheme language is a canonical modern example of a functional programming language; along with other dialects of LISP, it is in active use in artificial intelligence and programming language research, and is a component in a variety of modern computer applications. In addition to the basics of Scheme semantics, we will discuss the relevance of immutable objects, functions as first class values, lexical closures, and the use of macros to create new language constructs on the fly.
Our primary programming environment will be the DrScheme package, along with its command-line counterpart mzscheme.
This class meets 3rd hour on Tuesdays and Thursdays in the Cat lab (E011) in the basement of SMC.
The book for the course is Kent Dybvig's The Scheme programming language.