CPSC 599.82 Term Project