Project 1 Grading Guidelines
Due date: Tuesday, 10/7
In the discussion sections our TAs suggested a certain way of breaking up
the project into manageable chunks.
Here is a grading scheme we will use for the project that is based on this breakup.
Your program is expected to perform correctly at one of 4 levels and your program
will be graded out of the points corresponding to the highest level your program correctly
works at.
- Level 1: (Points: 30) buildDict works correctly. Specifically, buildDict
correctly reads the text files provided, constructs a dictionary, and correctly outputs it.
The wordList class has the functionality specified in the project handout; for
example, wordList should contain a sorted sequence of words and the 4 functions
mentioned in the handout should exist and work correctly.
- Level 2: (Points: 50) In addition to Level 1 performance, a limited version of
the spellCheck program, that I shall call spellCheck 1.0 works correctly.
spellCheck 1.0 reads the document the user wants spell checked
and simply produces a list of misspelled words. There is no interaction with the user and the
map class need not exist. Also, no corrected output file is produced.
- Level 3: (Points: 75) In addition to Level 2 performance, a version of the spellCheck
that provides limited interaction works correctly.
This version, which I will call spellCheck 1.1, interacts with the user but only
supports the options (R), (I), and (E).
A corrected output file is produced.
Thus, user options (P) and (N) are not supported and there is no need for the
map class.
- Level 4: (Points: 100)
At this level all the functionality required by the Project 1 handout are provided.
In this version, all options (R), (P), (I), (N), and (E) are supported and the
map class exists and works correctly.
For example, if you submit a correctly working buildDict and spellCheck 1.0
then your program will be graded out of 50 points. It is not guaranteed that you will
get 50 points because we will consider other factor such as efficiency (e.g., binary search
and not linear search is used to search the dictionary) and design of classes (e.g., copy
constructors and destructors should be provided, if necessary).
Additional Notes.
-
Along with your program files you are required to submit a file called README
that contains two pieces of information: (i) the highest level your program works at
correctly and (ii) a list of bugs in your program known to you.
-
Make sure that the names you give to your program files are exactly as specified in the
project handout.
We will automate the process of grading and your project will not be graded if the names are
different from what we expect.
-
Programs that do not compile will not any points.