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:
- Your name
- The date you started the assignment, the date you completed the assignment, and an estimate of the number of hours you worked on it
- A list of the students with whom you consulted on the assignment. Since assignments are to be your own work, you should keep track of anyone with whom you have had a significant conversation about a program. You are welcome to talk with the course staff about the assignment, and to other students about broad ideas and concepts. If you did not consult with anyone, you must explicitly state that.
- Note any books, papers, or online resources that you used in developing your solution. If you did not use any outside resources, you must explicitly state that.
- There may also be specific questions given in the assignment whose answers you will be asked include in this file. Often you'll be asked to provide these answers in a separate file, not in the README.txt file.
- You should include your impressions of the assignment to help the course staff improve it in the future.
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.