Introduction to Computer Science for non-Majors II James Tam Return to the course web page

CPSC 219: Assignment 4 (Marking Key)

    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
 
  • 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)

   
  JPasswordField used to get password   2
  Can register and implement some1 working code for password field   2
  Can register and implement some1 working code for login button   2
  Password is read in from input file   4
  Password is decrypted: 'a' through 'y'   8
  Decrypts special case: 'z'   2
  Program can properly compare passwords (registers event and compares strings)   4
  Count and displays attempts   4
  Shuts down program if number of attempts exceeded   4
  Shuts down program if login dialog closed   2
  Marks for above functionality features halved if login dialog is not separate from main window    
  Main shopping window (JFrame) appears if login successful   8
  Can register and implement some1 working code for save button   2
  Can register and implement some1 working code for clear button   2
  Main shopping window uses GridBagLayout to handle layout   8
  Layout & alignment of controls in shopping window: Major issues (0) Minor issues (4) No issues (6)   6
  Images (using ImageIcon) for each button (2 marks each)   4
  Image (using ImageIcon) for company logo   2
  Proper labels (using JLabels) of appropriate controls (1 mark each x 3 labels on main and login windows)   3
  Save button retrieves data of two input fields when pressed   8
  Save button changes title of frame when pressed (must be visible to user)   6
  Save button saves data to the correct file (2 marks lost if not formatted properly)   8
  Clear button clears the two input fields   10
  Shuts down program if main shopping window closed   1
 

Subtotal

 

102

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

OVERALL ASSIGNMENT RAW TOTAL

 

166

GRADE POINT

 

4.0

1 Any functionality that produces a visible result to the marker will qualify e.g., output message via println(). The key is that the functionality is invoked only when the corresponding event is raised (such as a button press). If a student correctly implements the functionality (e.g., saving to file) then marks can be awarded for these categories and the functionality awarded for the feature.

2 These penalties are cumulative so if a program was written using only one class and was full of static methods then the student's program functionality mark would quartered.

Min raw score GPA
0 0
35 0.7
45 1
50 1.3
55 1.4
60 1.5
65 1.6
70 1.7
75 1.8
80 1.9
85 2
90 2.1
95 2.2
100 2.3
105 2.4
110 2.5
115 2.6
120 2.7
125 2.8
130 2.9
135 3
138 3.1
141 3.2
144 3.3
147 3.4
150 3.5
153 3.6
156 3.7
159 3.8
162 3.9
165 4