|
|
Your score |
Max score |
Coding style (marks independent of program functionality) |
|
|
|
Follows good programming conventions common to all programs (e.g.,
Appropriate source code white space, self documenting names,
clear/simple expressions, methods implementing one task/max 30 lines of
code, appropriate used of named constants): Never (0), Sometimes (4),
Often (8), Mostly (12), Always (14) |
14 |
14 |
|
Follows good Object-Oriented conventions |
|
|
|
|
Information hiding: Never (0), Sometimes (1), often (2), Mostly (3),
Always (4) |
4 |
4 |
|
|
Class attributes are logical to the definition (e.g., not variables that
are just local to a method but belong to each instance): Never (0),
Sometimes (2), Often (4), Mostly (6), Always (8) |
8 |
8 |
|
|
Each class (save the "Driver")
consists of at least 3 methods |
6 |
6 |
|
|
Program decomposition into classes is logical e.g.,
Driver does not include code for the user
interface |
5 |
5 |
|
|
Static variables employed (debugging flags excepted), -4 marks each
instance with a max of 12 marks lost |
|
-12 |
|
|
The code for the classes are not included in its own file (-3 each
instance, max of 15 marks lost): Driver, UI, Manager, Node, Movie |
|
-15 |
|
Sub total |
37 |
37 |
Documentation (marks independent of program functionality) |
|
|
|
Header documentation includes full name and tutorial section |
8 |
8 |
|
Some form of versioning system is demonstrated in the header
documentation |
2 |
2 |
|
Each method is documented (similar to documentation for the entire
program but applies only to that method) |
6 |
6 |
|
Program limitations documented |
2 |
2 |
|
Program features documented (cut and paste out of the assignment
specifications acceptable but it MUST be detailed, clear and
specific...the marker must be able to know exactly what features in this
marking key were actually working) |
20 |
20 |
|
Sub total |
38 |
38 |
Functionality and design (only qualify for these marks if the program
runs: note some features obviously requires other features to be
implemented before credit will be granted) |
|
|
|
Displays intro |
2 |
2 |
|
Displays signoff conclusion |
2 |
2 |
|
Defines Movie class |
2 |
2 |
|
Defines MovieNode class |
2 |
2 |
|
Defines Manager class |
2 |
2 |
|
Defines UserInterface
class |
2 |
2 |
|
Declares and properly initializes list 'head' |
2 |
2 |
|
Displays main menu (add, remove nodes etc.) |
2 |
2 |
|
Program repeats (1) until user quits, checks validity of options (2)
quit menu option working (1) |
4 |
4 |
|
Adds movie (marks will only be granted to one version of this feature) |
20 |
20 |
|
|
Simple version: adds to end of list (max of 4 marks) |
|
|
|
|
Advanced version: adds in order (max of 20 marks) |
|
|
|
Checks genre, allows user to cancel add |
10 |
10 |
|
Checks rating, allows user to cancel add |
10 |
10 |
|
Displays list |
10 |
10 |
|
Search list |
20 |
20 |
|
Removes movie (marks will only be granted to one version of this
feature) |
20 |
20 |
|
|
Simple version: removes movie from end of list (max of 4 marks) |
|
|
|
|
Advanced version: removes desired movie (max of 20 marks) |
|
|
|
Order reverse display of list |
15 |
15 |
|
Subtotal |
125 |
125 |
|
|
|
|
|
|
|
|
|
|
|
RAW TOTAL |
200 |
200 |
|
GPA |
|
4.3 |
4.3 |