Final project for APCS, fall term.