These are websites, papers, and other resources that you might find useful. Please feel free to suggest others.
Resources
occam resources
Our programming in occam will involve a number of resources that are hard or impossible to find elsewhere.
- occam texts
These are books I have scanned. - occam resources
Web pages and other resources. - programs from class
Programs written during class. - …
plumbing occamdoc
The Plumbing library is under development. You are encouraged to suggest additions, and encouraged even further to write PROCs that you think should be available and submit them for inclusion.
Included here is the occamdoc for the library as of…
Ben-Ari, Understanding Programming Languages
Understanding Programming Languages is a good introduction to a number of concepts in PL.
I found links to a full (legally available) copy online here:
http://www.freetechbooks.com/understanding-programming-languages-t657.html
I trimmed this down…
Basics
A good place to start is the Design Recipe. I've explained this on the page titled Coding Style, but really, it serves as a great example for the basics of programming in Scheme.
I'll write up the absolute basics so you have them to refer to.
…
Coding Style
We will follow the coding style and design recipe set forth in How to Design Programs (HtDP). A summary of the salient points regarding the recipe and style follows.
CONTRACT
Programs consume and produce data. Regardless of the language we are…
Unit Testing in PLT Scheme
You can write tests for your code using the tools detailed in the PLAI documentation. Or, if you want, you can use SchemeUnit. This page walks you through writing unit tests in SchemeUnit, because it isn't that hard.
Create a test file
Assume your…
Papers
Copies of papers that I think are relevant/interesting (password protected).
PLT Scheme Documentation
The PLT Scheme on-line documentation.
How To Design Programs
A good starting point for people new to Scheme. I particularly recommend the sections on the Design Recipe and data structures (especially the transition from structures to lists).
The Scheme Programming Language
An encyclopedic reference; use the index.
Teach Yourself Scheme in Fixnum Days
Focused, potentially of value.
Programming Languages: Application and Interpretation
The course text.
Worse is Better / Beating the Averages
On Wednesday, February 11th, the seemingly simple question was asked: what do we do in the face of duplicate bindings?
{with { {x 3} {y 2} {x 5} } {+ x y}}
The binding for "x" appears twice in this list of bindings. How do we handle this?


