Computer Science 226
Data Structures and Algorithms
Fall 2003


Course Information | Home Page | Assignments | Lectures | Announcements

ASSIGNMENTS

The links on the assignment names in this list are to the .html files that were used to print the assignments. The checklist link points to bug fixes, test data, or other specific information that you need to complete your submission.

 #  Assignment Due Checklist
1 Pattern recognition 9/25 checklist
2 Sorting, Merging, Heaping 10/2
3 Bin Packing 10/9 checklist
4 Passwords 10/16 checklist
5 Priority Queues and Symbol Tables 11/6
6 Language Modeling 11/13 checklist
7 Hashing and Pattern Matching 11/20
8 Small World Phenomenon 12/4 checklist
9 Map Routing 12/11 checklist


Grading policy: You will write some programs for the programming assignments, run them, and submit the code electronically. Your code will be graded on correctness, efficiency, clarity, and elegance. It is your responsibility to describe how you have completed the assignment in the submission, not ours to glean this information from your code. You will submit a separate text file named readme.txt that describes what you did. This is also the place where you will answer any questions posed in the assignment or checklist. Do not refer in the readme.txt file to any programming done after the electronic submission. We will be checking what you have said in your writeup by running your code. Discrepancies will lower your grade dramatically. For problem sets, simply submit a plain text (or postscript/pdf) file.

Grades on the programming assignments will be: 100 (perfect in every way), 90 (outstanding), 80 (excellent), 70 (very good), 60 (good), 50 (not bad), 40 (poor), 30 (minimal effort), 20 (what can i say?) 10 (really, what can i say?) 0 (not handed in).

Lateness policy: Assignments are due on Thursday at 11:59pm. If you submit an assignment late (more than a few hours), you risk losing a substantial number of points. Assignments submitted more than a week late, or after the Dean's date, will receive no credit. Extensions will be granted automatically only for university-sanctioned excuses such as illness, and then only with the proper documentation. You are responsible for planning ahead and managing your time so that you can complete the assignments on time. You must either finish on time or accept the consequences of doing otherwise. A preceptor can also grant extensions on an individual basis at their discretion.

Collaboration policy: Individuals must reach their own understanding of the problem and discover a path to its solution. During this time, discussions with friends are encouraged. However, when the time comes to write the solutions to the problems, such discussions are no longer appropriate: they must be your own work (although you may ask teaching assistants or lab assistants for help in debugging). If you have a question about how to use some feature of C, UNIX, etc., then you can certainly ask your friends or the lab assistants or teaching assistants. (Click here to see the lab TA schedule)

Do not, under any circumstances, copy another person's program. Writing code for use by another or using another's code in any form violates the University's academic regulations and will be dealt with harshly.

Do not allow anyone else to use your accounts for any purpose. They are for your use alone, and you are responsible for any misuse. Your passwords control access to your accounts and should be kept secret.

What to submit.  Submit all of your source code for each assignment. Your code should conform to reasonable style guidelines. Include your name in every file you submit. Use consistent indentation and white space as needed. (All tabs will be converted to four spaces, so be careful about mixing spaces and tabs.) Comment every function and the purpose of important variables. No line should have more than 80 characters.

You must also submit a text file named readme.txt with each assignment. Besides any problem specific information which is listed in each week's assignment or checklist, you should use this file to give the reader a high-level explanation of your source code and point to anything unusual or notable about your program (such as extra credit or known bugs).

How to submit.  Submit your solutions to the programming assignments electronically via the web submission system https://whiteboard.cs.princeton.edu/restricted/submit.php?course=COS226. You will receive an email receipt after each successful submission. You will need an arizona login and password to submit files. If you do not have one (or do not remember your password), go to OIT at 87 Prospect.

Be sure to submit all of the required files, and use exactly the (case-sensitive) filenames provided. Once you submit all of the required files, push the Run Script button to make sure that your code is ANSI C89 compliant and will work with our system. If you do not follow these directions, you risk losing a substantial number of points. You can resubmit and unsubmit files as needed up until the submission deadline.