What is coding?

flash

To be able to make the application Build your town! , I had to learn how to code. I thus took a course online about Actionscript 3, the language which uses the software Flash of Adobe, and I annoyed also much my colleague Benjamin, who knows Actionscript on the end of the fingers.

flash

It was for me like a return in time. At 11 years, I made little programs in BASIC, recopied lines of code to be able to play Snake or to see my name being written on my television set. It was magic! I found this same pleasure while building Build your city!.
One speaks much about training of coding at the school, and I met last February a group of researchers, developers, teachers, who thinks of this future of education. By putting their discussions compared to my practice, I needed to put at light my own thoughts. They will be the object of several articles. Here the first.

All starts with a need…

I have a need to satisfy. It can be vital (to nourish me, protect me,…), educational (to render comprehensible with a child whom it should not put its fingers in the catch,…), cultural (to divert me,…) This need can relate to me, or concern my close relations, my colleagues, my neighbors, my fellow-citizens,…
How to satisfy this need?
I analyze the ways of satisfying this need.
Certain needs can be satisfied in a simple way, with an already existing solution (to find food, a ustensil to hide the sockets, a video game available on my console,…)
Others do not have immediate and accessible solutions. I thus have a problem.
I must reflect how proceeding. I must project myself in the future to imagine a way of solving my problem. I go, thanks to this projection, to eliminate certain possibilities, and to promote others of them.
If it is that it is necessary to invent and implement a solution which does not exist yet, it will be necessary me to set up a strategy, a diagram of construction which corresponds to my problem, with my way of apprehending it, my way also of considering the world.
Which relationship with the code? coding?
The diagram which will lead me to solve my problem, I build it gradually. I consider a first solution, then I imagine (or I test when it is possible) what it will have as positive or negative consequences. According to this first answer, I will modulate my solution, will make him take another way, even to remove it to think of another.
Each stage is analyzed and appears a kind of “node” in my reasoning, like a junction. The segments follow one another until arriving at the solution.
To code, it is what I have just described.
To code, is that connected with the use of a foreign language?
The data-processing code is a language, with its words (many of them drawn from English), its syntax (which it is paramount to respect) and its construction. In this direction, to learn a data-processing language resembles the training of a language.
This language makes it possible to dialogue with a machine, a machine which was created to receive this code. The interaction between who “speaks” this language, and the machine which receives it is immediate, there is an action which results from this (even if this action is sometimes an error message), inevitably.
But to code, it is much more than speaking a language.
Let us take an example:
I am in a country whom language I do not speak, and I am lost.
My need: to go to a precise place.
My problem: to find my road.
While analyzing the possible solutions, I realize that I do not have any map, not internet connection to download some, and my only solution is to require my way.
The person who informs me understands fortunately the name of the building in which I must go.
With the signs which he makes, I associate quickly  the notions “on the right”, “on the left”, “straight” to the words corresponding in his language.

Here am I, for little that my memory is good, with a series of instructions which I can follow, and I can follow them because I know how to direct my steps towards the right-hand side, the left or to go straight.
The resolution of my problem was about coding: I analyzed the situation and coded my answer in “I must seek a person, then to ask him my question, to retain his answer and to reproduce the movements which were indicated to me in the good order. The person who helped me solved my problem thanks to a code: she transmitted a set of indications to me to be followed, in a particular order.

I have just described my understanding of coding. In the next article, I will tell you why I think that it is important for the children to learn how to code (not that for the children, moreover). The article is here: “I code, I grow.”