Teaching Program Resources

Programming Language

General concept of programming on an interactive floor

Programming in the Go Lumi! application involves arranging virtual blocks with instructions into a single horizontal string of characters. We do this on an interactive floor, using light pens (interactive pens). A distinctive feature in this programming language of the hero is the lack of need to count fields and each step of the robot on the board. If we say "Go right", the robot will move until it encounters a virtual obstacle on the road, e.g., a maze wall.

Syntax and semantics of the programming language in the Go Lumi! application

Syntax - rules for creating a sequence of instructions

The main program sequence (otherwise known as the basic sequence) in the Go Lumi! application can consist of a maximum of twelve blocks with instructions.

In the sequence, two types of instruction blocks can be distinguished:

  • simple instructions, expressed in the form of a single block with a command, e.g., Go down, Pick up, If you are on a conditional field, then go right.
  • complex instructions, expressed in the form of one or several blocks with commands, e.g., Repeat the following sequence 3 times, Perform the first function. They relate to loops and functions.

Theoretically, for each board, a sequence can be composed consisting only of blocks with simple commands, without using loops and functions. Due to the imposed limitation of the number of blocks in the main sequence to twelve, in some tasks, more complex code structures, such as an iterative loop or defining a function, creating a helper sequence for it, must be used.

A sequence for a function can be defined using a maximum of six blocks with instructions. Two functions can be defined for the task. The beginning of the function definition is marked with the F1 or F2 block. Defining a function allows you to limit the use of space in the main sequence to one F1 or F2 block, with which we refer to the defined function.

When using an iterative loop, you should indicate the number of repetitions n, mark the beginning of the sequence with a loop block and the end of the sequence with an end loop block, which the robot is to repeat.

The rules for building code are summarized in the Table: Syntax of the language in the Go Lumi! application.

Table: Syntax of the language in the Go Lumi! application

Language Element Application Rule
Length of the basic instruction sequence Maximum of 12 blocks with instructions
Length of the instruction sequence for functions Maximum of 10 blocks within the main sequence.
Defining a function We mark the beginning of the auxiliary sequence for the defined function with a block or . We refer to the function in the main sequence with one block or .
Defining an iterative loop We use an additional 2 blocks in the main sequence. We mark the beginning of the loop instruction with a block and define the number of repetitions n for the instruction in the loop, and we mark the end of the loop instruction with a block .

Semantics - the meaning of individual instructions

Explanations for the blocks with instructions are presented in the Table: Commands-blocks in the Go Lumi! application

Table: Commands-blocks in the Go Lumi! application

Symbol / Block Meaning - instruction for the robot
Go right
Go left
Go up
Go down
If you are on a conditional field, then go right

Working with the Go Lumi! application

After launching the Go Lumi! application, the main menu screen is visible. From here you can:

  • select a level and start the game (the Select level button),
  • go to the application instructions (the Instructions button),
  • exit the application (the Exit button).

The start screen of the Go Lumi! application is shown in the figure below.

In the Go Lumi! application, you can choose from 110 game levels, and each level is one board to solve. Boards that have been solved are highlighted in orange. After selecting the game level, a white frame appears around the tile. You can now start the game by clicking the Start button in the lower right corner of the screen or return to the main menu by selecting Main Menu.

The level selection screen is shown in the figure below.

After familiarizing yourself with the instructions, you will learn, among other things, why there is a mess in Lumi's warehouse and what missions await you during the game. You will also find tips on creating code and using basic programming constructs, such as conditions, iterative loops, and functions. The view of the instructions for the task is shown in the figure below.

After selecting a level and starting the game, you go to the screen with the board view and code editing. On the top bar in the application window, there are buttons described in the Table: Basic application management options.

Table: Basic application management options.

The figure below shows the window view with an example board.

In the above figure, you can see that messages about the current state of the game are displayed on the bar just above the code editing. To start creating code, click on the square with the plus in the bottom part of the screen and select the appropriate block. The names and examples of use of each block are described in the instructions. To delete the selected block, hold the pen on it and then select the trash can icon. After creating an algorithm with a solution for the board, check your solution by clicking the Run button to run the program and the hero on the board. If the code you created is correct, you will move on to the next level of the game.

The figure below shows the menu available after clicking the pen on the empty block with the plus.

In the above figure, you can see that in the context menu we have all the basic instructions for building an algorithm for the robot's ride.

In the instructions inside the Go Lumi! application, examples of creating algorithms using conditional instruction, Pick up and Drop action, application of iterative loop and functions have been presented and described.

The figure below shows the window view with the instructions.

The above figure shows the game instruction window. To return to the game level selection, you need to select Main Menu.

Course Structure

The course consists of eleven lessons, see Table Lessons - scope of the curriculum. Each lesson is assigned a set of ten exercises of varying difficulty levels. Interactive floor exercises are based on the Go Lumi! application. Lessons have a proposed class scenario. Each board has one or more correct solutions. The teacher can choose from the proposed exercises or create their own exercise in the Go Lumi! application using the board editor. Students carry out the ready-made scenario or one modified by the teacher.

Table: Course Volume

Course Element Quantity
Number of lessons in the course 12
Number of exercises - boards for 1 lesson 10
Number of difficulty levels for 1 lesson 10 (1 board = 1 level)
Total number of exercises - boards in the course 110
Board design mode 1

In the Table: Lessons - scope of the curriculum, the domains covered by each lesson are given. The age group for which the course scope is dedicated is also indicated.

Table: Lesson - scope of the curriculum

Lesson Number Curriculum Scope / Domains (short notation) Number of exercises - boards Board Numbers Age Group
1 Sequences (S) 10 1-10 7-14 years
2 Sequences, Conditions (S+C) 10 11-20 7-14 years
3 Sequences, Actions (S+A) 10 21-30 7-14 years
4 Sequences, Conditions, Actions (S+C+A) 10 31-40 7-14 years
5 Sequences, Iterative Loops (S+L) 10 41-50 7-14 years
6 Sequences, Iterative Loops, Conditions (S+L+C) 10 51-60 7-14 years
7 Sequences, Iterative Loops, Conditions, Actions (S+L+C+A) 10 61-70 7-14 years
8 Sequences, Functions (S+F) 10 71-80 7-14 years
9 Sequences, Functions, Conditions (S+F+C) 10 81-90 7-14 years
10 Sequences, Functions, Conditions, Actions (S+F+C+A) 10 91-100 7-14 years
11 Sequences, Functions, Iterative Loops, Conditions, Actions (S+F+L+C+A) 10 101-110 7-14 years

In the Table Curriculum Scope - Lessons, the lesson numbers that cover the given material scope are given.

Table: Curriculum Scope - Lessons - Task Levels

Curriculum Scope / Domains Lesson Number Task Levels in the Go Lumi! application
Sequences 1-11 1-110
Conditions 2, 4, 6, 7, 9, 11 11-20, 31-40, 51-70, 81-110
Actions 3, 4, 7, 10, 11 21-40, 61-70, 91-110
Loops 5, 6, 7, 11 41-70, 101-110
Functions 8, 9, 10, 11 71-110

In the Table: Curriculum Scope - Age Group, the suggested age of students for the teaching scope is indicated.

Table: Curriculum Scope - Age Group

Curriculum Scope Age Group
Sequences 7-14 years
Conditions 7-14 years
Actions 7-14 years
Loops 8-14 years
Functions 10-14 years