HW 3, Due Fri, Oct 27
The goal of this homework is to an integrated design. In creating your design, you must use image or sound, classes, and arrays. Your design shall have multiple objects, each with their own purpose that serves the greater whole. You can decide on the intent of your design, but your sketch must have the following features as well as an overarching narrative or purpose that is discernable (even if that purpose is to create an abstract expression):
- [20 pts] The overall design is coherent, with each aspect serving the whole. Your design need not be complicated, but it must be clear what each of the parts do and what their purposes is (why are they there?), and what the overall intent of the design is. One of the goals of good design is the fusion of form and function.
- [20 pts] A separate design document of 1-2 pages (plain text or MS Word or pdf) which contains: objectives (what your sketch does), instructions (how to use it), a hand-drawn or early rough visual sketch, and implementation details (names and descriptions of main functions, classes, and important variables). The goal is to learn a design process, describing important elements of a design before coding them. In addition to providing instructions in the design document, also include comments at the top of your sketch with the instructions on what it does and how to interact with it.
- [20 pts] Two different classes that use constructors to initialize their fields (member variables). There must be at least one instance of each class in your design.
- [20 pts] There are two media files, images and/or sounds, used as part of your design.
- [20 pts] There is at least one uses of an array and loops to handle a set of similar objects. The sketch should be careful to respect the size of the array, either stopping when all objects are used up, or reusing/recycling them.
The notes and text provide examples of these various techniques, but you should develop a coherent sketch of your own design, and not just throw the examples together. That is, your sketch will be graded on how well you have demonstrated your understanding of the techniques. Of course, your class based on a physical model will look much like all the examples we've covered, so the goal is to demonstrate that you have integrated and applied the key ideas (extending as necessary) in a setting of your design.
Use comments and reasonable and consistent indentation and whitespace to make the source clear and comprehensible for another human reader (i.e., both you and your grader). Your sketch will be graded on its understandability, in addition to correctness.
You might get some inspiration looking at two of last year assignments (to be linked here...)
As always, turn in your sketch file(s) and a screenshot on Canvas, as HW 3 in the Assignments section. In the field where you can type in some information, please tell me roughly how long this assignment took, and if there were any particular difficulties.
Grading Scheme -------------------------------------------- 1. Design of sketch is described in a separate document. [20] * Clear description of the purpose, objectives * Provides instructions for the user * Discuss the pieces of the sketch * Discuss what each piece does and how * Discuss how pieces are integrated 2. Points reserved for good, coherent, integrated design [20] 3. Two separate classes for objects. [20] * Appropriate set of fields * Constructor to initialize them * Methods to display an object and update it 4. Two media files (image and/or sound) [20] * Resources located in correct folder(s) * Preload resources using loadImage and/or loadSound * Correct display and use of images and/or sounds. 5. Use of an array and loops to handle a set of similar objects. [20] * Respect the size of the array Points will also be deducted for failure to do the following: * Demonstrate a clear understanding of techniques * Understandability of code * Instructions at top of sketch * Comments * Indentation and whitespace * Correctness and tidiness of code --------------------------------------------