|
|
Your score |
Max score |
Coding style (marks may be awarded independent of program
functionality)
|
|
|
|
Appropriate use of white space
(source code) |
|
2 |
|
Self-documenting variable,
constant and function names. |
|
3 |
|
Use of named constants as
appropriate |
|
2 |
|
Boolean and mathematical
expressions are simple and easy to read |
|
4 |
|
Deals with
errors in a helpful and positive manner (repetition/looping notes
slide #64 - 65) |
|
2 |
|
Output is neat and presentable |
|
2 |
|
Penalty: Global variables
employed |
|
-4 |
|
Penalty: excessive redundancy
in code (e.g., cut and paste code instead of a loop) |
|
-4 |
|
Penalty: functions aren't
written according to principles taught in lecture (decomposition notes
slide #70 - 71) |
|
-4 |
|
Penalty: functions not
employed in the assignment, maximum grade point that can be awarded is
1.7 regardless of other style and functionality considerations) |
|
|
|
Sub total
|
|
15
|
Documentation (marks may be awarded independent of program
functionality)
|
|
|
|
Header documentation contains
overall description of program. |
|
1 |
|
Some form of versioning system
is demonstrated in the header documentation |
|
1 |
|
Provides a list of the
specific program features that were implemented |
|
1 |
|
Lists the program limitations |
|
1 |
|
Each function documented (see
decomposition notes slide #71 for details) |
|
3 |
|
Penalty: Name and tutorial
section not included at top of program |
|
-4 |
|
Sub total
|
|
7
|
Functionality (only qualify for these marks if the program runs)
|
|
|
|
Gets the text that is to be
encrypted |
|
1 |
|
Prompts for number and
direction of shifts |
|
1 |
|
Prompts for option to turn on
debugging mode |
|
1 |
|
Displays original text |
|
1 |
|
Displays 'encrypted text'
(encryption not necessarily working but the modified text should be some
modification of the original text and not hard coded) |
|
2 |
|
Debug mode implemented
(encryption may not yet work but ASCII values correct) |
|
6 |
|
Encryption (maximum 12
marks) |
|
|
|
|
Max 12 marks for encryption
(only one of the four cases below is applicable) |
|
|
|
|
1) Can shift forward or
backward by one (alphabet wrapping not working): 4 marks |
|
|
|
|
2) Can shift forward or
backward by one (alphabet wrapping working): 8 marks |
|
|
|
|
3) Can shift forward or
backward by one or greater (alphabet wrapping not working): 6 marks |
|
|
|
|
4) Can shift forward or
backward by one or greater (alphabet wrapping working): 12 marks |
|
12 |
|
Ignores the
special characters: ! . ? , ' SPACE (half mark each) |
|
3 |
|
Program can detect
invalid characters: detection |
|
2 |
|
Program stops the
encryption process and terminates execution when invalid characters
detected (requires previous feature to be implemented): correct reaction |
|
4 |
|
Program can
decrypt text (requires that one of the four encryption cases works) |
|
6 |
|
Sub total |
|
39 |
OVERALL ASSIGNMENT TOTAL
|
|
61
|
Grade Point for assignment
|
|
4.0
|
*To get marks for these features your program needs to display these values
onscreen