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.

Your print-out should fit on standard 8-1/2"x11" paper printed upright, with no line wrap. Yes, the order of the files matters. Paper clips, folded corners, and nothing at all are not acceptable. 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:

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.

	    	for (int i = 0; i < 10; i++)

  	  	System.out.println( i );
  1. 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. 
    	
  2. 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.
  3. 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.