Programming will be like writting&reading
I started programming when I was 12 years old in the 85. I went regularly to a youth club of Madrid in which an activity monitor, who should be a little crazy, rode a computer room with five or six computers Amstrad CPC 8 bit, with an integrated cassette and a microchip Z80 as CPU module.
With 12 years my mind began to structure towards the management of problems with basic algorithmic mechanisms, started learning to break down problems or needs in sequential steps to solve them. Something that we all do in natural and unconscious way at every turn, passed to be written into a set of instructions that the machine ran to solve for me. I learned how to decompose the actions to meet needs, as for example something as simple as drawing a white line on a black background, helped me to translate what a priori seemed a single action on multiple micro-steps which sequential execution allowed me to solve the challenge.
I don't know if it was coincidence or not... years later I became a software engineer, and worked as such only for 5 years, programming and making my day to day in a constant exercise of decomposition an aggregation of micro-actions and its translation to languages suitable for machines. Then I stopped programming but I never left problem solving and never will, just like any other person.
20 years after my first contact with the machines and their algorithmic language, ACM (US Association for Computing Machinery) has just announced their award to Jeannette Wing (Corporate Vicepresident of Microsoft Research). This recognition is based on studies and legacies Wing left and still leaving in order to get the computational thinking included as part of the basic studies of children around the world.
Ms. Wing shows us in simple words what many believe. Thanks to the algorithmic computational model, we acquire the ability to split a problem or human need in easy steps in order to be able to solve them creatively through a computer. This is perhaps one of the best learning that students can obtain from an early age. The ability to synthesize in writing one step after other and parallel roads to get to perform a task. This form of addressing problems and Solutions, will structure our minds to creativity and the resolution of simple or complex situations under the scheme of “divide&win” rule. The best: this is for everyone, even for those who are considered theirselves, perhaps in a wrong way, less skilled in using the computer. Computational thinking has in its centre the human capacity to resolve situations of need, risk or pleasure (Top three live-engines of humans).
Algorithmic thinking trains us to group items, search all the possibilities, manage risk, time, and speed. Computational thinking leads us to find beauty and tools, reuse the useful and delete the redundant, pushes us to seek alternatives, in a nutshell, teaches us to create.
Creating algorithms is something very simple, much like living each day (which sometimes is not so easy). Any of us can begin to think and write algorithms with less than 10 hours of classes, and indeed children can as today are born almost with a tablet under the arm.
There are already many schools, mainly in the United States, that include subjects related to computational thinking. Not under the idea of generating programmers, but under the conviction of helping students with basic tools and new resources to build their future. Congratulations to Jeannette Wing.