This page explains what I expect for formatting of assignments for CS 536. I will deduct points for assignments that violate these guidelines.
Unless otherwise noted on a particular assignment:
When in doubt as to whether you can use a construct on an assignment, ask!
Document every program (including helper functions) with
A contract, which is a comment documenting the type of the inputs and outputs of the program.
A purpose statement, which is a comment describing what the program computes.
A list of the test cases on which you ran the program. Write your test cases as a series of calls to your program. You do not need to include the results of the tests in what you submit.
Examples of contracts, purposes, and test cases will be given in class.
Whenever your program consumes or produces a datatype that is not built into Scheme, you must provide its corresponding define-datatype expression in your file (your file is unlikely to run if you don't satisfy this anyway).
You should use appropriate types for your data. For example, if the problem statement suggests boolean data, you should use booleans rather than 0 and 1.
You should use helper functions appropriately. In general, use helper functions to
Your code should be readable, with proper indentation and line breaks (lines that don't wrap around). DrScheme/MzScheme will do proper indentation for you automatically (but not line breaks).
Unless otherwise noted, do not add error-handling to your code. Assume that your programs are run on data that conforms to their contracts.