General Homework Submission Requirements
Introduction
This document outlines the rules you should follow when submitting a homework assignment for grading. These rules will simplify the grader's job by standardizing the form and appearance of submissions. Any of these rules can be overridden by a particular assignment but, if the assignment doesn't say otherwise, follow each of them.
Forms of Submission
When you are asked to submit a set of files, you must submit them in two forms: electronically and hard copy.
- electronically:
- Log in to the 810:062's electronic submission system using your CNS username and password.
- Select the desired assignment.
- Follow the instructions given to upload the required files and, if allowed for that assignment, any optional files.
- hard copy:
- Print a hard copy of each file.
Your print-out should fit on standard 8-1/2"x11" paper printed upright, with no line wrap.
If you would like to save paper, you may print your files "2-up".
- Assemble them in the order specified by the assignment.
Yes, the order of the files matters.
Paper clips, folded corners, and nothing at all are not acceptable.
- Bring the hardcopy to your next class period.
Electronic submissions will generally be due early on the morning of a class day. Unless told otherwise, you must submit your hardcopy at the beginning of our next class meeting.
Documentation
Document each file with a header block that includes at least:
- the file's name,
- your name,
- your CNS userid,
- the name of the file's original creator (if not you), and
- a modification history that lists the date of each change to the file and the change made.
Here's an example:
//
// FILE: Ball.java
// AUTHOR: Mark Fienup -- fienup@cs.uni.edu
// DATE: 08/31/05
// COMMENT: Factored out of Budd's Ball class state and paint behavior.
//
// MODIFIED: 08/31/05 by Mark Fienup
// CHANGE: Added a getColor() accessor.
//
Your block need not look exactly like this, but it should contain the same information.
Style
I do not require you to follow a lot of specific style rules, but I do ask you to follow several basic guidelines to improve the readability of your code.
Indent your code to indicate that one expression is subsidiary to another. For example, say this:
for (int i = 0; i < 10; i++)
System.out.println( i );
instead of this:
for (int i = 0; i < 10; i++)
System.out.println( i );
- Indent consistently. Indent all for statement bodies the same number of characters. Indent all if statement bodies the same number of characters. Be consistent within a single file and across multiple files. Adopt some conventions that you like, and stick with them.
- Use names that say what they name. For example, numScores is a better name than n, and numberOfScores is better yet. By convention, we use single-letter variable names in only one context: as (loop) index variables.
- Use uppercase characters to begin the names of classes. Use lowercase characters to begin the names of methods and instances. Use embedded uppercase characters in all names as a way combine mulitiple words in the same name, such as in numberOfScores.