Course Level
CS1
Knowledge Unit
Development Methods
Collection Item Type
Assignment
Synopsis

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.

Recommendations

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

Materials

Computer Science Details

Computer Science Topic(s)
documentation
error handling
functional decomposition
list
problem decomposition
Programming Language
Python

Material Format and Licensing Information

Material Format
HTML
Technology Platform Required
Desktop
Creative Commons License
CC BY-NC

Author's Institutional Information

Institution Type
Liberal Arts Colleges (4 yr)
Community Type
Suburban