Course web page: Introduction to Computer Science for non-majors II James Tam | Return to the course web page |
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 | ||
Follows good Object-Oriented conventions | |||
Information hiding (nested listener classes excepted): Never (0), Sometimes (1), often (2), Mostly (3), Always (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 | ||
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), listener classes excepted | |||
Sub total | 26 | ||
Documentation (marks independent of program functionality) | |||
Header documentation includes full name and tutorial section | 8 | ||
Some form of versioning system is demonstrated in the header documentation | 2 | ||
Each method is documented (similar to documentation for the entire program but applies only to that method) | 6 | ||
Program limitations documented | 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 | ||
Subtotal | 38 | ||
Functionality (only qualify for these marks if the program runs: note some features obviously requires other features to be implemented before credit will be granted) | |||
Main shopping window (JFrame) appears when program runs | 2 | ||
Can register and implement some1 working code for save button | 4 | ||
Can register and implement some1 working code for clear button | 4 | ||
Main shopping window uses GridBagLayout to handle layout | 15 | ||
Layout & alignment of controls in shopping window: Major issues (0) Minor issues (4) No issues (6) | 6 | ||
Images (using ImageIcon) for each button (4 marks each) | 8 | ||
Image (using ImageIcon) for company logo | 4 | ||
Proper labels (using JLabels) of appropriate controls (2 mark each x 3 labels on main window) | 6 | ||
Save button retrieves data of two input fields when pressed | 20 | ||
Save button changes title of frame when pressed (must be visible to user) | 10 | ||
Save button saves data to the specified filename (Half marks lost if not formatted properly) | 10 | ||
Clear button clears the two input fields | 20 | ||
Shuts down program if main shopping window closed | 2 | ||
Subtotal | 111 | ||
Design requirements (may modify the raw functionality score) | |||
Implements static methods (other than 'main()') | Divide functionality marks by two2 | ||
Program consists of only one class (style marks will also be lost) | Divide functionality marks by two2 |
RAW TOTAL | 0 | 175 | ||
GPA | 0 | 4 | ||
1 Any working functionality will allow credit to be awarded | ||||
2 The penalties are cumulative |
Min raw score | GPA |
0 | 0 |
20 | 0.7 |
30 | 1 |
35 | 1.3 |
40 | 1.4 |
45 | 1.5 |
50 | 1.6 |
55 | 1.7 |
60 | 1.8 |
65 | 1.9 |
70 | 2 |
75 | 2.1 |
80 | 2.2 |
85 | 2.3 |
90 | 2.4 |
95 | 2.5 |
100 | 2.6 |
105 | 2.7 |
110 | 2.8 |
115 | 2.9 |
120 | 3 |
125 | 3.1 |
130 | 3.2 |
135 | 3.3 |
140 | 3.4 |
145 | 3.5 |
150 | 3.6 |
155 | 3.7 |
160 | 3.8 |
165 | 3.9 |
170 | 4 |