Final project for Fundamentals of Computing 2