Course Level
Knowledge Unit
Development Methods
Collection Item Type

In this assignment students work either individually or in pairs to implement the game Mastermind. Mastermind is a game in which the player has to guess a sequence of randomly chosen colors based on feedback about their previous guess. Students must program the game from the ground up, creating their own decomposition design, as well as error checking user input. This assignment requires students to think carefully about design, documentation, and debugging. It is particularly useful for students who need practice writing larger programs.

The authors of this material were awarded a 2015 NCWIT Engagement Excellence Award for this assignment. Learn more on NCWIT's awards page.


Invite a software engineer from the game development community to discuss how projects are created in a large-scale development environment to help illustrate the Interdisciplinary Connection this project has with CS.

Engagement Highlights

This material uses a game that students are familiar with to Employ Meaningful and Relevant Content. Incorporates Student Choice by providing an optional challenge for students who want to work beyond the scope of the assignment and gain extra-credit.

Materials and Links


Computer Science Details

Programming Language

Material Format and Licensing Information

Creative Commons License