In this project, students are to implement the classic game, minesweeper using ASCII graphics. The game consists of a board with the board divided into a grid. Throughout the grid, mines are scattered. At the beginning of the game, all squares of the grid are covered, obscuring the location of the mines. The object of the game is to uncover all the squares on the board that do not hold mines, avoiding uncovering those squares that do. Squares are uncovered one at a time. Students are asked to use a bottom-up approach to implement the game. For a bottom-up approach, students start out by writing the most basic functions and then write higher-level functions that call these basic functions, and so on.
Using the Python programming language, students are asked to implement the classic game, minesweeper. Students are challenged to build the game with a bottom-up approach. Stepwise refinement is used throughout this project. By using a common game, this project uses Meaningful and Relevant Content.