Harvey Mudd College
Computer Science 60
Principles of Computer Science
Assignments -- Spring 2002

Assignments

Each of these assignments is the preliminary ("Prelim") specification. When a final write-up is available (usually 1 week before the due date), it will be changed to "Final"). Solutions will be linked here once available.

Assignment 0 (Due Fri, Jan 25 - Final) (Solutions)
Section 1 (MW): Assignment 1 (Sample graphs) (Due Fri, Feb 1 - Final) (Solutions)
Section 2 (TTh): Assignment 1 (Due Fri, Feb 1 - Final) (Solutions)
Worksheet on rex (Due for TTh section on 2/7) 
Section 1 (MW): Assignment 2 (Due Fri, Feb 8 - Final) (Solutions)
Section 2 (TTh): Assignment 2 (Due Fri, Feb 8 - Final) (Solutions)
Assignment 3 (Due Fri, Feb 15 - Final) (hw3.rex Solution) (OpenList.java) (Javadoc)
Assignment 4 (Due Fri, Feb 22 - Final) (Queue using QCell, Queue using OpenList (javadoc), Unicalc (javadoc))
Worksheet on search et al. (Due for Section 2 in class 2/26) 
Assignment 5 (Due Fri, Mar 1 - Final) (Maze.java   Deque without Inheritance)
Assignment 5 (TTh version) (Due Fri, Mar 1 - Final) (Maze.java   Deque.java with inheritance)
Assignment 6 (Due Fri, Mar 8 - Final)
Assignment 7 (Due Fri, Mar 29 - Final) (Parser.java)
Worksheet on circuit design (Due for TTh section on 4/4) 
Assignment 8 (Due Fri, Apr 5 - Final) (Parser.java) (simpsons.txt)
Assignment 9 (Due Fri, Apr 12 - Final) (proof.txt) (puzzles.pl)
Assignment 10 (Due Fri, Apr 19 - Final) (bigO.txt) (Heap.java) (Power.java)
Assignment 11 (Due Fri, Apr 26 - Final)
Sequential Logic Design Worksheet (Due Fri, May 10 - Final) (Solutions)
Extra Credit Assignment 12! (Due Sun, May 12 - Final) (Solutions)
  

Assignment Policy

Each week will have an assignment that "exercises" that week's (and prior) material. Most assignments will be due on Friday 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 two-day extension available on each assignment. Assignments submitted within the two-day extension (i.e., by Sunday at midnight) will be graded for full credit; those submitted the day after that will lose half credit; assignments even later will not receive credit. (We start posting solutions.)

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 a normal text (ascii) file, that is, it should be source code. It is best to keep the lines in your code to 80 characters or fewer. This will make the graders (and you) more happy!

The submission program will ask what assignment this is 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 what you wanted to submit, 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

Your account will have 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, because ls alone hides files beginning with .

In your .forward file will be the email address you normally use (we will ask for it) and the following:

    ,\yourUsername
where yourUsername is replaced by (what else?) your turing username. The latter piece allows you to keep a copy of your email on turing. If you don't want to, you may delete that piece.

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 Policies

Collaboration and the Honor Code