In this assignment, students build a game where monsters are hidden in an array of cells and the player guesses which cell the monsters are in. It is a fun culminating project for a CS1 course that has students apply fundamental programming topics such as data types and variables, input/ output, classes, arrays, and others.
This simple console application employs all of the skills students should have at the completion of CSE 1301 (Programming and Problem Solving), and gives the instructor an idea if they are ready to move on to CSE 1302 (Programming and Problem Solving II). See attached course schedule and syllabus for more information about sequencing.
This assignment was created for use in the first introductory programming course for Game Development and Design majors. In this course, we also introduce a game engine (Unity) but we were finding that our students were muscling through developing simple games in Unity without having a strong grasp of programming fundamentals. So in this assignment students still create a game but without the complexity of working with a game engine. In addition, when we use this assignment, we add a few notes at the end to get the students thinking about the assignment in a holistic way, and as always, encourage them to write an algorithm before they start coding.
See the Implementation Notes (attached below) for more information on effectively using this assignment with your students.
This assignment engages students (Relevant & Meaningful Content) by showing them how to build a simple game and tests all the skills they have developed over the course of the semester.
To better engage diverse students, the “theme” of the game can be easily changed without needing to change its structure. Examples might include miners looking for precious gems or pirates looking for treasure. Alternatively, play could be searching for some piece of hidden data and then solving logic puzzles when found. To incorporate Student Choice, ask your students to gear the game to a particular audience or to develop their own theme for the game.