Assignment Submission Standard

Expectations

The purpose of this standard is to clarify the assignment requirements, simplify the grading process, and reduce student uncertainty.

·       No assignment can include hand-written material, including changes written onto printed output, except for brief hand-written identification of test cases on the output keyed to the Test Plan (light editing of the output is preferred).

·       All material must be printed on white 8½ by 11 inch paper in black by a printer in good condition, either ink-jet or laser or another printer of comparable print quality.

·       If a submission cannot be read, it cannot be marked.

Packaging

If the lab is submitted in an envelope, it must be submitted in an unsealed page size paper envelope
(9 by 12 inches) that is labeled with the following information:

·       Student name and number

·       Course name and number

·       Assignment number (and name)

·       Lab Section

·       Professor's Name

·       Submission Date

Online submission (e.g. directory, email, FTP, diskette/USB, Blackboard)

Submissions are normally done as paper documents, but may be requested online:

·       A submitted file must have a filename that clearly identifies the student (for example, it includes the userid) or the project team (team name or number)

·       A submitted file must not contain object or executable program files

·       A Linux/Unix file submitted to a shared directory must have rw- permissions set for Other

·       A Linux/Unix file submitted by FTP, or diskette/USB must have rw- set for the User and be placed into the required directory

·       A submitted tar file must have internal file permissions set to rw- for User, or rwx for directories

Cover Page

All assignment submissions must begin with a cover page section with the following information:

·       Student name and number

·       Professor's name

·       Assignment number (and name if any)

·       Due date of assignment

·       Course name and number

·       Submission date of assignment

·       Lab section number

·       Table of contents (list of files / listings in order; page numbers are not required)

Program Analysis and Design Document

This is a separate document (and a separate file) from any program listing. It may be required to be submitted before the program itself is written so that it can be approved before coding begins.

·       Problem Statement (the Requirements of the problem to be solved)

·       The Problem Description Language (PDL, or Pseudocode) description of the problem solution (the WHAT of the solution -- the HOW is the actual program code)

·       Data Dictionary (key variables and their purpose)

·       [Optional] Structure charts, flow charts, hierarchy diagrams or other visual aids (to assist in understanding the problem solution)

·       Detailed Test Plan (showing both test input and expected result for each test case)

·       Samples of program output (design of program output if it needs clarification)


FILE HEADER (one per program file)

A complete program may include several source files, each of which requires a File Header.

Item

Comments

·       Big Separator

/*****************/ to page width

·       Filename

But not the path unless it's essential

·       Version

Program version number (change history)

·       Author/Student Name

 

·       Student Number

 

·       Course Name and Number

 

·       Lab Section

If the Course Section is not implied, include it as well

·       Assignment Number

As provided by the instructor

·       Assignment Name

If the instructor has given it a name

·       Due Date

 

·       Submission Date

 

·       Professor's Name

 

·       Purpose

A brief prose description for the file, just a few lines.

·       Big Separator

/*****************/ to page width

FUNCTION HEADER (one per function, including main() )

By necessity, a Function Header must be created for each function that is written as part of the complete assignment.

Item

Comments

·       Big Separator

/******************/ to page width

·       Function name

 

·       Purpose

A brief description

·       Function Inputs

Arguments and parameters

·       Function Outputs

Returned value(s)

·       Version

Function version (change history)

·       Author/Student Name

Or attribution if not written by the student

·       Big Separator

/******************/ to page width

Sample Submission

The typical assignment submission should include each of the items below:

·       Cover Page

   -    Table of Contents

·       Program Analysis and Design document

   -    Problem Statement

   -    PDL by function

   -    Data Dictionary

   -    Diagrams or flowcharts

   -    Detailed Test Plan

   -    Sample output

·       Program source file listings

·       Build instructions (if necessary, such as Project file or Makefile)

·       User documentation

·       Test results (lightly edited actual program output)

Marks are awarded for more than simply a working program. Each item above may receive marks if well done, or lose them if omitted or of poor quality. Even grammar and spelling matter, although they are not usually graded.