CSC220A - Assignment Evaluation - Fall 2005

Programming Style

In its purest form, programming is the art of expressing abstract ideas about computation in concrete language that is as clear and precise as possible. To become an expert programmer, it is not enough simply to be able to write fancy programs that run correctly on a computer. Programs must be written primarily for other programmers to read and understand, and only incidentally for machines to execute. Expert programmers rely at least as much on a well-developed sense of aesthetics and style as on technical mastery of the programming language.

Accordingly, your homework grade will be strongly influenced by the legibility and organization of your code. It is very important for you to develop a clear and consistent programming style, making good use of comments, indentation, and well-chosen variable and method names. Your code should follow the general stylistic guidelines listed below:

Grading Scale

Programming assignment grades will be based on both functionality and style, according to the following scale. Note that even if your program works 100% correctly, it may still get a B due to stylistic problems. In order to get an A, your program must not only work correctly, it must be well-organized, easy to read and understand, and must conform to the stylistic guidelines given above. If there are known problems with your code, you should describe these problems in a comment at the top of your program.

A+
(5pts)
Program incorporates extra features beyond the assigned requirements or gets the job done in a particularly elegant way. This grade is used for outstanding submissions that significantly exceed the expectations of the assignment.
A
(4-5pts)
Program works correctly for all input data, is well-written and documented, and uses good programming style. This grade designates a submission that clearly satisfies all of the requirements of the assignment - a job well done.
B
(3pts)
Program works correctly for most but not all input data, or has stylistic problems. This grade designates a submission that meets most of the general requirements of the assignment.
C
(2pts)
Program compiles and executes, but works incorrectly. This grade signifies that the submission has problems serious enough to fall short of the assigned requirements.
D
(1pt)
Program does not compile or execute. This grade designates a submission that has extremely serious problems, but nevertheless demonstrates at least some effort and understanding.
F
(0pts)
Program shows little effort, and does not represent passing work.

(Based on rubric developed by Jim Marshall/John Brown, Pomona College)

 



Berry College