assignment and project for cs577