Smartick is an online platform for children to master math in only 15 minutes a day

Mar12

# Types of Programming Exercises in Smartick Coding

In a previous post, we spoke about basic coding concepts: instructions and control structures. Today we will expand on the topic a bit more and explain the different programming exercises children learn with Smartick Coding.

All teachers agree on the importance of reading code as much as possible in order to write it correctly. This idea is present during a child’s journey of learning to program with Smartick, where exercises vary by balancing between reading and writing code. In particular, we offer the following types of exercises in Smartick Coding:

• Debugging Code
• Refactoring
• Writing Code

### Types of Programming Exercises in Smartick

The child is given a code and a scenario and must interpret the code to know where Robby will be when the code is executed. Robby only moves around the screen when the correct answer is given. Therefore the child must work on an abstract level to imagine how Robby will move. During the early stages, it is common for the child to move around or move a hand in the air. They do this in order to understand how Robby will react to each piece of code. Children can always use a toy car or another object on the table to represent the situation in case these exercises are complicated for them. With practice, and without rushing, children are able to learn through abstract thinking. They do so by imagining the situations mentally and not having to use physical references.

#### Debugging Exercises in Coding

Children are given a code, a scenario, and a goal. They must then decide whether to delete or change some of the instructions that have already been given to help Robby reach the goal. This debugging work pushes the child to concentrate on reading code, focus on finding errors, and correct them. These are essential to both programming and mathematics, as well as accepting that mistakes are a natural part of the creation process.

#### Refactoring Exercises

We could tell someone something that happened to us yesterday in a thousand different ways. If we write a thousand paragraphs telling the same story, some will be better written than others. Although there is some subjectivity in programming, from the beginning we want children to be able to distinguish between code that does what it has to and code that does exactly the same thing, but better. We want children to create code that is cleaner, shorter, and clearer. To work on this skill, and the ability to judge and improve our own code, we present examples of codes that can be improved, so they write an equivalent, but more suitable code.

#### Code Writing Exercises

The last type of exercise is code writing. This is the one that takes the most time and logically presents the most difficulties. In these exercises, the child has a blank program area and must place the blocks in the correct order so that Robby completes the mission. This task is comparable to problem-solving in mathematics and requires greater effort and concentration than other exercises. It also requires a greater tolerance for frustration and the ability to embrace errors as part of the learning process.

Children repeat each code writing exercise until they master the skill. They have as many attempts as they need. In the end, they get the same reward regardless of how many times they have tried. It is very important for children to keep in mind that every mistake is a learning opportunity, not a failure. By advancing, Robby always starts and carries out the code the child has written and with that, the child can gradually approach the solution.

As we have seen in this post, in Smartick Coding we not only seek to have children learn to program, but we also want them to be able to evaluate code, reflect on it, find mistakes, and edit accordingly. We also take care to develop different types of exercises so students can work on these more concrete skills. Skills such as sustained attention, frustration tolerance, self-learning abilities, and computational thinking are also improved by the different exercises.