Introduction to Computer Science
CompSci 101 : Fall 2013

Programming projects are large (containing one or more practice problems), open-ended problems, providing opportunities for you to express some creativity and go beyond the basic specification. For each project, you will be expected to complete all of the assignment's basic functionality as well as use good coding style. Points on these assignments will vary with harder assignments being worth more than previous assignments, and most assignments will get harder as the semester progresses (harder means takes more time, requires more thought).

Assignment Howto Due Date
Light Bot none Monday, September 2
Bioinformatics HOW TO Friday, October 10
Basketball none Friday, November 1
Top Movies none Thursday, November 7
Recommender HOW TO Tuesday, November 26
Recursive Art   Saturday, December 7

Submission

All assignments must be turned in by the end of day on the due date given. Each student is granted two assignment extensions with no penalty during the semester. To request an assignment extension, you must complete this form no later than one day before the due date, and the assignment must be received within three school days of the original due date. We do not grant extensions after an assignment is due. Assignments turned in on time receive no penalty, and students who do not use their late penalties receive extra credit at the end of the semester. Assignments can be submitted up to one week late (or one week late + 72 hours with an extension) for half credit. All assignments must be received before the last day of class regardless of any extension.

When you are done with your project and are confident it is satisfactory, you should submit it electronically from within Eclipse or on the web. You may submit an assignment as many times as necessary, but only the files included in the last submission will be graded. Thus, you should always submit all your project's files -- even if they have not changed since a previous submission. Note, the official time of submission for your project will be the time of your last submission. An assignment will be considered late if the last submission is late, even if your first submission was on time. You may lose points on your assignment if your final submission is incomplete or late.

Grades and points are normally posted in Sakai. All care will be taken to make sure that grades are accurately calculated and reported. However, mistakes happen. If you believe there is an error in your grade, we want to fix it. Please use this Google form to report the error.

Starter Code

Many assignments will include code to get you started. This may consist of completed modules that you will utilize but not modify or modules in which some functions have been completed and others are left for you to fill in. In either case, comments will clearly indicate which sections of the code you may edit and which must not be modified (you can go to these sections directly by using the Tasks view within Eclipse). All starter code may be obtained with the Ambient download tool by following the directions here. The download site for the course is

http://www.cs.duke.edu/courses/fall13/compsci101/snarf/

README

Every assignment submission must include a plain text file, named README.txt (please use all capital letters in naming the file), that includes the following information:

Within Eclipse, you can create plain text file by choosing File -> New -> Untitled Text File.

Code Style

Finally, note that a small portion of your assignment grade is based on the readability of your program. This readability grade includes style, comments, and the naming of variables and methods. You must include a comment at the top of each source file you modify that includes your name.