Berkeley also run a course based on Structure and Interpretation of Computer Programs. http://www-inst.eecs.berkeley.edu/~cs61a/sp06/
The Lectures are Available online here
Here are two interesting papers regarding the implementation of queues:
Functional programming seems a good starting point for parallelisation—that is, exploiting multiple processor architectures. Termite Scheme tries to implement Erlang style parallel programming in Scheme. Try googling for termite scheme
Here are a couple of links Holger found earlier:
The Scheme Programming Language provides an elegant implementation of co-routines implemented entirely in Scheme.
http://www.scheme.com/tspl3/examples.html#./examples:h11
How’s this for an exercise?
Exercise 9.11.4 Implement the kernel of a small operating system using engines for processes. Processes should request services (such as reading input from the user) by evaluating an expression of the form (trap ‘request). Use call/cc and engine-return from the preceding exercise to implement trap.
define-syntax:
Regarding stuff from chapter 4 (implementing a scheme interpreter):