Final project for Fundamentals of Computing II