The individual projects for this course. Collaboration via whiteboard or paper is explicitly allowed, but all code must be written alone. Each project has a milestone, a core project that solved the problem, and full credit components that improve efficiency or results. Completing the milestone and core component on time will generally be worth a B- or B. The full credit components must be completed to obtain an A. Decomposition and style are also graded, weighted more heavily in later projects.