In ‘Designing Innovation’, we had a special project to complete before Thanksgiving break – designing our first game. This game (which we had one week to complete) could be a digital game, board game, or physical game. The goal was that the game wouldn’t be simply for fun – it would also have an additional purpose. This could be furthering STEM education or accessibility, for example. Chelsea and I decided to create a tabletop game with cards to teach young kids some of the ideas behind programming languages, like boolean logic, variables, and objects. We called this game Codepet, and we hope to continue to develop it and improve the idea.
Read the complete design documentation here
Team: Laura Kurtzberg, Chelsea Haina
Codepet is a game that teaches kids to think like a programmer. It uses programming language logic and semantics to broach new concepts and ways of thinking, but combines them with physical action and familiar objects to make learning interactive and fun.
The main goals for this project are:
- To introduce kids to thinking using conditional logic
- Teach a few basic programming concepts through play
- To remove stigma around the difficulty of learning how to code and introduce the idea that coding is fun
We currently live in a world that lives and breathes technology. Teaching children the basic principles of logic gives way to a mindset that thinks critically, a skill that seems to be put on the back burner. This mindset will serve them well in the future, whether they decide to pursue careers in programming or simply use technology to their advantage in their everyday lives.
The game’s target audience is children ages 6-11 though it is also a game that can be successfully played by adults. The game in its current stage is very basic and touches on elementary programming concepts. We plan to expand the breadth of the game by integrating more complex concepts which will expand the target audience age.
Scenarios when Codepet might be played:
- An after-school program at an elementary school, where different educational games are laid out on tables for kids to choose
- As an icebreaker at a Girls who Code program with young girls, maybe when the girls are starting the first day of the program
- A fun break at school scholastic competitions like math and science contests, as a mental warm up and introduction to coding
- At book fairs, where there are often tents or booths especially for kids to participate in educational experiences.
Number of Players: 2 – 4
Age of players: Elementary school age and older
Difficulty: Easy with room for added difficulty
Components of the game
‘IF’ Board: A board with spaces for three cards. It is placed flat on the table at an approximate equal distance from all players.
Pet Cards: Each player has four pets, which the player keeps in the form of pet cards of different colors. A pet may be a cat, dog, tortoise or pet rock. There are 24 possible pet cards (4 pets in 6 different colors). These cards serve as an introduction to objects, laying a foundation for concepts important in object-oriented programming.
Variable Cards: Variables are another important concept and often one of the first that students learn when they start programming. They are introduced in Codepet by the way of variable cards. There are 4 variables (dogColor, catColor, tortoiseColor, and rockColor). Ideally, each player gets their own set of variable cards to work with, so a total of 16 variable cards (4 for each player) are available to hand out.
Value Cards: The value cards represent the values that the variables can take. In this case, the 6 colors are the values.
Conditional Cards: There are two conditional cards – equals equals, and not equals, represented the way they are in many coding languages, by two equals signs or an equals sign with an exclamation point in front.
Action Cards: These cards are what happens if the conditional statements are met. They include fun actions like jumping up and down or singing a song!
Else cards: Else cards are a special kind of action card that are drawn when none of the players’ pets fit the conditional statement on the ‘IF’ board. The actions themselves are the same or similar to the action cards.
The first step is to position the IF board in a place that all the players can see. Next, each player receives 4 random pets from the shuffled pile. They reveal the pets they got by placing the cards in from of them on the table. Each player then receives a set of four variable cards, one of each of four variables. They also receive their own set of conditional statement cards: one equals equals and one not equals. Value cards (4 cards of each of the 6 colors, 24 total) are either placed in a shuffled pile in the middle for everyone to draw from, or grouped as a personal set of 6 for each player. Finally, action and else cards are shuffled and placed in separate piles on easily reached spots on the table.
How to play
Any of the 2-4 players can start the game. They choose one variable card, one conditional card, and one value card. Then, they must place the three cards in the correct spots on the IF board. The correct order is variable, condition, value. This forms a statement like ‘If dogColor == blue’.
All the players look at their pets to see if they match this condition. If at least one person fits the statement, then the player that created the statement draws from the action card pile. Every player that has a blue dog, in this example, would complete the action. If no player has a pet that fits the conditional statement, then the player that created the statement draws from the else action card pile and all players must complete the action.
As development of Codepet continues, we have considered adding various levels of difficulty. At first, student might just match pets to conditions. More difficult levels could consist of players having to create nested if statements and more complicated statements. Ultimately, the possibilities for expanding Codepet are endless!