Pagine

lunedì 25 febbraio 2019

Informatics and coding: making things clear

by Enrico Nardelli

(versione italiana qua)

It is well known that to connect with people, one must communicate using simple messages. However, simplicity does not always provide an adequate lens through which to understand reality. A current example concerns coding,a term we hear about more and more frequently. In the media sphere, many talk about the importance of teaching it to all students, describing it as the essential language for operating in the digital society: «coding is the new English». Certainly a simple message, but one that is inadequate and misleading in relation to the goals to be achieved.

It is inadequate because it should refer to learning informatics, not just coding, i.e. computer programming, which is its most immediate and operational part. And for this reason, it is misleading because if taken literally, without placing it in the proper context, it risks creating the new proletariat of the future.

I will now go into the details of my critical observation, which is by no means intended to belittle coding, but to put it into the correct perspective.

Informatics is the scientific discipline that explains the basic mechanisms of how those digital machines, now an integral part of our lives, function and are built. As is well known in any technological field, building a machine – except in the case of simple devices or when a genius inventor is at work – does not simply involve starting to put pieces together. Centuries of experience have shown that it is necessary to understand the scientific fundamentals of the domain in which you intend to create the machine, then know how to develop an engineering design that leads to specifying the characteristics of what you want to achieve and defining how it can be manufactured; finally, construction begins. There really is no other way, especially if you want to industrialize this production process, making it repeatable and of guaranteed quality.

Talking only about coding is like giving someone large boxes of bars, bolts, and iron plates and then telling them to build something. As long as that "something" is small and simple, there's no problem, but if you want to build a real bridge, you need something more than just the skill to put pieces together.

With computer programming, i.e., coding, you have the digital equivalents of bars, bolts, and iron plates at your disposal, and there's no problem building small, simple things. In fact, it's much easier than with any other kind of machine, both because these basic components are immaterial – they have no weight and take up no space – and because a vast number of components, even quite sophisticated ones, are available to be combined effortlessly. In modern coding environments, any child can, for example, create applications that are simple today but were within the reach of only cutting-edge centers like NASA fifty years ago: astronauts landed on the moon using a computer system less complex than those found in the "smart" objects around us now. No child, however, can build an Eiffel Tower on their own, even today, even with all the bars, bolts, and plates they could want.

Now let's see why the simple initial message is misleading.

Because throughout human history, the operational level of the workforce has always been the weakest in social conflicts and the most subject to technological evolution. In recent centuries, following the transition from an agricultural to an industrial society, it became clear that education is fundamental to enabling everyone to have a satisfying working life over time. And indeed, in recent decades, in all advanced countries, there has been a strong emphasis on the duration and quality of school and university education. In Italy during the 1950s and 1960s, children from less affluent classes were encouraged to study and graduate precisely with this in mind, which remains the correct approach for social and economic growth.

We are now in the transition phase from an industrial society to a digital society. The new machines are far more sophisticated than industrial ones; they are "cognitive machines," but the basic problems of labor remain. In fact, with the acceleration of technological progress, they are already emerging. The sophistication of those computing techniques generally grouped under the name "Artificial Intelligence" is already making the automatic production of computer programs possible. For now, this happens in still limited domains and to a very small extent. But it is an unstoppable trend. It is clear, therefore, that pointing to only coding as the goal of education in digital skills risks leading those unaware of these scenarios down the wrong path. Without providing young people with a broad-spectrum education on the various aspects of informatics, we will only train "digital laborers" who will be the first to be pushed out of the job market.

In a context where this strategic vision is clear, we can certainly talk about coding, because after all, writing computer programs is a fundamental activity for learning informatics. Just as knowing how to do arithmetic operations or calculate the area of geometric shapes are fundamental steps in learning mathematics. So "doing coding" is perfectly fine, especially if it helps to get young people interested in a subject that can bring them a lot of satisfaction. But let's be careful about how the message is communicated!

It is essential to insist on the importance of a solid scientific education in informatics from the early school years. This is the path that several advanced countries have already taken (e.g., the USA, the United Kingdom, Israel) and on which our academic informatics community has submitted a comprehensive proposal to the Ministry of Education. Let us hope that the government of change is able to seize this opportunity.

--
The original version (in italian) has been published by "Il Fatto Quotidiano" on 20 February 2019.

Nessun commento:

Posta un commento

Sono pubblicati solo i commenti che rispettano le norme di legge, le regole della buona educazione e sono attinenti agli argomenti trattati: siamo aperti alla discussione, non alla polemica.