CS 315 Homework 7 - Final Project

Due Date: Wed Dec 18 at 6:00pm

Overview

This last assignment will give you a chance to combine the skills and concepts we've discussed throughout the semester, and to explore in more depth some of the topics we've only lightly touched on. For this assignment, you will be completing a project of your own choosing. This project should either:

  1. Apply topics from class is a new way (not previously covered by homeworks)
  2. Apply topics from class that have not been previously covered by homeworks
  3. Further explore a relevant topic that has not been covered in class

Your project should be about the same "scope" as one of the later assignments (e.g., Homework 4, 5, or 6), in terms of size and effotr.

In addition to your completed impementation, you will also need to include a two-page write-up detailing your project and discussing any new concepts or techniques you utilized.

Note that for this project you are welcome to work either individually or in pairs--note that a pair project should be more involved than an individual project.

Objectives

Project Ideas

Below are number of ideas for appropriate projects. You are welcome to choose one of these, or come up with your own idea. Note that in either case, you will need to have your project approved by the professor (see the bottom of the section).

This is only a list of ideas I've come up with; other topics may also be acceptable--be sure and check with me!

Once you have chosen a project, you will need to get your choice approved by the professor before you begin. Complete the Moodle "Quiz" describing who you will be working with (if anyone) and what project you will be completing. (Note we're just using the quiz tool--it is not actually a test). Include as much detail as possible. I will "grade" and respond your project idea with either an approval (and possibly suggestions!) or with a request for revision. Once your project has been approved, your good to start.

You must have submitted your project idea by Tuesday, Nov 26 at 11:59pm. (I know there is another homework due then and it's the start of break, but I want to make sure you know what you're doing before you leave).

Submitting

BEFORE YOU SUBMIT: make sure your code is fully functional, but also documented and readable. As usual, grading will be based primarily on functionality. I won't be able to find errors in your code, so if I can't run it, then you didn't complete it! But I will look over your code to explore your implementation, so please make sure that it is readable :)

In addition to your implemented project, you must also include a two-page write-up of your project. This write-up (similar to a README file) should do two things:

  1. Give a brief overview of your project. Explain what you did, how your program works, etc. Give me some context for your work.
  2. Include a overview and explanation of the concepts you used in your program, particularly any new concepts. For example, if you made an Interactive Virtual World, you should include an explanation of the forms of interactivity and the controls you implemented. If you wrote a Curve Applet, you should include an explanation of what the curves are and how your algorithm works.
    • This paper should basically summarize the concept, almost like a section of a textbook or an encyclopedia (that you wrote yourself, not cribbed from Wikipedia). Imagine that you are giving this project to a brand new graphics student as a demonstration of a concept--your write-up should explain the idea well enough for them to understand what your program is and how it works
    • Write as if you were teaching the concept to someone else! Give as detailed an explanation as you can. This write-up should demonstrate your understanding and mastery of the topics you utilized in your application.

Upload your project AND the write-up to the Hwk7 submission folder on hedwig.

The project is due at 6pm on Wed, Dec 18. This is the end of our final exam time period--we will discuss any plans for that time during lecture.