Submitting a sample program

Consistency in samples will help make it easier for everyone to use the Dynamic Learning Center Materials. Please be sure that your sample programs include the following information when you submit them for posting:

Documentation

Rationale

E.g. What the program can be used for; why you might want it; perhaps a scenario in which it might be used; how you might extend it.

High-Level Documentation

E.g. High-level design of the program; what its modules are; what data types represent.

API Specification

E.g. How to use each module; specific exported Lisp data types.

Source Code

One or more sample implementations for each module (students can be asked to write implementations using different constructs); comments; package and system definitions; etc.

Support Utilities

E.g. data viewers; data generators; printing utilities; basic test utilities.

Tests

E.g. Unit tests for individual components; system tests; mechanisms for generating random, extensive or exhaustive tests.

Please feel free to contact submissions@dynamiclearningcenter.com with any questions you might have.