However, if you hand in an assignment early and later realize that you forgot something, or did something wrong, then you may submit a revised version provided (a) you clearly mark the revised version as revised and (b) do this before the assignment's due date.
Also, we reserve the right to be irritated if you engage in too much of this.
Use indentation and line breaks to make your code easier to read: doing so may help you in getting things to work, and it will certainly help us in grading. We will take off points for bad formatting. Emacs provides support for indenting code: make use of it.
Use a fixed-width font (e.g., courier) for printing code and transcripts.
Give a complete (unedited) transcript of your interactions — just highlight (or mark with pen/pencil) the relevant pieces to be graded.
The design recipe gives you a fairly simple scheme for presenting Haskell code, comments, examples, and tests. (Look here for a simple example.) Deviating too far from this scheme will result in your assignment losing points. We will have more on this as the course progresses.
Labs will typically have a list of things to submit. For example, we may want (1) test runs of some Haskell code and (2) a written explaination of why the results turned out as they did. Submitting (1) but omitting (2) will result in bunches of points being lost. Submitting (1) and submitting a poorly presented (2) (e.g., bad spelling, bad formatting, ...) will result in lost points also.
- 35% — Examples and tests
- Are your examples informative?
Do your examples and tests cover key cases?
Are you testing each part of your program?- 45% — Code
- Is it complete?
Is it correct?
Is it clear and readable?
Is it extraordinarily good/bad?- 20% — Sundries
- Did you violate our general expectations for homeworks?
(in a way not covered by the examples/tests and code sections)
Are your purpose statements accurate?
- 35% — Tests
- Are they complete and correct?
- 45% — Code
- Is it complete and correct?
Is it clear and readable?- 20% — Sundries
- Did you follow the lab's directions?
Did you violate our general expectations for labs?
(in a way not covered by the tests and code sections)