[[Assignment1]]
-## Overview ##
+
+##[[Notes and Schedule]]##
+
+[[Using the programming languages]]
+
+
+##[[Offsite Reading]]##
+
+There's lots of links here already to tutorials and encyclopedia entries about many of the notions we'll be dealing with.
+
+
+
+## Course Overview ##
The goal of this seminar is to introduce concepts and techniques from
theoretical computer science and show how they can provide insight
what that means during the course.
* **Scheme** is one of two major dialects of *Lisp*, which is a large family
-of programming languages. The other dialect is called "Common Lisp." Scheme
+of programming languages. Scheme
is the more clean and minimalistic dialect, and is what's mostly used in
academic circles.
Scheme itself has umpteen different "implementations", which share most of
Racket stands to Scheme in something like the relation Firefox stands to HTML.
* **Caml** is one of two major dialects of *ML*, which is another large
-family of programming languages. The other dialect is called "SML" and has
-several implementations. But Caml has only one active implementation,
+family of programming languages. Caml has only one active implementation,
OCaml, developed by the INRIA academic group in France.
* Those of you with some programming background may have encountered a third
[[How to get the programming languages running on your computer]]
-[[Using the programming languages]]
-
[[Family tree of functional programming languages]]
+
## Recommended Books ##
+It's not necessary to purchase these for the class. But they are good ways to get a more thorough and solid understanding of some of the more basic conceptual tools we'll be using.
+
* *An Introduction to Lambda Calculi for Computer Scientists*, by Chris
Hankin, currently $17 on
[Amazon](http://www.amazon.com/Introduction-Lambda-Calculi-Computer-Scientists/dp/0954300653).
* *The Little MLer*, by Matthias Felleisen and Daniel P. Friedman, currently $27
on [Amazon](http://www.amazon.com/Little-MLer-Matthias-Felleisen/dp/026256114X).
This covers some of the same introductory ground as The Little Schemer, but
-this time in ML. The dialect of ML used is SML, not OCaml, but there are only
+this time in ML. It uses another dialect of ML (called SML), instead of OCaml, but there are only
superficial syntactic differences between these languages. [Here's a translation
manual between them](http://www.mpi-sws.org/~rossberg/sml-vs-ocaml.html).
-##[[Schedule of Topics]]##
-
-##[[Lecture Notes]]##
-
-##[[Offsite Reading]]##
-
-There's lots of links here already to tutorials and encyclopedia entries about many of the notions we'll be dealing with.
----