Description
This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming.
The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.