Labs

The functional model

Beginning Scheme

Symbols and lists

Editing Scheme programs

Procedure definitions

Conditional evaluation

Recursion with lists

Numbers

Recursion with integers

Preconditions and postconditions

Project: Mixing organic fertilizers

Deep recursion

Pairs

Association lists

Local bindings

Indefinite recursion

Local binding and recursion

Project: The prisoner's dilemma

Characters

Strings

Procedures as values

Folding

Variable arity

Project: Solving permuted-word puzzles

Multiple-valued procedures

Vectors

The imperative model

Side effects

Structure mutation

Iteration

Matrices

Sorting by insertion

Sorting by merging

Searching

Project: Substitution ciphers

Input and output under program control

Outside the DrScheme environment

Files

Recursion with files

Records

Metaprogramming

Assignment

The object model

Object-oriented programming

Stacks

Queues

Classes and objects in DrScheme

Windowing classes

Drawing classes


This document is available on the World Wide Web as

http://www.cs.grinnell.edu/~stone/courses/scheme/labs/

Validated as XHTML
1.1 by the World Wide Web Consortium

created August 9, 2001
last revised December 3, 2001

John David Stone (stone@cs.grinnell.edu)