A programming assignment report is a self-contained description of a programming assignment and your solution. It is intended to both show that you learned what the program was designed to teach you, and to instill in you a discipline of rigorous program development and documentation.