Poor 4 -6 

Good 7-8 

Excellent 9-10

Enter your text here...

An incomplete

solution is

implemented on

the required

platform. It does

not compile

and/or run. 

Runs, but has logical errors.

Apply poor if program does

not use 2D array or has

multiple incorrect results

A complete solution is

tested and runs but does not

meet all the specifications

and/or work for all test

data. Apply good if

program misses one data

entry line

A completed solution

runs without errors. It

meets all the

specifications and works

for all test data

Few of the

selected structures

are appropriate.

Program elements

are not well

designed. Only 1-

2 functions


Not all of the selected

structures are appropriate.

Some of the program

elements are appropriately

designed. Several functions


The program design

generally uses appropriate

structures. Program

elements exhibit good

design. Only 1-2 functions


The program design uses

appropriate structures.

The overall program

design is appropriate

Functions have efficient

algorithms, pass

parameters correctly





indentation, and or

poor identifier


Program is minimally

documented; some

identifiers are inappropriate

or inconsistent indentation

Some required

documentation is missing,

or identifiers are

inappropriate, or statements

are not indented correctly.

All required

documentation is

present, the program is

correctly indented, and

appropriate identifiers

are selected.

User interaction is

incomplete and

does not meet

specifications. No

user interaction


User interaction minimally

meets the specifications, but

does not increase the

usability of the program.

Prompts confusing and

output difficult to read, no

data validated


User interaction generally

meets the specifications

and is acceptable to the

user. Something about

interface could be


Good prompts, headings

data validated, labels,

formatting and white

space good

Enter your text here...

Missing most or

all items.

Missing 2-3 items 

all items.

Missing only input files or

only output files.

All required materials

turned in.