Branches and Roots: Project Selection in Graphics Courses for Fourth Year Computer Science Undergraduates
Computer graphics courses for computer science undergraduates typically involve a series of programming projects. It is a difficult problem to design a set of projects which balance establishment of roots in foundational graphics with exploration of current branches. We posit projects involving rasterizing a triangle with interpolated vertex colors, ray tracing and inverse kinematics solvers as best practices in project design for graphics courses for fourth year computer science undergraduates. We also discuss projects involving tool usage (rather than tool creation) and implementing a full viewing pipeline as worst practices. These best and worst practices are based on three years of project design in one course and survey of projects in similar courses at other universities.