DUE: 12pm, Wed Feb 3
Worth: 9% of your final grade
For this homework you are to design your own two-dimensional graphics project. You will have approximately two weeks to work on your design, after which time you will submit a functional specification document as HW2. You will then have approximately three more weeks to implement and test your code, and to update the documentation, as HW3. Finally, you will make a short presentation of your project to the class.
For HW2 and HW3, you may work alone or in a pair of two students. See details below.
Use your creativity and specific interests to pick a project. As you begin to think about it, you may want to make an initial “quick list” of possibilities. Try to think of ideas that would be fun for you to implement, useful to you and/or to others, or otherwise interesting. Importantly, think carefully about the amount of time you have available. Remember that most of the time will not be spent writing code, but debugging it. So one recommendation is to take any guess you might have about how long it will take to write your program, and at least double it (if not much more).
Be aware that there are certain requirements for the minimum kinds of graphics features that you must implement. See HW3 for details.
Some possible project ideas include:
A functional spec should tell what your project will look like and how it will work. It should describe how a user will interact with it, not the inner working of the program. For this assignment, your spec should be four to six pages long (if working alone; if working in a pair, it should be six to eight pages) and look like a user manual for your proposed project. Include drawings, sketches, or other images of what the screen will look like and explain the proposed user interaction. Your spec must include well-written English text, not just pictures. As a guideline, you ought to have at least 1000 to 3000 words in your descriptions (2000 to 5000 if working in a pair).
For further explanation of what a functional spec is and some samples, try these links.
This is a serious part of the project. This course counts toward your in-major writing requirement.
If you are working in a pair, please include a section in your report that details the proposed division of labor in your project. Each member of the pair should be assigned a roughly equal amount of responsibility.
Follow the instructions on the assignments page.
Out of 100 possible points, 75 will be based on the clarity and completeness of the English text describing your proposed program. The remaining 25 points will be assigned based on the quantity and quality of relevant drawings, sketches, or other imagery included in your spec.
If you are working in a pair, then we will expect the overall magnitude of your project (and of the spec itself) to be larger than if working alone by roughly a factor of 1.5 to 2. Given the open-endedness of the assignments, this is necessarily a fuzzy judgement. If unsure, please discuss your proposal with the course staff well before the first deadline.
Note that the implementation (HW3) and in-class presentation of your project will be graded separately from HW2.