Benefits of Programming for Children and Adolescents

Reverbtime Magazine -
  • 0
  • 7
Scroll Down For More

If we give a boy or girl a smartphone, from a very early age (many would say surprisingly early) we will see that learning from observing the interactions of adults with these devices, they manage incredibly well using these devices. They have been born, raised and learned in an environment with many technological tools at their fingertips and they know how to relate to them.

They know how to use them. Maybe (surely) better than some adults. And that is an advantage that can be taken advantage. In this blog Aark Learnings has talked about the benefits of programming for children and adolescents.


A FREQUENT MISTAKE IN LEARNING ROBOTICS

Knowing how to use technological tools is not the same as understanding their use or knowing them, and this also applies to robotics. One of the things that should worry us the most when teaching robotics concepts is that, frequently, the difference between understanding its operation, its implications and its capabilities is not distinguished from the fact of knowing how to reproduce a certain effect.

Children often learn, through repetition, to be able to exactly reproduce a procedure in order to obtain a specific result. For example, they know that 2+2=4. But if they don't understand how the concept of addition works, they won't know how to get to the result of the operation 1+3=?

I know what I'm saying seems very obvious. But with a high frequency, I come across texts that teach how to achieve a certain effect and that completely ignore the reason for the said operation, its relevance in the context of robotics or the potential it offers. So that's what we'll try to deal with in this section, or at least that's my intention. Let's hope it can be said that I have achieved it.

So, in order to talk about robotics for children, adolescents or adults, first of all, we should talk about the concept of programming. Although a robot has to be able to act autonomously in certain situations, it is previously up to us to program the robot so that it can face them and learn in the face of new eventualities.


WHAT IS PROGRAMMING?

Programming is a communication tool. Specifically, one in which indications are given in a unidirectional way.

Since the purpose of this section is precisely to end up offering a range of tools and proposals with which to teach robotics when explaining programming concepts we are going to contextualize them in this field.

In all communication, there are different elements: a sender, a receiver, a communication channel, a message and a code or language. If any of these elements fail, we will not be able to consider that there is functional communication, that is, they will never understand each other.

Thus, these elements could be exemplified in what programming a robot would be as follows:

- The sender: the programmer

- The receiver: the robot itself

- A message: the list of instructions to follow (which we will call "code")

- The channel: the method that we use to load the code

- Coding: the programming language

The last two are probably the ones that are most diffusely explained, so we will proceed to analyze them in a little more detail.


THE COMMUNICATION CHANNEL

The communication channel designates the type of communication that we will use in the interaction between the robot and the device that we use to write the code (a computer, a tablet, a smartphone, etc…). That is to say, the communication channel will be by cable or wirelessly.

Within the communication channel, we should specify that the communication protocol also exists, that is, how the aforementioned channel is going to be used. Wireless communication can be via Wi-Fi, or Bluetooth, to give a few examples. Generally, we usually say that two devices communicate via Bluetooth or wifi, ignoring this differentiation between channel and communication protocol.


THE PROGRAMMING LANGUAGE

The programming language would be equivalent to the language in which communication between two people was established. We could consider that, at a basic level, it is nothing more than a tool for communication: they all serve the same purpose.

However, just as it happens with languages, they all have their particularities, their evolutions and their characteristics.

For practical purposes, then, the reality is that the use of each programming language ends up being more or less ideal depending on the functionalities, devices or protocols with which we want to work.

But let's go to the million-dollar question...  Why teach programming?


PROGRAMMING BENEFITS FOR CHILDREN, ADOLESCENTS AND ADULTS

The first thing we must be clear about is that programming is a tool rather than a purpose in itself. Continuing with the parallelism of the languages ​​that I mentioned earlier, we learn languages ​​to be able to use them in a work environment, read or view works in their original language or communicate with people. In other words, apart from the cultural richness that it entails, we learn a language to communicate better with other people and the very end is that communication.

Therefore, although it is interesting and important that they learn to program, we must not lose sight of their ultimate purpose. We are going to see what are the benefits of programming for children, adolescents and adults, in the same way, that on this website we have seen the benefits of board games or the benefits of role-playing games (and even comics).


Creativity and decision making

The best way to learn to program is to continuously face a progression of challenges that increase in difficulty level. This implies that throughout this progression:

- They try to be innovative.

- They stimulate your creativity.

- They apply ingenuity in order to find solutions in the most efficient way.

Along the same lines, it should also be taken into account that decision-making will be constantly worked on. The reason is that, for each deduction that is made, it will be necessary to search among many possible commands which ones are applied and the way in which they are combined to achieve the desired solution.


Challenge orientation and frustration tolerance

In addition, as programming knowledge progresses, the understanding of how computers work will increase, thus opening the understanding of a new paradigm with which to face the challenges of the world.

In this way, the dynamic of trying to improve oneself or tolerating frustration in the face of a problem that one does not know how to solve is generated.


Teamwork and communication skills

On the other hand, the need for cooperation between different students will necessarily help to improve oral and written comprehension.

Along the same lines, you will also improve all the communication skills necessary to convey ideas and concepts. All this, of course, while learning to work as a team.


Key competencies in areas of knowledge

In a similar way, we must take into account that for many of the situations we will have to elaborate from simple to complex calculus or mathematical approaches. Consequently and, obviously, in a very common way, these skills will be worked on without this being the purpose itself.

Programming can be used, of course, to enhance knowledge of other areas by contextualizing the exercises for it. The list is as long as one wants: history, geography, languages, etc.


Planning and hypothetico-deductive thinking

Highly complex projects or difficulties will require a separation of the different functional blocks, as well as defining development phases and the necessary planning to face them.

Therefore we will be working on formal hypothetical-deductive thought. By learning and improving performance in the programming language, we will have to venture and plan the supposed steps that the robot will have to carry out, or the environment information that the sensors will detect, to formulate a theory about the possible result and re-program depending on how to correct our hypothesis has been until the desired result is obtained.


Computational thinking

In short, we will be working on computational thinking  through the following tasks:

- Organize and logically analyze information.

- Establish its representation through abstractions (whether it is to elaborate models and/or simulations, to carry out the planning that we have previously commented on or simply to be able to communicate the ideas to the rest of the team that works on the project).

- Seek solutions that automate steps through algorithmic thinking.

- Generalize and transfer the processes already carried out in order to subsequently use their implementation to solve a wide variety of families of problems, either by applying the entire solution found or by learning to fragment the solutions (generally the source code) so that said blocks can be used in combination.


Logical thinking and lateral thinking

Finally, through programming and taking care of the exercises to be carried out, we can work on aspects such as logical thinking or lateral thinking.

Although the first is usually very easy to work with through programming, the second will depend on both the exercises proposed and the methodology used as well as the way to deal with the problem, it is not something that is inherent to programming itself.


HOW LEARNING PROGRAMMING SHOULD BE

But above all and despite everything, it is very important to emphasize that, although it is true that all this knowledge can open the way to a future job in a programming environment or in engineering or another similar technical option, in any case, learning programming should be fun.

We are talking about robotics taught to children and young people who still don't know what they want to do in the future. My firm recommendation is to let them have fun and learn by playing. And, if this knowledge ends up opening a door to a certain professional future, fantastic. If not, all that fun and learning that they will take to the backpack.

We must not forget either that programming will not teach or exercise all these virtues by itself. Like many other activities that can help develop or enhance all these abilities and faculties, programming is nothing more than a tool to work with.

We must not lose sight of the fact that the approach to the training to be given, as well as the person who acts as an educator, is of paramount importance in the activity.

Related Posts
Comments 0
Leave A Comment