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.