Code Rubric DDP v3

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

DDP: Code Rubric

The purpose of this rubric is to ensure that programming assignments are following the appropriate standards and format.

Criteria

Unsatisfactory

Satisfactory

Good

Excellent

(20) The program works and


produces the correct results,
correctly handles most special
cases and displays them correctly.
It also meets most of the
specifications.
Thorough testing has been
completed.

(30) The program works and meets all of the


specifications.
The program runs and completes all required
tasks
Program correctly handles all specified test
cases and additional special cases.
Program contains error checking code.

(7) Code is formatted using


common tabbing.
Multiple coding conventions
(inconsistencies) are being used.
Some inadequate or wasted
space.
(7) Unambiguous naming.

(10) Code is correctly tabbed and all elements


are neatly organized.
Coding conventions are consistently followed
throughout the program.
Consistent indentation; good use of white
space
(10) Meaningful identifier names [some single
letter names are OK, such as i,j for indices].
Explanations of identifiers where appropriate.

(7) Some of the code could be


reused in other programs
(possibly a class).
No global variables.

(10) The code was developed in such a way


that either the whole or some of the
supporting classes could be reused.
Code structure has perfectly followed
guidelines. Short code segments, proper use
of functions. No code redundancy.
No global variables.

(30) Correctness
(30) Correctness and
Specification: How
correct is the output
of the program.

(5) The program does not execute (10) The program produces
due to errors
correct results but does not
Incorrect results for most or all
display them correctly.
input.
Program works and completes
The program performs tasks that
most tasks appropriately.
it was not supposed to perform.
Program executes without
No evidence of testing.

errors for pre-specified test


cases.
Program fails to work for
special cases

(40) Quality of Code


(10) Code
Organization and
Readability

(3) No organization of code or no (5) Disorganized tabs and spaces


coding conventions seem to exist. Only readable by someone who
Misleading indentation; too much
knows what it is supposed to be
or too little white space
doing
Very difficult to read

(10) Identifier
Names

(3) Meaningless or misleading


names.
Variables/methods are used
inappropriately.
(3) The code is not organized for
reusability. No reuse potential.
Too much redundancy in code.
Many global variables.
Long code segments, improper
usage of functions, functions with
side effects.

(10) Reusability:
Functions, methods
or classes used in
solution when
necessary

DDP: Code rubric

(5) Some poor choices of naming.


Most identifiers explained where
appropriate.
(5) Some parts of the code could
be reused in other programs
(individual methods).
Occasional code redundancy.
Few global variables.

v1/DN/2014

(10) Efficiency

(3) Program uses a difficult and


inefficient solution. Programmer
has not considered alternate
solutions.
The code is huge and appears to
be patched together.

(5) Program uses a logical solution


that is easy to follow but it is not
the most efficient. Programmer
has considered alternate
solutions.

(7) Program uses an efficient and


easy to follow solution (i.e., no
confusing tricks), without
sacrificing readability and
understanding.
Programmer has considered
alternate solution and has chosen
the most efficient.

(10) Program uses solution that is easy to


understand and maintain.
Programmer has analyzed many alternate
solutions and has chosen the most efficient.
Programmer has included the reasons for the
solution chosen.

(7) Most logical blocks


documented
(7) The purpose of all variables is
clearly explained.
The purpose of each method is
described.
Comments provide some
assistance with understanding the
code.

(10) Documentation for each function and


loop and logical block
(10) Includes name, student ID, date, and
assignment title.
Clear and complete documentation.
Contains required heading with program
description.
Appropriate use of comments.
The purpose and constraints of every variable
and method are described.
Comments for code segments make the code
easy to follow.
Specific purpose is noted for each control
structure, input requirements, and output
results.

(7) Program runs reasonably well.


Knew what they were doing.
Submitted code matches demo.

(10) Demo went well; major features shown


and explained.
Demonstrators clearly understood their work.

(20) Documentations
(10) Logical Blocks
(10) Commenting

(3) Few or no logical blocks


documented
(3) No name, student ID, date, or
assignment title included
No comments included or other
documentation provided
Comments are too general

(5) Header is appropriate


Comments are included but
poorly described.
Most method are commented.

(10) Demonstration
(10) Demonstration

DDP: Code rubric

(3) Program won't run or crashes


unexpectedly. Submitted code
seems different from that
demonstrated. Programmers
seemed confused by the program
they were demonstrating.

v1/DN/2014

You might also like