Aidan F, Ramy M, and Winton Y's term project for Intro to Computer Science 2.