CS 115 Project 3 Full Grading Sheet


Correctness (60 points)

Input and Output Files (10 points)

FunctionalityPoints
Exits the program with error if the user supplies a bad input filename4
Exits the program with error if the user supplies a blank input filename2
Prints an error message if the user supplies a bad output filename4

Processing Steps (50 points)

For each transformation, you get 5 points if it works on the provided sample image and 5 more if it works on an arbitrary image.

FunctionalityPoints
Displays the image correctly5
Displays the menu correctly 5
Transforms the text in clicked button correctly 5

Follows the display sequence correctly

(Display image, followed by menu, followed by button text changing and finally the transformed image)

5
Invert transformation works 10
Sepia transformation works 10
Shuffle transformation works 10

 

Programming Style (30 points)

Docstring (3 points)

[3]There is a docstring at the top of the submitted file with your name (first and last), the course (CS 115) and assignment (Project 3), and a brief description of the program.
-1Missing name
-1Missing or wrong course and/or assignment
-1Missing or wrong description

Usage of functions (5 points)

[5]Program is broken up into logical, well-defined functions. Functions perform specific, well-defined jobs and have descriptive names. Functions are no more than 20 lines of code.
-1Minor lapses
-3Major flaws
-5Program does not have student-written functions

Function parameters and return values (5 points)

[5]Functions have no more parameters than necessary to do their jobs. Return values are used appropriately.
-1Minor flaws
-3Major flaws
-5Program does not have student-written functions

Function documentation (5 points)

[5] Each function includes a docstring explaining the job it does, its input parameters, its return value, and any assumptions it makes about its inputs. See drift_graphics.py for examples.
-2Minor lapses
-3Some functions do not have comments
-5Most functions do not have comments

Other documentation (3 points)

Not counting the docstrings for your program and functions, your program should contain at least three comments explaining aspects of your code that are potentially tricky for a person reading it to understand. You should assume that the person understands what Python syntax means but may not understand why you are doing what you are doing.

3 pts.You have at least 3 useful comments (1 point each)

Variable declarations and naming (4 points)

[4]All variables have descriptive names that indicate what they are used for
-2Variable declarations uncommented
-2Variable names do not indicate what the variable is used for

Algorithm (5 points)

2 pts.Your algorithm is straightforward and easy to follow.
3 pts.Your algorithm is reasonably efficient, with no wasted computation or unused variables.

Catchall

You will lose 5 points for having ANY statements outside of a function definition. There are only three exceptions to this rule:

For students using language features that were not covered in class, up to 5 points may be taken off if the principles of programming style are not adhered to when using these features. If you have any questions about what this means, ASK!