|Course home||Outline and Lecture Notes||Assignments|
The final project is a chance for students to build a system incorporating one or more idea that has been learned in class. Projects should be done in teams of two or three. (4 people per team is OK, but be sure to have a good plan for division of labor.)
The focus of the project can be anything of the students' choosing, as long as it somehow involves computer graphics. Many students will create games, but it really can be anything.
Of course, you are welcome to use code infrastructure provided in previous assignments and to get ideas or other code infrastructure from the web or elsewhere. However, you should be very clear about which parts you did and what other parts came from elsewhere.
This should be fun! Each team will give a short presentation describing their final project. Your goal should be to demonstrate and describe for the class in a few minutes what you have done and why it is interesting. In addition to showing a demo (if possible) you should describe the guts of your project, possibly using slides or other props. You should aim for a 5-10 minute presentation, with smaller groups tending towards the shorter end of the range.
Each team should submit a short written report for the final project. The length should be about 3-5 single-spaced pages, and longer is not necessarily better. It should contain descriptions of the goals and execution of your project. You should briefly mention related work. You should write descriptions of the approach you chose, the implementation hurdles you've encountered, the features you've implemented, and results you've generated.
The Dropbox link to submit your assignment is here.
You may either upload a PDF of your writeup or a zip file containing a web page (e.g. index.html with support files – images etc).
Following is a brief outline you might follow. However, this is just a guideline to help you think about what to say, and these specific items may not match your topic.
- What did we try to do?
- Who would benefit?
- Previous Work
- What related work have other people done?
- When do previous approaches fail/succeed?
- What approach did we try?
- Under what circumstances do we think it should work well?
- Why do we think it should work well under those circumstances?
- What pieces had to be implemented to execute my approach?
- For each piece ...
- Were there several possible implementations?
- If there were several possibilities, what were the advantages/disadvantages of each?
- Which implementation(s) did we do? Why?
- What did we implement?
- What didn't we implement? Why not?
- How did we measure success?
- What experiments did we execute?
- What do my results indicate?
- Overall, is the approach we took promising?
- What different approach or variant of this approach is better?
- What follow-up work should be done next?
- What did we learn by doing this project?