Scope of the Curriculum
The Coding Missions programming course is logically divided into three parts: Course I, II, III, which correspond to the degree of difficulty - advancement in terms of applied programming techniques (algorithmic constructions).
In addition, the boards in each course represented by Levels are characterized by an increase in the degree of difficulty with each subsequent board. An increase in difficulty may mean: a more complicated board layout, the introduction of a new programming technique, or both at the same time.
The initial boards in Course II and Course III contain revision exercises from the scope of previous courses.
The following sections present the scope of the program for individual courses.
Course I - Scope of Teaching
Course I is dedicated to sequential programming with one hero - Kodi. We control the hero on the board, performing all necessary Actions, collecting equipment, which we use at the right moment on the board.
Creating sequential code is one of the basic techniques of algorithm design. When we solve a problem in which we can predict all situations that may occur and solve the task in the form of sequentially following program instructions, then the most basic technique is to write all actions in order. This procedure is called creating a sequence of code instructions, in short, creating a sequence. This approach is sufficient for many simple algorithmic tasks consisting of several or a dozen instructions to be performed.
Actions available on the boards are described in the document: Kodi's Missions - Programming Language Description.
Topics in the Course
The table below collects information on the introduced topics and their corresponding board levels.
Table: Course I - Topics and Levels.
Course I - Main Topic | Course I - Levels (board numbers) |
---|---|
Navigation | 0-11 |
Conditional Instructions | 12-20 |
Iterative Loops | 21-42 |
Conditional Instructions in Loop | 43-58 |
Nested Loops | 59-76 |
Nested Conditional Instructions | 77-79 |
Conditional Loops | 80-90 |
Variables | 91-105 |
Functions | 106-129 |
Application Examples
Board 0 - learning navigation.
Board 8 - introduction to actions.
Board 12 - introduction to conditional instructions + filling in empty blocks (partially ready code), two screenshots.
Board 21 - introduction to counter loops.
Board 43 - first use of nested constructions. Condition in a loop.
Board 59 - nested loops.
Board 80 - introduction to conditional loops.
Board 86 - combinations of counter loop and conditional loop.
Board 91 - introduction to the concept of a variable.
Board 106 - introduction to functions without parameters, two screenshots.
Course II - Scope of Teaching
In Course II, the code is still sequential with Actions, but an additional one or two additional heroes appear on the board. In addition, Events are introduced, which need to be handled in the code.
Actions, Events available on the boards are described in the document: Kodi's Missions - Programming Language Description.
Topics in the Course
The table below collects information on the introduced topics and their corresponding board levels.
Table: Course II - Topics and Levels.
Course II - Main Topic | Course II - Levels (board numbers) |
---|---|
Sequences (second hero on the board, sequential programming) | 0-10 (8-10) |
If, If NOT (second hero on the board) | 11-31 (14-18, 23-31) |
Iterative Loops (second hero on the board) | 32-37 (34-37) |
If, If NOT in Loop (second hero on the board) | 38-49 (41,42,46,47) |
Nested Loops (second and/or third hero on the board) | 50-59 (53, 56-59) |
Conditional Loops (second and/or third hero on the board) | 60-86 (62-72,75,79, 84-86) |
Variables (second and/or third hero on the board) | 87-108 (90-93, 99-102, 106-108) |
Functions (second and/or third hero on the board) | 109-138 (112-116,120-123, 127-130, 134-138) |
Events | 1-22 |
Application Examples
Board 138 - introduction of the second hero. Sequential programming, first use of teleport.
Board 142 - first use of If, If not condition.
Board 156 - new hero.
Course III - Scope of Teaching
Course III introduces a new programming technique - concurrent programming. On the board, we simultaneously control two or three heroes, perform different Actions and handle Events. The movement of all characters must be synchronized to allow Kodi to reach the finish line first. The player learns the concept of a clock cycle. For each board where concurrent programming can be used, the maximum number of clock cycles is specified. Each action/condition check is one clock cycle.
Actions and Events available on the boards are described in the document: Kodi's Missions - Programming Language Description.
Topics in the Course
The table below collects information on the introduced topics and their corresponding board levels.
Table: Course III - Topics and Levels.
Course III - Main Topic | Course III - Levels (board numbers) |
---|---|
Navigation, sequential or concurrent programming with two or three heroes | 0-20 |
Conditional Instruction, sequential or concurrent programming with heroes | 21-31 |
Iterative Loop, sequential or concurrent programming with heroes | 32-42 |
Conditional Instruction in Loop, sequential or concurrent programming with heroes | 43-52 |
Nested Loop, sequential or concurrent programming with heroes | 53-60 |
Conditional Loop, sequential or concurrent programming with heroes | 61-72 |
Nested Conditional Loops | 73-84 |
Variables, sequential or concurrent programming with heroes | 85-116 |
Functions, sequential or concurrent programming with heroes | 117-151 |
Events | 1-20 |
Application Examples
Board 233 - use of a variable as a state to decide on the further path based on previously performed actions. New field: cracked field, disappears after passing.
Board 260 - introduction to functions with parameters, two screenshots.
Board 276 - introduction to concurrent programming, new concept "Event", three screenshots.
Board 287 - new possibility of triggering the event "receive message", three screenshots.