CS100M Fall 2001: Project 5 Grading Guide

CS100M Fall 2001: Project 5 Grading Guide

CS100M Fall 2001: Project 6 Grading Guide

Notes

  • Please carefully review all notes written on your grading form and project
  • Find the codes for these notes below
  • Try to understand why you received the note so that you may avoid it in your next project

Scores

  • c and s stand for correctness and style: see table below
  • For each class not included, remove points associated

Question 1:

For Written Description: 6 correctness

For class Account: 5 correctness, 2 style

For class Bank : 7 correctness, 1 style

For method main: 7 correctness, 1 style

Question 2:

9 correctness, 1 style

category /

Points

0 / 1 / 2 / 3 / 4 / 5
correctness / Nothing turned in / c8 / c=6,7 / c=5 / c=3,4 / c=1,2
style / Nothing turned in / s5 / s=4 / s=3 / s=2 / s=1
  1. General

(s1a) correctly filled out grading form provided for each partner, as cover sheet.

(s1b) title sheet and table of contents provided.

(s1c) pages typed, numbered, correctly bound.

(s1d) proper code indentation using named constants and comment, no line chopping

  1. Question 1

Written Description

(c2a) If not present, students get 0 for this portion of assignment

(c2b) Less than one page

(c2c) Describes all classes for Question 1

(c2d) Lists and describes the instance and class variables for each class

(c2e) Lists and describes the instance and class methods for each class

(c2f) Describes the kinds of errors the program will handle

(c2g) Is well-organized

Account class

(c3a) Has instance variables name (String), phone (String), balance (double), acctID (int)

(c3b) Variables are private
(c3c) Has toString() method
(c3d) Meaningful names for methods (eg. withdraw, deposit, interest… )

(c3e) Methods display meaningful error messages upon invalid transactions

(s3a) Does not contain an array for all the accounts or any related methods

(s3c) In-concise code

Bank class

(c4a) Has constant for maximum number of customers ( = 30 ).

(c4b) Contains an array of Account references

(c4c) Has method findAccount (or equivalent)

(c4d) Has toString method or equivalent method to display information about accounts

(c4e) Meaningful names for methods (eg. withdraw, deposit, interest… )

(c4f) Methods display meaningful error messages upon invalid transactions

(c4g) Has judicious methods to simplify main for driver, eg. method to create an account

(s4a) In-concise code

Driver Portion (Optional as Class)

/* (c5a) Information for output not excessively hard-coded */

All required output shown:
(c5b) Creates requested accounts

(c5c) Prints status for all existing accounts

(c5d) Performs requested transactions

(c5e) Prints status of existing accounts

(c5f) Performs interest calculations

(c5g) Prints status for all existing accounts

(s5a) Method main simplified with method calls

Bonus: Extra effort in making driver pleasant to use, and otherwise robust

  1. Question 2
Sub-class Cat

(c6a) ‘extends’ is used correctly in method declaration

(c6b) ‘super’ is correctly used in constructor

(c6c) method purr uses displays specified numbers of “r’s”

(c6d) method act randomly chooses between purr and super.act

Sub-class Dog

(c6e) ‘super’ is correctly used in constructor

(c6f) Method wag is correct and correctly displays number of “wags”.

(c6g) “woofs” is used in place of “speak” in speak method

(c6h) method act randomly chooses between wag and super.act

Sub-class Dogcow

(c6i) ‘super’ is correctly used in constructor

(c6j) method speak randomly chooses between “moofs” and super.speaks

(c6k) speaks method is not called directly.

Main

(c6l) Creature objects are modified

(c6m) In-concise code

(c6n) Output included

  1. Miscellaneous

(c7a) Code is nicely organized

(c7b) Class designs make sense for an OOP point of view (eg. Methods belong where they are)

(c7c) Miscellaneous

(s7a) Syntax related mistakes

(s7b) Miscellaneous

NOTE: Question 2 does not count towards your score for Project 6