Lecture notes for Computer Science I by James Tam Return to the course web page

CPSC 231: Assignment 5 (Marking)

Score Letter
A 85 - 88
A- 81 - 84
B+ 76 - 80
B 71 - 75
B- 66 - 70
C+ 61 - 65
C 51 - 60
C- 41 - 50
D+ 31 - 40
D 21 - 30
D- 11 - 20
F 0  - 10

Note: Under extraordinary circumstances a grade of "A+" (4.3 GPA) may be awarded for this assignment (see below).

SUBMISSION REQUIREMENTS

Item

Grade

Effect on grade

Insufficient or missing contact information in the body of the email   Maximum of 2 marks lost1
Incorrect or missing information in the subject line of the email   Maximum of 4 marks lost1
README file provides in a clear and correct list of the features that were implemented   3 marks
TOTAL   3 marks max
1 (Getting any marks for the assignment assumes of course that we can still figure out who you are)  

PROGRAMMING STYLE

 

Actual mark

Max

  Naming conventions   1
  Appropriate use of named constants   1
  Layout and appearance of the source code (Python program)   1
  Functions have a single well-defined task (6 = all, 4 = most, 2 = some, 0 = no functions)   6
  Global variables are used in place of parameter passing and function return values (increased frequency of use results in an increased penalty (debugging flag excluded)   Max 6 marks lost
  TOTAL   9
     

DOCUMENTATION

 

Actual mark

Max

  Program versioning employed   1
  Clear and correct list of program features inside program   1
  Description of the program limitations   1
  Each function is properly documented (3 = all, 2 = most, 1 = some, 0 = none)   3
  There is some synopsis that provides overall documentation for the entire program   2
  TOTAL   8
     

PROGRAM FUNCTIONALITY

 

Actual mark

Max

Program setup

  9
  Definition of class Person   3
  Definition of class Obstacle   2
  Definition of class Empty   2
  Variable 'city' properly declared and initialized as a list of references to objects   2
       

File input and output

 

14

  Program can read the starting positions from a file of a single fixed size (e.g., 8 x 9 for "data.txt")   2
  The name of the input file can be passed to the program as a command line argument   4
  The program can read from an arbitrary sized (but rectangular) input file with the city size dynamically determined from the file size.   6
  The program properly handles the empty file case   2
       

Display of the simulation

 

10

  The starting positions of the objects are the same as the characters in the input file (and in the appropriate row-by-row fashion thereafter - as is the case with the sample output files)   2
  Each list element is bounded: above, below, left and right   2
  Each list element is annotated with vertical and horizontal numbering   2
  The vertical and horizontal numbering is dynamic and works for an arbitrary sized city (max 36x36)   4
       

Statistics displayed

  11
  Number of healthy people   2
  Number of infected   2
  Current population   1
  Current mortalities   2
  Total mortalities   1
  Infection rate   3
       

Other program features

 

24

  Simulation runs for a time period specified at the command line as the program runs (2 marks if it runs for a fixed number of hard-coded time units, 4 marks if the simulation time can be specified as a command line argument + 1 additional mark if it can also properly handle negative time units)   5
  Display the current time and the simulation end time   1
  The state of the infection advances   8
  The rules for births has been properly implemented   8
  Debugging mode implemented   2
       

TOTAL (PROGRAM FUNCTIONALITY)

 

68

 

Special case: The program has been awarded full marks for style and documentation, submission requirements properly fulfilled and the simulation either uses QuickDraw (graphical display) or the 'disaster response plan' has been implemented: A+ grade.

TOTAL MARKS

 

LETTER GRADE