Home News Rules Faq Video Download Buy About
c-jump background

C-jump Teacher's Guide


This guide has been designed to help teachers and instructors of grades 7-12 to integrate c-jump board game into their curriculum of computer science and information technology courses.

Your opinion, suggestions and comments are highly appreciated.
Please send your feed-back to research@c-jump.com


Overview

c-jump board game

C-jump is a ski and snowboard racing game, designed to make students experience dynamics of a programming language. Players learn bits of programming by looking at the computer program and make decisions about the outcome of particular statements on the board.

Humans learn by doing. Book-reading and class-taking helps. However, having some understanding beforehand makes it easier to follow. Playing c-jump helps to memorize the big picture, so that students can start reading books about programming languages and understand the idea much quicker. By moving around the board, entering loops, branching under conditional and return statements, the players gain physical experience of a complete program.

Games are fun, because they begin with a mystery. You think it should do something, but instead it does something else. In software world, every line of code in a computer program may look confusing to a beginner programmer. Beginners don't have the vision they will develop later to see true program dimensions, such as the space of executed lines, the data structure, the memory management, the interaction with foreign code, the code that is risky, and the code that is simple.

C-jump puts a non-programmer in a similar position: players don't know what return is, or what the arithmetic statements are. However, middle and high school students will exercise their own judgment and assign their own meaning to the code presented by c-jump game board. Players will learn bits of programming by looking at the actual programming language code and make decisions about the outcome of particular statements. Playing with multiple pieces enhances this experience, as players will have ability to choose a better alternative for their moves.

C-jump puts players in realm of experimentation, and then makes them develop judgment through experience of playing.

 


Materials And Supplies

  • Class set of c-jump board games. One game accommodates 2 to 4 students.
  • No classroom computers/monitors are required.
  • Optional teacher's computer with Internet connection and TV screen or overhead projector.
  • Internet access to C-jump Board Game Virtual Tour program (download).

c-jump board game

Tutorial Lesson One

Introduction to basic rules of c-jump

Prior to playing the game, an instructor should introduce basic c-jump rules to the students. The outline presented here follows the order of lessons in C-jump Board Game Virtual Tour . This interactive tutorial animates examples of various game situations on c-jump board. To let students see the animations, use an overhead projector or a classroom TV.

The teacher begins this tutorial by opening How To Play section to cover the basic rules:

  • Spaces on c-jump game board are shown as squares.
  • Each square has a statement of a rule, borrowed from an actual programming language.
  • Square  int x;    creates integer variable x.
  • In the game, x represents number rolled on the die. For example, if player rolls 5, then x becomes equal to 5.
  • All computer programs have a function named main.
  • In the game, square  int main( )    represents the blue ski trail on the board.
  • To begin the game, skiers (colored pawns) line up at the  /* START */   location.
  • First player rolls the die and moves according to the number rolled.
  • Players alternate turns to move their skiers around the board.

The teacher opens next section of the tutorial for   {     }   braces. The teacher goes over the animation and explains the role of curly braces:

  • Opening brace   {   indicates the beginning of a ski trail.
  • Closing brace   }   ends the trail.
  • Braces require no special calculation and can be counted as a free landing space.

Next, the teacher opens tutorial section named main to discuss the role of the keyword main:

  • All computer programs have function named main. Functions define computer operations.
  • In the game, location  int main( )  provides a name to the blue ski trail on the board.
  • Blue ski trail runs continuously from  /* START */   to  /* FINISH */  . It is the longest path in the game.
  • From  int main( )  square the skier moves downhill according to the number of steps rolled on the die.

c-jump board game

Student Activity One

Playing c-jump for the first time

The Task:

To become familiar with c-jump rules and the game board.

The Process:

Divide students into groups of 3 to 4 players. Each student chooses the color of the game piece. For simplicity, students should begin their first game using one skier for each player. Allow each group to choose a volunteer student to look up c-jump rules during the game.

One c-jump game session takes about 30 minutes to complete.

 


c-jump board game

Tutorial Lesson Two

Introduction To Arithmetic and Conditional Statements

The teacher keeps on presenting the topics of C-jump Board Game Virtual Tour . This lesson explains how to play c-jump with multiple pieces.

The teacher opens tutorial section Playing The Game and explains the aspects of the moves, calculations, and conditions:

  • Players begin with one or more skiers for each player.
  • Players take turns to roll the die and move.
  • Roll the die and decide which skier to move.
  • Perform all arithmetic calculations before the move.
  • Many squares require simple arithmetic calculation of steps. For example, if player rolls 4, arithmetic statement  x + x;   becomes 4 + 4 = 8.
  • The player can choose which of the skiers to move.
  • Square  if (x < 4)   requires player to roll the die and test the condition to decide which ski trail to take.
  • If condition ( x < 4 ) is true, the skier follows the "if" pathway and gets a free roll after the true condition.
  • All conditions should be evaluated before the move.

The teacher opens and introduces the students to the following sections of the tutorial:

  • Arithmetic statements:
    • Before the move, if skier starts at a space with an arithmetic statement, player calculates the number of steps by replacing "x" with the number rolled on the die.
    • For example,  x + 3;   means "add 3 to x".
    • The player must replace "x" with the number rolled on the die and add 3.
    • If the player rolls 5, then number of steps becomes 8:
      3 + 5 = 8.
  • Number, divided by itself:
    •  x / x;   means "x divided by x".
    • A number divided by itself equals one.
    • Therefore, the player always gets to move one space from this location.
  • Increment operator:
    •  x++;   means "increment x by one".
    • The player should add one to the number rolled on the die.
    • For example, if the number rolled is 4, the resulting number of steps becomes 5:
      4 + 1 = 5.
  • Decrement operator:
    •  x- -;   means "decrement x by one".
    • The player should subtract one from the number rolled on the die.
    • If the number rolled is one, it becomes zero: 1 - 1 = 0.
    • If the player rolls 1, the skier cannot move on that turn.

c-jump board game

Student Activity Two

Playing c-jump with two pieces

The Task:

At this stage students can start playing with multiple skiers. With two skiers of the same color, players can choose which of the skiers to move. Remind the students that it is best to keep alternating the movement of both skiers, thus reserving the right of better choice for the move for as long as possible.

The Process:

Repeat another game session with two skiers per player. Let students verify correctness of each others' moves according to the rules of the arithmetic statements.

The Grading:

c-jump board game  A+  

After the game each student can make either brief oral presentation, or submit a short written paragraph about arithmetic calculation required by a particular move and its impact on player's experience.

Students are graded on accuracy of their understanding of c-jump rules related to the arithmetic calculations.

 


c-jump board game

Tutorial Lesson Three

Conditional statements if-else

The teacher opens tutorial section about "if" conditional statements and explains their rules to the students:

  • Keyword "if" defines a conditional statement.
  • Statement  if (x == 1)   tests the condition "if x is equal to one".
  • Double equals sign "==" compares two numbers.
  • Before the move a player has to decide which pathway to take based on the outcome of the condition.
  • In the middle of the move the skier follows the fastest ski trail downhill.
  • When condition is true, the skier enters orange ski trail on the right side of the "if" statement.
  • Also, when condition is true, the player gets a free roll and moves the same skier again.
  • When the result of  if (x == 1)   is false, the skier moves downhill.
  • Similar rules appy to other "if" statements on the board, for example:
    •  if (x < 4)   means "if x is less than four," which is true for 1, 2, 3 and false for 4, 5, and 6.
    •  if (x > 1)   means "if x is greater than one," which is true for 2, 3, 4, 5, 6 and false for 1.
    •  if (x < 5)   means "if x is less than five," which is true for 1, 2, 3, 4 and false for 5 and 6.
  • In the middle of the move "if" has no special meaning.
  • In the middle of the move square  if   is counted as a regular step.

Next, the teacher opens tutorial introduction of else clause of the conditional statement and explains its rules to the students:

  •  else   is the alternative pathway of "if" when the condition is false.
  • The else keyword indicates a pathway to follow when condition of the previous "if" statement was false.
  • Keyword else extends previous "if" statement.
  • The skier moves down the number of steps rolled on the die.
  • No special calculation is required before the move.

c-jump board game

Student Activity Three

Playing c-jump with strategy to explore conditional statements

The Task:

Students should continue playing the game with multiple skiers. New strategy is to play with the purpose of visiting locations of  if    and  else    statements as often as possible.

Each player keeps own score and collects one point every time the condition is true when the move begins at the  if    square on the board. A player with the highest score wins.

The Process:

Repeat another game session with two skiers per player. Let students verify correctness of each others' moves according to the rules of conditional statements.

The Grading:

c-jump board game  A+  

After the game each student can make either brief oral presentation, or submit a short written paragraph about the if-else statements and their impact on the outcome of the game.

Students are graded on accuracy of their description of conditional statements.

 


c-jump board game

Tutorial Lesson Four

An overview of the switch statement

Continue using C-jump Board Game Virtual Tour . In this unit, discuss details of the switch statement.

The teacher opens tutorial section named switch and explains the following rules to the students:

  • Starting at the  switch (x)    square, the skier moves to one of the  case    labels.
  • If number rolled on the die is 1, 2, or 3, the skier moves to the square labeled
     case 1:   ,  case 2:   , or  case 3:   , respectively.
  • The player is awarded one free roll and moves the same skier again.
  • If the player rolls 4, 5, or 6, the skier follows the  default :   pathway.

Next, the teacher opens tutorial section for the break statement and explains the following rules to the students:

  •  break;   statement creates an exit from a while loop or from the switch statement.
  • From  break;   square the skier moves the number of spaces rolled on the die.

c-jump board game

Student Activity Four

Playing c-jump with strategy to explore the switch statement

The Task:

Students should continue playing the game with multiple skiers. New strategy is to play with the purpose of visiting the location of the  switch    statement as often as possible.

Each player keeps own score and collects a number of points rolled on the die when the skier moves from the  switch    square on the board. A player with the highest score wins.

The Process:

Repeat another game session. Let students verify correctness of each others' moves according to the rules of the switch statement.

The Grading:

c-jump board game  A+  

After the game each student can make either brief oral presentation, or submit a short written paragraph about switch statement and its impact on player's experience.

Students are graded on accuracy of their understanding of c-jump rules related to the switch statement.

 


c-jump board game

Tutorial Lesson Five

An overview of the while loop

The teacher opens tutorial section demonstrating the while loop and explains the following rules to the students:

  •  while (x > 2)   example.
  • If condition is false, the skier moves downhill.
  • If condition is true, then player gets a free roll inside the loop.
  • Rule for exiting the loop:
    • Square  while (x > 2)   is counted as a step when the skier moves over it in the middle of the move.
    • As a result, the skier exits out of the loop.

Next, the teacher opens tutorial section for the continue statement and explains the following rules to the students:

  •  continue;   statement directs the skier back to the while square.
  • The skier moves according to the number rolled on the die.
  • If there is more than one step in the move, the skier exits the loop and follows the blue trail downhill.

c-jump board game

Student Activity Five

Playing c-jump with strategy to explore loops

The Task:

Students should continue playing the game with multiple skiers. New strategy is to play with the purpose of visiting  while    loops as often as possible.

Each player keeps own score and collects one point every time the condition is true when the move begins at the  while    square on the board. A player with the highest score wins.

The Process:

Repeat another game session. Let students verify correctness of each others' moves according to the rules of the while statements.

The Grading:

c-jump board game  A+  

After the game each student can make either brief oral presentation, or submit a short written paragraph about one particular while statement on the board and its impact on player's experience.

Students are graded on accuracy of their understanding of c-jump rules related to the while statement.

 


c-jump board game

Tutorial Lesson Six

An overview of the return statement

The teacher opens tutorial section named return and explains the following rules to the students:

  • The  return x;   statement provides a way to exit from a function.
  • The skier moves past the  /* FINISH */   line.

Next, the teacher opens tutorial lesson for Finishing The Game and explains the following rules to the students:

  • To complete their goal, skiers must cross the finish line by exact number of steps, counting  /* FINISH */   location as a square.
  • If the number of steps is too big, the player must choose another skier, or skips the turn.
  • First player to move all skiers past the  /* FINISH */   line wins the game.

c-jump board game

Student Activity Six

Playing c-jump with strategy to explore the return statement

The Task:

Students should continue playing the game with multiple skiers. New strategy is to play with the purpose of visiting the  return x;   statement.

Each player keeps own score and collects a number points rolled on the die when the skier moves from the  return x;   square on the board. Player with the highest score wins.

The Process:

Repeat another game session. Let students verify correctness of each others' moves according to the rules of the return statement.

The Grading:

c-jump board game  A+  

After the game each student can make either brief oral presentation, or submit a short written paragraph about the return statement on the board and its impact on the outcome of the game.

Students are graded on accuracy of their understanding of c-jump rules related to the return statement.

 


c-jump board game

Tutorial Lesson Seven

An overview of the goto statement

The teacher opens tutorial section for goto statement to discuss the following topics:

  •  goto jump:   statement points skiers to the square labeled jump:
  •  jump:  is a label that gives the name to a particular location on the board.
  • Labels allow goto statements to point to various places in a computer program.
  • From either location, the skier moves according to the number rolled on the die.

Programmers avoid using goto statement in their work, since programs would quickly become hard to understand and maintain. In the game, the goto statement changes position of your skier from better to worse, so you should avoid it, too!

Although goto statements are rare in modern programs, they still have their use. In some cases, they can increase the speed of execution, which is important for computer hardware. In other cases, goto can simplify a way of exiting from some deeply nested loops, for example, if a critical error occurs.

 


c-jump board game

Tutorial Lesson Eight

Open Discussion About The Game

Playing a game with friends brings up the subject of teamwork. As a team, we must

  • Respect every person's time and balance it against our own.
  • Your opponents contribute an automatic quality assurance by watching you play by the rules.

Multiple players with multiple pieces bring concurrency to the game. Players that keep moving one piece soon discover that they have to implement better scheduling and synchronization to the algorithm of moving the skiers. This reminds me of the deadlock and starvation. Deadlock is the inability to proceed because of improper synchronization or resource demands. Starvation is the failure to schedule a component properly.

Concurrency leads to performance. Performance is a part of usability, and often it must eventually be considered more carefully. The key to improving performance of a very complicated system is to analyze it well enough to find the bottlenecks.

 


Conclusion

What software professionals do is not for everybody. You should go into something you dream about and you love, because you will learn it much quicker. You start small and then spend lifetime learning.

Unfortunately, people often misunderstand computer science as dry and impersonal area, requiring only technical skills. Contrary to that, computer science is not just about logical thinking. It is true that computers work according to precise rules. However, they consist of many pieces. The challenge lies in building and combining things together, which takes a lot of creativity. The pieces that don't exist must be designed, which requires innovation. Assembling the whole system needs teamwork. This process is as creative and human as writing poetry or composing music!



Copyright

Copyright © 1997-2007 Igor Kholodov
C-JUMP FACTORY
28 S Main Street, PMB# 224
Randolph, Massachusetts 02368-4821
United States




US Patent 6,135,451
© 1997-2007 Igor Kholodov.
All rights reserved. This document is protected by International and US Copyright Laws. No part of this document may be reproduced in any form by any means without prior written authorization. The information described in this document is protected by one or more U.S. patents, foreign patents, or pending applications.