We will be using a variety of resources this semester.
How to Design Programs
We'll be starting with an introduction to Scheme, using the text How to Design Programs. It is freely available on the WWW, or you can order a physical copy. We'll be using DrRacket for our programming environment through this section of the course (although, you may find that WeScheme works for quick explorations as well).
Interpreters in Scheme
The second half of the course will follow parts of the text Programming Languages: Application and Interpretation by Shriram Krishnamurthi. It is recommended that you make use of the DrRacket programming environment, and install the PLAI language level as described here.
Parallel programming in occam-π
As we move into parallel programming and the Arduino, we'll be using a combination of out-of-print materials that I will provide you with, as well as Plumbing for the Arduino, a wholly amazing book rivaled only by The Hitchhiker's Guide to the Galaxy in greatness. I'm a co-author, so obviously it is amazing.
