CPSC 424, Fall 2017
Final Project Guidelines and Ideas

The final project for CPSC 424 is due at the regularly scheduled final exam period for the course: Tuesday, December 12, at 7:00 PM. There is no final exam. The final exam period will be used for student presentations of their final projects. (Depending on how many people do team projects, it might be necessary to move some of the presentations to the last week of classes. However, the project itself will still be due at the final exam period.)

Each student will choose an individual final project, in consultation with the professor. It is possible that two, or even three, students might work together on a project, if the project is sufficiently complex. All projects, whether individual or team, will have to be approved in advance. All the projects should be different, so it will be good to choose a project early, before someone else grabs the topic that you want.


Possible Project Types

  1. Research paper on a topic in computer graphics, with no programming or practical work. The paper should be eight to twelve pages, and it must have properly formatted footnotes and bibliography. (Example: Write a research paper about ray-tracing.) This would ordinarly be an individual project, but two coordinated papers on related topics would also be a possibility.
  2. Short paper plus programming project. A project of this type would involve writing a program that implements some graphics technique or algorithm (or possibly a program that uses a library that implements the algorithm), and writing a shorter, less formal paper to discuss the technique and what the program does with it. (Example: Write about the "stencil buffer" and write some WebGL demos that use it.)
  3. Short paper plus practical work. A project of this type would involve investigating some topic in computer graphics, working with one or more programs related to that topic, and writing a shorter, less formal paper about the topic. For this type of project, you would use other people's programs rather than write your own. (Example: Learn about the Blender physics engine, use it in some Blender projects, and write about it.)
  4. Programming. Write a non-trivial computer graphics program, or design and write some sort of graphics API.


Here, in no particular order, are some possible topics, to help get you started thinking. You can choose one of these topics, or a variation on one of them, or come up with something entirely different. But remember that whatever your topic is, you have to get it approved.