Homework for UCLA Computer Science 130, Winter 2005

Select a project from the following list:

Please email your project preferences to the class TA (CC: to the instructor) with the Subject: line reading "CS130 preference". The first line of the message body should be your name and Student-ID, and the next four lines should be your preferred projects in descending order of preference (choose among bison, blast, minigrant, and wine). Please append any other information you find useful after those four lines. The deadline for this email is this Monday, January 10, at 12:00. We will assign project teams shortly thereafter.

Your team's first task will be to work with the client to come up with a schedule for this project, along with deliverables, and how much of the course's grade to assign to these deliverables. The weights should total to 40%. All due dates must be before the last day of class. Here is a schedule that may be appropriate for a greenfields project like the Mini-Grant system.

weight due assignment
5% 2005-01-18 requirements
5% 2005-02-01 specification
10% 2005-02-22 subset implementation
10% 2005-03-08 full-featured implementation
10% 2005-03-15 demonstrate polished version

Other projects will no doubt need different schedules.

By convention, assignments are due by 24:00 on the specified date on your schedule (i.e., midnight at the end of the day). Please see the grading policy for how assignments are treated when late.

Each project should use the following general rules:

Each student is expected to contribute significantly to the homework. You may share ideas and discuss general principles with others in the class, and obviously you may share work with other project members. With the advance permission of the instructor, you may even share work with members of other projects. However, all the code that you submit as your own must be your own work. Please see Grading for more details. Consult a TA or the instructor if you have any questions about this policy.

Your programs must behave robustly. Among other things, this means they must avoid arbitrary limits on the length or number of any data structure, including symbols, strings, and line length. It is OK to impose a non-arbitrary limit, e.g., because your computer runs out of memory or because of the limited range of the Java int type, but it is not OK to impose an arbitrary limit, e.g., a limit of at most 255 characters in a symbol.

When working on a project, please stick to coding styles that the project already uses rather than inventing your own style, as this saves work for everybody involved. If it is a greenfields project please use a common coding style.

Please use the machine lindbrook.seas.ucla.edu for any heavy-duty computing that you need to do for this course on SEASnet. We have reserved that machine for this course. Log in directly to lindbrook.seas.ucla.edu instead of to the generic host ugrad.seas.ucla.edu.


© 1999, 2003, 2004, 2005 Paul Eggert. See copying rules.
$Id: homework.html,v 1.4 2005/01/21 21:05:42 eggert Exp $