Programming Assignment 08


Due: Week of Oct. 31 in lab


  1. Write a description of an object-oriented framework. Worth 75 points. You can choose anything you would like, except for the world of Harry Potter or an aquarium which we discussed in class. You need at least 4 objects interacting with each other. You should describe the data and general methods for each object (including an API would be really awesome!). Additionally describe the interactions between the objects, e.g., object A owns a collection of object B, object A operates on an object B, etc. Use technical writing style. This problem must be typed. Include the following with bold headings for each section:
    1. Introduction - describe the problem being solved/modeled and briefly highlight each component of the problem.
    2. Objects - Each object is a subsection (again have an appropriate subsection heading, 2.1, 2.2., etc.). Describe data and methods. Use bulletted lists AND paragraphs to aid in clarity.
    3. Interactions - Describe the interactions between objects
    4. Conclusion - Summarize the problem briefly.
  2. Project proposal. Worth 25 points. This course has a final programming project. It should involve a visual component with a window, involve file input and output, and be composed of at least 3 objects. A good example would be a version of Guitar Hero for the keyboard. In this you would read a song from a file (series of buttons needing to be pressed not an actual song), then have the person press each of the buttons to win the game. Describe your topic, the visual display, file I/O involved, and major objects comprising your project. You have 2 weeks after assignment 10 to complete this project, so be careful of scope. This is what I will be commenting on most is scope, either being too limited or too expansive. You can always start early. Use technical writing style. This problem must be typed.

Bonus. Provide details of the API in a clear organized figure for each object and provide a flow diagram to aid in the interaction discussions in both the problem and project proposal.


Grading

Each assignment is graded out of 100% based on a combination of the criteria listed in the assignment description and programming style (e.g., good comments and naming) -- following instructions is extremely important in computer science, train yourself to think like the computer; programming style is important to be able to communicate your solutions to another programmer; both of which you are graded upon.

Specific instructions. Failure to do these steps will result in a loss of points.

Turn in instructions. Each programming assignment is to be turned in before your lab section. You will turn in a soft copy of the assignment (.java or .zip for multiple java files) through blackboard. You will also turn in a hard copy of the assignment in your lab section with a signed coverpage (each program should start a new page of the hard copy).

If there are any discrepencies in grades please see the instructor during his office hours or by appointment (do not discuss with the lab assistants or graders).