Duke CS Logo CompSci 6: Program Design & Analysis I
(Fall 2009)
Home
Course Information
Calendar
Assignments
Assign 1
Assign 2
Assign 3
Assign 4
Assign 5
Assign 6
Assign 7
Assign 8
Assign 9
APT problems
Resources
Help sessions
Discussion Forum
Blackboard
Oasis

Schedule

  1. Assignment 1 - Introductions, Starting Java,
    Due Thursday, August 27 (Part 1 and Part 2)
  2. Assignment 2 - APTs (Pancakes, Laundry)
    Due Friday, September 4 (submit with ambient)
  3. Assignment 3 - APTs (Count Appearances, Tipping Waiters, British Change)
    Due Friday, September 11 (submit with ambient)
  4. Assignment 4 - APTs (Birthday and Basket with Apples (Extra)) and Natural Prestidigitation
    Due Tuesday, September 22 (submit with ambient)
  5. Assignment 5 - Breakout
    Due Tuesday, September 29 (submit with ambient)
  6. Assignment 6 - Pixmap
    Due Thursday, October 15 (submit with ambient)
  7. Assignment 7 - NameSurfer
    Due Thursday, October 22 (submit with ambient)
  8. Assignment 8 - Sorting Problems
    Due Friday, November 6 (submit with ambient)
  9. Assignment 9- Recursive Graphics
    Due Tuesday, December 1 (submit with ambient)

Starter Code

Most assignments will include code to get you started. This may consist of completed classes that you will utilize but not modify or classes in which some methods 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/cps006/fall09/snarf/

Assignment Submission

All assignments must be turned in on the due date given; if your assignment is received after midnight (i.e., the next day), it is considered late. You are responsible for ensuring that all files are turned in on time, if a program is turned in late there is a penalty detailed online here.

When you are done with your project and are confident it is satisfactory, you should submit it electronically using the directions available here. 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 any submission is late, even if your first submission is on time. You may lose points on your assignment if your final submission is incomplete or late.

README Guidelines

Every assignment submission must include a plain text file, named README or 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
  • You may include your impressions of the assignment to help the course staff improve it in the future.

You may lose points on your assignment if it does not include a proper README file.

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

Code Style

Finally, note that a significant 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, course and purpose of the class specified. For example:

// Name: YOUR NAME HERE
// Course: CompSci 6
//
// Purpose:
// PURPOSE OF CLASS HERE
Last updated Wed Nov 18 22:37:54 EST 2009