Computer Science 60
Principles of Computer Science
Assignments/Grading Policies, Spring 2000

On This Page

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

Assignments

Assignment 1 (Due Thu, Jan 27 - Final)
Assignment 2 (Due Thu, Feb 3 - Final)
Assignment 3 (Due Thu, Feb 10 - Final)
Assignment 4 (Due Thu, Feb 17 - Final)
Assignment 5 (Due Thu, Feb 24 - Final)
Assignment 6 (Due Thu, Mar 2 - Final)
Assignment 7 (Due Thu, Mar 9 - Final)
Assignment 8 (Due Thu, Mar 23 - Final)
Assignment 9 (Due Thu, Mar 30 - Final)
Assignment 10 (Due Thu, Apr 6 - Final)
Assignment 11 (Due Thu, Apr 13 - Final)
Assignment 12 (Due Sun, Apr 23 - Final)
Assignment 13 (Due Fri, May 12 - Final)

Worksheets

Worksheet 1 (Due in class Tue., Feb. 1 or Wed., Feb. 2)
Worksheet 2 (Due in class Wed., Feb. 23 or Thu., Feb. 24)

Special Worksheet (MW section only) (officially Olin 1245)

Parsing worksheet (Due Mon., Mar 6, 9:00 pm under the door of Olin 245 (officially Olin 1245))

Assignment Policy

Each week will have an assignment that "exercises" that week's (and prior) material. 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. Assignments submitted within the one-day extension will be graded for full credit; those submitted the day after that will lose half credit; after that point assignments will not receive credit. (We start posting solutions.)

Where are the machines?

Room 102 Beckman is where the X terminals connected to our server turing are. If you don't wish to use an X terminal, you may use a secure protocol (e.g., ssh) to get to turing.cs.hmc.edu. 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 me to set up an alternative time to meet (dodds@cs.hmc.edu). You're also welcome to stop by my office any time (Olin 1245).

You will get an account on turing. In your home directory you should have a directory named ~/cs60, whose group owner is 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 this:

 
    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

Your ~/cs60 directory lets us help you on problems with code without your having to mail the code. Simply indicate the file name to the instructor or tutor. She or he can connect to the directory and read and write things there. It is a good idea to write all of your code in that directory or one of its subdirectories (a1 to a15).

Submitting Assignments

To submit an assignment, run the following on turing (and not some other machine)
cs60submit filename 

where filename is the file containing the assignment to be submitted. The file should be an ascii file, that is, it should be source code. The submit system has had problems (though not consistently) with files with more than 80 characters per line. The submission program will ask what assignment this is -- a number [like 6] or a number and a letter [like 1j] -- 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.

Mail on Turing

To you have your mail on turing forwarded to another machine, create a file named .forward in your top-level directory. (Yes, there's a dot in front of the file name. To see such files, type ls -a.

In your .forward file, put the address to which you'd like the mail to be forwarded on the first line. If you want it forwarded and also wish to retain a copy on turing, include immediately after that address and on the same line:

    ,\yourUsername
where yourUsername is replaced by (what else?) your turing username. Note that there is a comma there, and a backward slash; a forward 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 may not be equally weighted. Sufficient information about the programming languages you will be using will be provided in class with some reinforcement in the assignment descirptions themselves. There are considerable online resources for those languages, too, on the references page. 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.

Each assignment will be worth 50 points. Partial credit will be given; some credit in each assignment (10-20%) will depend on the legibility and commenting of your code --- basically for "good coding style." The following list describes what we expect in terms of coding style:

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. The best strategy is to progress from a partial, but working, solution toward a final, complete 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

Your overall grade is determined out of 1000 points. If the assignments, worksheets, and exams are worth more, their sum will be normalized to a scale of 1000. 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
950-1000 A
900-949 A-
850-899 B+
800-849 B
750-799 B-
675-749 C+
600-674 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 700 points: individual assignments are around 50 points
Final exam 250 points
Midterm exam 150 points
Participation, which includes worksheets, quizzes, and presence in class 100 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.

Collaboration and the Honor Code