University of Calgary

tiny basic mark guide

Tiny Basic Interpreter
created by: Katrin Becker, 1999
adapted from: ACM programming contest problem set

Marking Guide


o We will be looking for the usual good, clean design; documentation, etc. as always.
o In order to pass it must work. (Some marks will be given to all *reasonable* attempts, working or not)
o external documentation IS DEFINITELY necessary on this one; it must include:
o an outline of the main algorithm including the key data structures (diagram is best)
o an outline for each major task in the main algorithm
o input to the program should be done using command-line arguments
o division into classes should be reasonable (can you justify your choices?)
o do you have some sort of debugging facility built in?
o does your program read and recognize tokens?
o can it classify them correctly into descriptors (or some reasonable alternative)?
o do you have some sort of "memory"?
o are the Scanner and Interpreter logically separate?
Important Note: if your program does not function properly it is possible to verify that some parts work if you have produced a reasonable trace (see sample solution)
 
Assessment:
A = Excellent

B = Good
 
C = Average
Didn't use classes or only 1 class: maximum grade = C
All classes in one big file (i.e. no separate compilation): maximum grade = C
 
D = Not Working
The following lists maximums for programs with various problems. For a non-working program to get a C it must be above average in other respects (like design, documentation, etc.)
Won't compile
major problems or TA can't see why: maximum grade = D
minor problems: maximum grade = C
Program blows up:
major problems or TA can't see why: maximum grade = D
minor problems: maximum grade = C+
 
-obviously inefficient, poor design, poor documentation, unjustified deviation from specs will result in a loss from the full letter grade to the 'minus' (C becomes C-)


Updated: August 5, 2005 07:08 PM