GRADING STANDARDS | Fall Term | CSCI-E26 |
The work you submit must be your own work. You may build your code on samples from class or examples from texts, and we encourage students to discuss problems and techniques. Your homework should be all your own work or a combination of your own work and your synthesis and extension of examples. Please quote sources of chunks of code.
Homework assignments are graded on a 100 point scale. The 100 points are divided between Function (70 points) and Design (30 points). In software engineering, getting a program that works is only part of the problem. The rest of the problem involves updating, correcting, and reusing the code.
Thus, if your program works right but is designed poorly, you get a C. Design is divided into three categories each worth 10 points: Documentation, Modularity, and Clarity. Documentation refers to commenting; files, functions, variables, and chunks of code should be documented. Modularity refers to how the program is broken into separate, well-defined, and insulated units. Clarity refers to the physical presentation and logical design of the program. Have you ever read a book or essay that expressed an idea or technique so clearly that after just one reading, you saw exactly what the writer was getting at? Have you ever read a book or essay that, even after several readings still confused you? Some code is really clear, and some code is hard to figure out, hard to maintain, hard to modify. Strive for clarity; you'll be graded on it.
A detailed description of what we want will be distributed with the assignments.
Due on Saturdays at midnight
Homework is due by Midnight on Saturday. You submit your homework from your Harvard computer account by typing ~dce-lib113/handin. This program will send a copy all the code in your current directory to be reviewed and graded. There is a 10 point penalty for each day late you turn in an assignment. You must turn in your source code and scripts of the program in action. (how to do this is described below).
Use the script command to generate the sample runs you will submit with your source code. When script is running, it records in a file everything that appears on the screen. That transcription of all screen output is stored is a file called 'typescript'. To make a script, type in script. The computer will print a message and give you the "$" prompt. Now compile and run your program. If there are several programs you can compile and run them one by one. Type "exit" at the "$" prompt when you wish to stop recording. Unless you specify some other name, script will save everything in a file called "typescript", so print that file. A sample session is shown below:
$ script Script started, file is typescript $ gcc -Wall -Wextra foo.c -o foo . . . $ ./foo . . . $ exit Script done, file is typescript $ ~dce-lib113/handinYou can specify a different name for the script file by typing the command script filename