Kaleidoscope home

Programming Building Blocks

CreatedMonica Wijers, 04 April, 2006 Modified:04 April, 2006
SummaryThis case study has three parts: a description of the game, an observation, and a description of how the deployment of this game fits the typologies. These parts may be read in random order. Note: Maybe it is better to integrate parts of the matching with the typologies in the case study.

Programming Building Blocks

Submitted By Monica Wijers on 04 April, 2006


mathematical content content:  Space - 3D coordinates, Programming (is not in typology, is not math content in strict sense), Using variables (is not in typology, don’t know were it should fit); integration: Explicit; skill: Reasoning (don’t know inductive or deductive), Argumentation (they continually try to convince each other), Problem solving,Spatial Perception, Hypothesis testing  
learning and instuction    
games    
interface and interaction Controls: Mouse,  Keyboard; Actions: Flexibility (Flexibility in choosing type of actions), Navigation(a new task can be chosen at any moment, game can be exited any moment);
Graphical user interface: 3D, partly 2D, Still;
Result (Feedback on result is in fact a feedback on the process); Process (Every building step/removing step in the programming process results in ‘visual’ feedback in the form of blocks being build or removed. Players can check the result against the building they are constructing.)
Accessibility: Not suited for visually handicapped, auditive okay, Physically handicapped maybe
Skill level:  Novice / intermidiate - no programming skills needed, maybe some spatial sense, some idea about the interface but there is help available. the game is intended to be more challenging than the variant building by mouse clicks).
Hardware:       PC/Mac
Connectivity: Internet (is not in the typology)
Time on task: (about 20 minutes)
Accuracy: (accuracy in programming is an issue, accuracy in clicking also, it is easy to click on the wrong spot when placing just one block).
Number: single user / pairs
Role: (the other player is most likely a team mate, but in the interaction he/she may become a kind of opponent, as can be seen in the observation where players disagree)
 
software design    
educational context    

Description of the game

The game ‘block programming’ is one of the games in the set of ‘building blocks’. The goal is to use a simple programming language to build the block building shown as an example. The programming language has a lot of possibilities: blocks can be build 1 by 1 by giving their 3D coordinates, if variables are used layers or rows of blocks can be build as a whole. The possibility to build or remove blocks by clicking on them is also available.

Observation, march 2005 Setting:

Block programming is part of a weekly task of these students. It could be found as the ‘problem of the month’ on the Dutch site Rekenweb. The variant shown there had 4 tasks. (there is also a free play variant, that is more a toy). They work in pairs at one computer. The teacher doesn’t check what they did, but only if they did the task. These students are experienced users of the Rekenweb.

Observation

Ali and Yusuf start a new task in the Th!nklet Block Programming. This is the building they are going to program.

They immediately open the help. They review how to build a full block and make some notes on scrap paper. They define the range for x and y to be 1..10, and add build x,y,1 but change this immediately into build x,y,2. They want the command to build two layers on top of each other. ‘Execute’ results in one floating layer.

Y. No, it needs to be build x,y,1,2, then there will be two layers on top of each other.
It is impossible to build the two layers using one command. Once they realize this, they type two separate command lines that generate the two layers.
They continue typing the commands x = 1..9 and y =1..9.
A. I got it, it is really easy’.
He types: build x,y,3.  
To their surprise this is wrong.
Y. we must have given the wrong build-command.
He now enters build x,y,9.  
   

Wrong again! Ali and Yusuf try breaking down part of their result but this is not easy. Finally they remove the wrong layers manually by clicking the blocks away. Then they start building the third layer again. The result is not what they wanted.

Y. This one should go on top.
Yusuf is referring to the building they must make, which has the smallest layers on top. Again they are stuck. The observer hints to change the number 1 in the definition for the range of x-values into another number. They change the command to x = 9..3. Nothing happens because the numbers are in the wrong order. The boys realize what is wrong and reverse the order. Now they are on track.
They notice that two rows are missing on the left instead of one.
They change the definition of the range of x to x = 4..9 but an extra row disappears on the left.

Yusuf understands he can correct the mistake by changing the ‘4’ into a ‘2’.
But they mistakenly make this change in the first line of their program.

The whole building now changes.
Ali remarks they should have changed the other line. They change the program all over, which results in three layers.

Ali wants to break down parts of the third layer to make it smaller and enters the command break 3,2,3. Yusuf predicts that only one small block will disappear. He is correct! The boys now disagree: Yusuf knows what to do, but Ali wants to break down blocks by clicking. Yusuf goes to work on a different computer and writes the correct command lines for the first four layers.

He yells, “ I got it Ali, I got it, it is easy.” Ali doesn’t listen; he is busy experimenting on his own. Yusuf continues building layers and comments on his own actions ‘right it is easy indeed’ ‘yep’ I’m ready’. And he is right!

Discussion


Versions


Version 2(25 June, 2006) 
Version 1(25 June, 2006) 

group to discuss Programming Building Blocks

view dump

Title (responses)AuthorDateLast Post
There are no messages to display

helploginprintemail   log in  
  Search