This is an educational programming project that teaches software engineering principles through practical refactoring. Starting with a working but poorly-structured chess game written by a beginner, ...