Programming projects are large, open-ended problems, providing opportunities for you to express some creativity and go beyond the basic specification.
Project Description Due Date Algorithms Online exercises and games Thursday, January 16 Algorithmic Art Draw a picture using a turtle Friday, January 24 Bioinformatics Find proteins encoded in a strand of DNA Friday, March 7 Recommender Recommend items based on other's ratings Tuesday, April 15
Submission
All projects must be turned in by midnight on their due date.
Include a comment at the top of each code file you modify that includes your name and Duke NetID.
When you are done with your project, submit it electronically from within Eclipse or through this web form.
You may submit a project as many times as necessary, but only the files included in the last submission will be graded. So always submit all of your project's files — even if they have not changed since a previous submission. You may lose points on your project if your final submission is incomplete or late. The official time of submission for your project will be the time of your last submission.
Projects turned in on time receive no penalty. Each student is granted two extensions of three school days with no penalty during the semester. Project extensions will be determined automatically. Unused extensions are worth one point each at the end of the semester.
Projects can be submitted up to one week late for half credit. All projects must be received before the last day of class regardless of any extension.
Grades will be posted on 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. Use this Google form to report your concern.
Starter Code
Many projects will include code to get you started. This may
consist of completed modules that you will use 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/spring14/compsci101/snarf/
README
Every project 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 project, the date you completed the project, and an estimate of the number of hours you worked on it
- A list of the students with whom you consulted on the project. Since projects are to be your own work, keep track of anyone with whom you have had a significant conversation. You are welcome to talk with the course staff about the project, 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 project whose answers you will be asked include in this file or a separate file.
- Please include your impressions of the project 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, a small portion of your project grade is based on the readability of your program. This readability grade includes good coding style, comments, and the naming of variables and methods.