Computer Science 60
Principles of Computer Science
Assignments/Grading Policies, Fall 1999

On This Page

Assignments
Assigment Policy
Where are the machines?
Getting Help
Submitting Assignments
Assignment grading
Course grading
Exams
Collaboration and the Honor Code

Assignments

Assignment 1
Assignment 2
Assignment 3
Assignment 4
Assignment 5
Assignment 6
Assignment 7
Assignment 8
Assignment 9
Assignment 10
Assignment 11
Assignment 12
Assignment 13

Assignment Policy

There will be an assignment every week (with exceptions for holidays). Most assignments will be due on Thursday at midnight. Since we use an automated procedure to determine submission time, if you submit even slightly after midnight, it will be recorded as being submitted the next day. However, there is a built-in one day extension available on each assignment. Work on an assignment after that point will not receive credit (but will reinforce the material... ).

Where are the machines?

Room 102 Beckman is where the X terminals connected to our machine turing are. If you don't wish to use an X terminal, you may telnet to turing.cs.hmc.edu to use it. Getting acquainted with turing is a good idea, since some software we use will not be available on other machines.

Getting Help

The instructors and gradors/tutors hold regular office hours. If none of those times works for you, email your instructor to set up an alternative time to meet ( keller@cs.hmc.edu) ( dodds@cs.hmc.edu).

You should have a directory ~/cs60 which has group access by group cs60. If not, the system administrator will create one for you. Access to this directory will thus be by you, the instructor, and the tutors, but preferably no one else. When properly setup, the directory listing is obtained by ls -l and should look like:

    2 drwxrwx--- 2 yourid cs60 512 Sep 8 20:32 cs60/

If the permissions differ (the letters and dashes on the left), you should execute the following command from your home directory:


    chmod 770 cs60

The purpose of this directory is to be able to get help on programs without mailing the program. Simply indicate the file name to the instructor or tutor. He or she can connect to the directory and write things there. It is not necessary that you keep all of your work accessible there, just the things on which you are currently working.

Submitting Assignments

To submit an assignment, runthe following on turing.cs.hmc.edu (and not some other machine)
cs60submit filename 

where filename is the file containing the assignment to be submitted. The file should be an non-encoded ascii file with at most 80 characters per line. The program will ask what assignment this is (a number), and then submit the assignment properly. Shortly thereafter (usually a few seconds), you will receive on turing by e-mail an exact copy of what was submitted. You must either read mail on turing or have your mail forwarded in order to get this response. You will notice that some headers are attached, containing certain essential information. These headers are commented out so that compilation of the program is not affected. If what you receive is not acceptable (e.g. becomes MIME encoded because it is more than 80 columns or contains control characters), you are responsible for noticing this immediately, correcting the file, and re-submitting it. All submissions will be kept for archival purposes, but only the latest submission before the time deadline will be graded.

Note: If cs60submit is not found, you need to add /cs/cs60/bin to your path (likely in your .cshrc file in the top level of your home directory).

To you have your mail on turing forwarded to another machine, create in your top-level directory file

.forward

which contains the address to which you wish the mail to be forwarded. If you want it forwarded and also wish to retain a copy on turing, include immediately after that address and on the same line:

, \your-login-id-on-turing

where your-login-id-on-turing is to be replaced with your login. Note that there is a comma there, and a backward-slanting slash; a forward slanting slash will not work. Do not create mail-loops by having another machine forward to turing when turing is forwarding to that machine. This eats up system resources and may cause the loss of your account.

Assignment Grading

The assignments will stress programming, though there may also be some paper-and-pencil exercises. Programming assignments help drive home key working concepts and principles. Assignments vary in difficulty and will not be equally weighted. The programming languages in which the assignments are to be written include Java, Rex, ISCAL (an assembly-type language), and prolog. Sufficient information about the languages will be provided to enable you to complete the assignments; you do not have to know these languages when you enter the class. You should, however, have some background in an imperative language such as Java, C++, or Pascal.

Here is the nominal point breakdown we use on assignments. This may vary somewhat, depending on the emphasis of the assignment.

We're sorry, but programs which do not compile will not receive any points.Thus it is always better to submit a compilable partially-correct solution than an ostensibly fully-done solution which does not compile. You are advised to work from a compiling solution toward a final solution by gradually adding features.

Remember, you can always ask about things before you submit your actual product. There is no reason to lose points on most of the above. You also lose no points or esteem for asking.

Course Grading

Here is how your overall grade is determined: The target isis a total of 1000 points, so each point is 0.1% of your grade. If it turns out that 1000 points are not available, each point is multiplied by the scale factor (1000/pts. available). This is for reference only. If you base your strategy on understanding rather than point acquisition, the points will follow.

If your final total is in the range of points your grade is
900-1000 A
850-899 A-
800-849 B+
750-799 B
700-749 B-
650-699 C+
600-649 C
550-599 C-
500-549 D+
450-499 D
400-449 D-
0-399 F
Here is how the points are approximately divided:
Assignments 500 points: individual assignments are around 50 points
Final exam 250 points
Midterm exam 100 points
Participation, which includes worksheets, quizzes, and presence in class 150 points

Exams

The two exams are closed-book except that you are allowed one sheet of paper (double sided) containing your own notes. The exam emphasizes conceptual understanding, rather than memorization of fine details.

Past courses' exams are available for review here.

Last term's list of final exam topics is also available.

Collaboration and the Honor Code