Pages

Saturday, December 13, 2014

Review: C-jump Computer Programming Board Game

Review: C-jump Computer Programming Board Game

A while back, someone who’s name escapes me mentioned there was a board game that could be used to teach some basic programming concepts. I scoffed at it initially, with my own knowledge of programming limited, it certainly couldn’t be done with a board game.

As my experience has increased and knowing what I know about teaching kids to code, exposure is everything. The expectation shouldn’t be that students jump into coding with both feet and begin writing loops and variables in C++. The goal is to lay the bread crumbs in the hopes that they’ll find it enjoyable or seek more out on their own in the future. This is where c-jump succeeds.

The goal of the game is to use terminology and syntax similar to languages such as C++ and Java to drive the gameplay and reach the end. It works like a normal turn-based, die-rolling board game, with the added element of commands to obey on most squares. For instance, if a spot says “x+1” you would add one to the roll and move that many spaces.

The directions that came with the board game were decent. They covered the spots you would land on. However, upon replaying the game, we did run into an issue that we were actually playing the game incorrectly. For the ifs and loops, we were only supposed to react to those if we landed on the spot, instead of during a move. Thankfully, the c-jump website cleared this up for us.

I played the game for the first time with two eighth-grade students, both female. They seemed to get into and have fun. Probably the most encouraging thing to me is that after a few turns, we didn’t need to consult the directions on some of the landing spaces because they got it and it made sense to them. They also picked up the variable “x” pretty quickly and were able to calculate the additional spaces to move on the roll without struggle.

When talking to the students after the game, they indicated they enjoyed it, and also learned the words “increment” and “decrement”. However, at least after one play through, the programming logic didn’t seem to be something they understood. Part of this was due to the fact that the game isn’t actually a program that you could run. In that regard, you aren’t so much dissecting code of a working program, but rather repeating the same types of programming syntax over and over again. It would be cool, and possibly more useful, if the code on the board game was a working program (NOTE: The website does refer to this game as being based off the code of a working program). However, that would likely include too many advanced features that would detract from the enjoyable experience of the board game.

Some interesting things that came out: I always took the == as a given for just being equal. However, the students didn’t quite understand why it had to be two equal signs as opposed to one. With my basic background, I know that using = usually declares a variable, but did not explain it to them, and if a teacher is utilizing this board game with no prior experience, they will likely miss out on that detail as well. The students also saw the while loops as an enemy to avoid. I thought this was funny, because loops are an integral part of making a program work. Perhaps somewhere in the directions, or on the board, it could be explained how loops are actually beneficial. I’m not sure students are left with that impression when playing.

The second time I played through this, I was with my brother in law who knows a bit of programming. He helped explain to me some of the syntax and also helped do some double checking of the game play with the c-jump website. We played a few times, really enjoying it in both cases. That game is fun as it is easy enough to understand but complex enough that there is a bit of a challenge. A good combination of both.

In my two gameplay cases, the game was well received and enjoyed. The goal of the creator, Igor Kholodov, was to make a game that took the intimidation out of beginning to learn code. He certainly succeeded. The students were pretty fearless once they got in, and actually were excited to give it a try. The concept was interesting to them and got them exposure to programming that they may not have otherwise received in any other format. As someone who is passionate about getting more students to try coding at a minimal level, I would highly recommend this game. It is affordable, has great replay value, and lays those breadcrumbs that can lead to connections later on for kids to continue down a path of computer science.