Pagine

venerdì 28 settembre 2018

Coding o informatica: questo è il problema

di Enrico Nardelli

(english version here)

All'inizio di quest'anno la Commissione Europea ha lanciato un ambizioso piano d'azione per l'istruzione digitale. Partendo dalla giustissima premessa che “istruzione e formazione sono i migliori investimenti nel futuro dell'Europa” propone, per adeguare la formazione all'era digitale, di intervenire lungo tre linee di azione:
  1. migliorare l'utilizzo della tecnologia digitale per l'insegnamento e l'apprendimento;
  2. sviluppare le competenze e le capacità digitali pertinenti ai fini della trasformazione digitale;
  3. migliorare l'istruzione mediante un'analisi dei dati e una previsione migliori.

Nulla da dire sulla prima linea: è noto che un uso ben calibrato delle tecnologie digitali può migliorare sia l'insegnamento che l'apprendimento. Certo, le difficoltà sono tutte nella buona calibrazione, ma confido che la nuova direzione politica del MIUR e l'esperienza della nostra classe docente (tra le migliori al mondo) saranno in grado di indicare e trovare le giuste soluzioni.

Anche la terza è estremamente valida: viviamo nell'era dei dati, che raccogliamo a tutti i livelli. Se ben analizzati ci possono dire molto sulla situazione attuale, ad un livello di granularità mai raggiunto prima. Anche qui il diavolo è nelle minuzie realizzative: da un lato la garanzia di privacy verso le persone, dall'altro la consapevolezza che tra ciò che misuro e la realtà c'è una distanza che non va mai dimenticata. I generali che hanno confuso la mappa con il territorio non hanno mai brillato nelle campagne militari.

Vorrei spendere qualche parola sulla seconda linea, perché per la sua attuazione, oltre a misure di accompagnamento relative alla sensibilizzazione, comunicazione e riduzione del divario di genere (tutte importantissime!) l'azione concreta che viene proposta è quella di “introdurre classi di programmazione in tutte le scuole". Qui con “programmazione” si intende “programmazione informatica", ovvero ciò che gli inglesi chiamano coding, termine che ormai anche in Italia gode di una certa notorietà. Ho già scritto (qui e qui) sul perché non ritengo saggio usare il termine inglese, ma nel resto di quest'articolo lo userò per brevità espositiva.

La mia tesi di fondo è che questa impostazione della Commissione Europea, centrata sull'insegnamento del coding invece che sull'insegnamento dell'informatica è riduttiva. Confronto l'insegnamento del coding con quello dell'informatica perché insegnare il coding vuol dire, per fare un paragone con l'ingegneria, insegnare a costruire un ponte, mentre insegnare l'informatica vuol dire insegnare a progettare e costruire il ponte.

Progettare significa operare in uno spazio di necessità e di vincoli e “creare” la soluzione, inventare la sintesi tra esigenze contrastanti. Questo richiede un bagaglio di conoscenze che non possono essere quelle soltanto finalizzate a costruire. Essendo un ingegnere di formazione, so bene di cosa parlo. Due anni del mio percorso universitario li ho passati nello studio di matematica, fisica e chimica ed altre materie fondazionali, che non avevano nessuna diretta applicazione alla costruzione di un qualunque manufatto complesso. Un medico o un avvocato potranno sicuramente confermare che la differenza tra l'operatore ed il progettista è tutta nella larghezza e profondità della sua formazione di base.

Costruire significa seguire un piano più o meno definito che qualcun altro ha creato. Non è richiesto di sapere molto al di là di questo, perché ci pensa (o ci ha pensato o ci penserà) qualcun altro. Parlare solo di “insegnare il coding” è quindi un approccio riduttivo, perché ci si focalizza solo sulla parte finale ed operativa di tutto un processo progettuale molto più complesso. Significa addestrare una manovalanza tecnicamente sofisticata, ma che sarà comunque una classe operaia sottoposta alle direttive di chi decide cosa costruire, per chi farlo e quando.

Noto di passaggio (perché entreremmo in una sfera politica e sociale che va certamente considerata, ma non in questa sede) che la storia (ora più che mai magistra vitae) ha evidenziato come i livelli base della manovalanza sono i primi che vengono sostituiti dalle macchine. Se vogliamo quindi che i nostri giovani acquisiscano competenze utili per tutto l'arco della loro vita lavorativa, è bene formarli a competenze da progettisti e non solo da esecutori.

Non nego che la programmazione possa essere un’attività altamente creativa, ma se parliamo di istruzione di massa e se insegniamo solo a programmare, senza educare i ragazzi su tutti gli altri aspetti che rendono l’informatica quella disciplina articolata e profonda che è, allora rischiamo davvero di formare solo un esercito di operai, che sarà facilmente messo fuori gioco dall’avanzamento della tecnologia o di un “esercito industriale di riserva”.

Per far sì che ragazzi e ragazze abbiano possibilità di scegliere una strada per loro soddisfacente nella società digitale, in un contesto lavorativo in continua evoluzione, vanno loro esposte da subito le idee scientifiche alla base del digitale, in modo che ne capiscano la valenza complessiva.

Si potrà obiettare che vi sono molti esempi di start-up di successo nate da idee di ragazzini che certamente non avevano svolto regolari studi da informatici. Ma, se si guardano i numeri complessivi, questi sono soltanto le eccezioni che confermano la regola. Prima di tutto, se chi ha creato Facebook non era certamente laureato in informatica, Google è nato dalle idee di due dottorandi in informatica di Stanford (una delle cattedrali della ricerca informatica). Inoltre, per ogni start-up che ce la fa, ce ne sono almeno mille che vanno a spasso, e quindi a livello macro-economico, cioè per far crescere un Paese, puntare tutto sulle start-up non rappresenta una scelta sensata (anche questo è un discorso di politica dello sviluppo da affrontare).

Analogamente, si tende spesso a considerare come tipico ciò che invece è un’eccezione. Per la programmazione, si citano geni come Linus Torvalds (creatore di Linux) o Guido van Rossum (creatore di Python) che hanno realizzato da soli dei veri e propri capolavori. Prima di tutto la genialità è qualità estremamente rara e ciò che va bene per un genio non può essere usato come metodo didattico per l'istruzione di massa. Secondo, anche chi è geniale progetta: lo fa nella sua testa, e molto velocemente, mentre sviluppa, ma è una fase comunque presente. Terzo, è ovvio che ogni progetto, nel momento in cui viene espresso ha bisogno di un linguaggio per la sua espressione, che rappresenta la “codifica” del progetto. Ma questo non implica che il termine più appropriato per chi progetta sia “coder” o che nel termine “coding” rientri tutta l’area della progettazione e sviluppo del software.

Attenzione, l’inserimento della formazione informatica nella scuola è importante per la formazione di ogni cittadino, anche se deciderà di fare il medico o l’avvocato, il musicista o lo scrittore. La società digitale è qui: non insegnare nella scuola la scienza alla base dei suoi meccanismi sarebbe come insegnare che i bambini nascono sotto i cavoli, la peste è trasmessa dagli untori e le pietre si muovono per horror vacui.

Ciò che fa grande un Paese sul lungo periodo non sono le eccellenze, ma la qualità della formazione di massa. Lo sviluppo digitale dell'Europa richiede l'insegnamento dell'Informatica nella scuola, a partire dalla primaria. Questa è la strada che hanno iniziato a seguire nel Regno Unito, queste sono le tendenze in molti paesi avanzati, sia ad oriente che ad occidente, questo è quello che abbiamo proposto come associazioni europee di Informatici.

--
Versione originale pubblicata su "Il Fatto Quotidiano" il "17 settembre 2018".

giovedì 3 maggio 2018

Informatics: the third “power” revolution

by Enrico Nardelli

(versione in italiano qua)

Everyone agrees on the importance of Digital Education for all citizens. But too often action plans to implement it fail to approach the issue appropriately and put an excessive emphasis on technological side of it.

The main problem, in my view, behind these difficulties is conceptual. People consider information technology as just another technology, while Informatics has brought about in the world the third “power” revolution [1], empowering human capabilities to a degree never conceivable before.

The invention of the printing press has been the first “power” revolution, since by making it possible to very easily reproduce texts allowed to bring knowledge everywhere and gave everyone the possibility to access it. It was no more needed to be in certain place at a certain time to learn something from the voice of the master. His knowledge could be reproduced by a book, far away and at a later time, whenever needed. Knowledge is still power, but now this power can be distributed and replicated: the seeds of modern society had been planted. Books, produced by hundreds of millions, changed societies and spread science and technology all over Europe.

The second “power” revolution is the industrial revolution: machines can do the physical work of people and allows mankind to overcome its own intrinsic physical limits. Machines can produce objects days and nights without becoming tired, and machines can produce other machines boosting the physical capabilities of human beings. A single person can move huge earth piles with a bulldozer, quickly transfer with a car, speak at long distance with a telephone, and so on. Mankind is no more powerless in front of the nature and starts dominating earth, sea and air, even if many times forgets our planet still remains very powerful.

Then, in the second half of the last century, after the building of hundreds of billions of machines, the third “power” revolution, the informatics revolution, slowly starts. In the beginning it appears like just another embodiment of the industrial revolution, but after the turn of millennium it becomes apparent it is much more than that. What is replicated now is not the passive and static knowledge of books, what is empowered here is not the physical strength of people, now we have the amplification of the cognitive capabilities of humankind. Digital artifacts, that is software programs, represent and store “knowledge in action” [1, 2] or “actionable knowledge” (“actionable”: ready to be put in action).

As hinted before, there are two critical elements distinguishing the actionable knowledge in digital artifacts from the one of human beings: learning and adaptability. People are intrinsically able to learn what is unknown to them (while digital machines can only learn what they have been designed for) and have learned over million years of evolution to adapt to unforeseen changes in the environment (while digital machines – once again – can adapt only to the foreseen changes).

Therefore, while certainly people can take advantage from the always improving actionable knowledge stored in digital artifacts (the very recent progresses of Artificial Intelligence clearly show this) it is of the utmost importance that everybody is appropriately educated in the science making this digital artifacts possible: Informatics.

That is why Informatics Europe, the association of European departments and research centers in Informatics I am the president of, together with the ACM Europe Council, has presented last March in Brussels to the European Commission the report “Informatics for All” advocating Informatics is taught to all students in school, starting in the primary school.

We suggested a two-tier approach: both
  1. to introduce teaching of informatics as specialized subject, starting in primary and all the way up to secondary, and
  2. to teach informatics (integrated in other subjects) as a method and a language capable to offer an additional and specific way to describe and explain phenomena.

The former is required to prepare citizens able to actively participate in the digital society in an informed way and to more safely and critically navigate and contribute to a fast expanding info-sphere consisting more and more of algorithms that may be biased or information that may be flawed or incomplete. The latter provides new and additional viewpoints in many scientific fields, by building and manipulating visible representations of physical laws and/or natural/social phenomena. Interactive simulations (i.e., modeling a situation and exploring its possible evolution) made possible by informatics offer a very powerful tool to improve understanding and informatics is unique in its capability of making concrete the abstract models defined by a simulation.

To this purpose, we have argued in our report, it is needed to work in three areas:
  1. Curriculum, to develop both school curricula for all levels, and effective learning materials.
  2. Teachers, to appropriately educate them and provide them supporting tools and content to be effective in their action.
  3. Research, to understand what to teach, when to teach, how to teach (mathematics and other sciences had centuries to discover these, we need to know very soon).

This a grand educational challenge like one could have if Mathematics existed only at the university and – having understood the importance of the capability of exactly defining quantities and their relations – one had to plan to introduce it into all school levels.



I will now further dwell on consequences of this third power revolution in terms of digital education. In the past, an excessive emphasis has been put on technological skills (for example with the European Computer Driving License), that are certainly important, but which in this area risk to spoil the educational efforts.

More recently, on the one side we hear about introducing “coding” in all schools, since “coding” is the “new English” (needed to work everywhere) or the “new Latin” (needed to reason in any field). On the other side, they say what needs to be taught in all schools is “computational thinking”, the new discipline needed for every student, whichever will be the field she will work in.

Both approach are partly right, but cannot be considered definitive, since they provide only a partial view of the issues at stake. I have to say that this situation is more typical of Europe, since in other countries, e.g. USA or China or Japan, people speaks about teaching “Computer Science” and not “coding” or “computational thinking”.

First of all let us consider “coding”. Informatics is not (just) coding, as Mathematics is not (just) "table of Pythagoras". Multiplication is (just a) part of Arithmetic, which is (just a) part of Mathematics, together with Geometry, Algebra, Probability, Statistics, Analysis, and so on. Similarly, coding (or programming) is (just a) part of the software development process (which includes Analysis, Design, Coding (Programming) – Testing, Debugging) and software is (just a) part of Informatics, together with Data Representation, Algorithms, Programming Languages, Computing Systems, Distributed Computing, Human-Computer Interaction, and so on.

Also, the purpose of teaching "table of Pythagoras" in primary school is not at all that children knows by heart that 3x2=6 o 12:4=3. The purpose is that children understand that when 3 girls have 2 sweets each the total number of sweets is obtained by a multiplication, while if 12 biscuits have to be distributed to 4 girls the number of biscuits per girl is obtained through a division. We are not teaching a tool but a way of understanding and operating in the world: we can call it “mathematical thinking”.

Well, somebody may say, let’s then teach “computational thinking” (CT) in schools. Speaking about teaching CT is a very risky attitude: philosophers, rightly, ask what do we mean by “teaching thinking”; mathematicians appropriately observe that many characteristics of CT (e.g., abstraction, recursivity, problem solving, …) are also proper of mathematics (which they do not call “mathematical thinking”); pedagogists ask how can we be sure CT is really effective in education; teachers want to know which are the methods and the tools for teaching this new discipline and how they can learn to teach it; and parents are on one side happy because it appears school has finally started to align itself to the digital society, but are on the other side worried what will happen to their kids in the future if they just learn to code with the language of today.

I am convinced this approach is misleading: in the long run it will do more harm than benefit to informatics. In schools they do not teach “linguistic thinking” or “mathematical thinking” and they do not have “body of knowledge” or “assessment methods” for these subjects. They just teach (and assess competences in) “English ” and “Mathematics”. Subsequently, the various linguistic (resp. mathematical) competences gained by study of English (resp. Mathematics), beyond being used in themselves, find additional uses in other disciplines. Between CT and Informatics there exists the same relation. Therefore we should discuss what to teach and how to evaluate competences regarding Informatics in primary/ middle/ secondary schools.

The main problem, in my view, behind these difficulties in appropriately approaching digital education is conceptual. People consider information technology as just another technology, which is wrong [3]. Automation supported by Informatics substitutes human intelligence with machine intelligence: this is a radical change of paradigm in the entire history of industrialization, which never happened before. Notwithstanding the success of Artificial Intelligence , informatics systems do not have the flexibility and adaptability to successfully tackle an ever changing reality and to learn by one’s own mistakes, like human beings do.

Actually, speaking about CT has the purpose to explain people why informatics need to be taught in all schools. We aim at teaching the scientific and cultural aspects of Informatics: not system and tools, but principles and methods. Differently from what happens with language and maths, we are forced to explicit this distinction since computers are what embodies informatics for most of people.

On these grounds, for example, in the USA Computer Science (their name for Informatics) has been added, on par with other scientific disciplines, to the “well rounded subjects” that students have to learn in schools. This is not because they think the “computer scientists’ way of thinking” (a simple explanation of what CT is) is better than others, bust just that it offers a complementary and useful conceptual paradigm to describe reality. Informatics provides cognitive insights and a common language for all subjects and professions.

Every discipline has its own set of concepts to describe the world. For a mathematician are quantity, relation, structure… For a physicist masses, forces, fields… A biologist uses cell, organism, metabolism. An informatician uses algorithm, program, automata, …

Digital society is already here and we are not adequately preparing our students and citizens. They need to learn Informatics so as to be able to understand, participate in, influence and contribute to the democratic development of the digital society. A the same time, this will provide a significantly improved opportunity for recruiting and educating the large number of IT specialists Europe needs to maintain and improve its position in the digital world economy.

We need to act now!

References

[1] E. Nardelli, Senza la cultura informatica non bastano le tecnologie, Il Fatto Quotidiano, April 2014.

[2] E. Nardelli, La RAI che vorrei: diffondere la “conoscenza in azione” per far crescere l’Italia, Key4Biz, April 2016.

[3] E. Nardelli, The maintenance is the implementation OR Why people misunderstand IT systems, European Computer Science Summit, (ECSS-2010), Prague, 2010.

-----
The original version has been published by "Broadband 4 Europe" on 18 April 2018 and on 20 April 2018 (archived copies, the original site is no more available).


domenica 11 febbraio 2018

Digital skills and the teaching of informatics: confusion reigns under heaven

by Enrico Nardelli

(versione italiana qua)

For many years now, Europe has been hearing about the importance of developing digital skills in the workforce, so that the various productive and service sectors can become more effective and efficient. Digital technologies are indeed one of the factors that has contributed most to productivity growth over recent decades.

Yet they are also the factor whose role in production and services is most frequently and widely misunderstood. The automation brought about by information technologies entails a cultural and conceptual leap that requires appropriate support and adequate preparation on the part of the people involved.

In this article I will therefore develop two reflections connected to the role of informatics both in productive processes and in the education sector.

The automation made possible by informatics is something very different from traditional industrial automation. The latter first replaced the physical actions of people with the power of machines, under the guidance of human cognitive faculties. It then successfully mechanised bureaucratic tasks of low cognitive complexity: transferring money from one account to another, purchasing a good and processing its payment, checking stock levels and ordering replenishment.

When more complex cognitive tasks are at stake, however, the automation driven by informatics is attempting to replace human intelligence with a machine: this is a radical paradigm shift that contemporary society has not yet fully absorbed or understood.

One of the essential capacities of human intelligence is adaptability to changes in the environment — the flexibility to handle new or modified requirements. People have an innate ability to evolve in response to change and to learn from mistakes. Computer systems do not, and nor are the recent advances in machine learning able to provide this capacity, or likely to do so in the near future.

It is therefore not enough simply to computerise business processes. It is not sufficient, because the month after computer systems are installed they will need to be modified to adapt to changed conditions. And this maintenance process goes on without end, because a computer system is not a human being who adapts to new developments and learns from its mistakes. The automation of informatics therefore requires human supervision, in order to achieve the flexibility it does not innately possess.

I discussed the challenges posed by this mechanisation of cognitive aspects in greater depth almost ten years ago at the 2010 annual conference of the European informatics association Informatics Europe.

Precisely because of its profound conceptual implications, this subject cannot be fully grasped through a handful of digital skills training courses. This is also one of the reasons why the transition to Industry 4.0 will be long and difficult: what is needed is the absorption of ideas and concepts, rather than simply knowing tools and being proficient in their use.

It is necessary to start early and to begin in schools, and it is essential to do so with serious, well-designed education. Try to imagine — by way of comparison — a situation in which mathematics were taught only at university, and, having recognised the fundamental role that the ability to define quantities precisely and rigorously manipulate their relationships plays in an advanced society, we had to introduce the teaching of "mathematical thinking" into schools. I do not think that leaving it to the free initiative of individual teachers to decide what to teach, when, and how, would serve the country well in the long run.

Precisely because of the rather widespread confusion surrounding the teaching of digital skills, we at CINI (the consortium of more than 40 universities engaged in informatics research and teaching) had already been working for some time on how to incorporate informatics education into Italian schools. This is an area in which some countries — the UK, USA, France, and Germany, for example — are already in the implementation phase (to say nothing of Japan and South Korea). To give just one detail: in the USA, informatics (and not coding!) has been placed, on an equal footing with other scientific and technological disciplines, among the subjects that must form part of a modern well-rounded education. An important role in this educational effort is played, in our country, by the Programma il Futuro project, of which I am the coordinator. To date — now in its fourth year — it has altogether introduced almost 3 million students to a "serious" informatics education (which we call computational thinking, to avoid the misunderstanding, extremely common, that teaching informatics means teaching how to use digital tools).

At the recent conference "Informatics culture as a driver of development," organised at the Chamber of Deputies together with the Innovation Inter-group, we made public our community's proposal — representing more than 1,500 professors and researchers in informatics and computer engineering — in the presence of MIUR. It is an articulated document, the fruit of a lengthy consultation process that involved not only our community, but also educationalists and teachers who have long been engaged in teaching informatics in schools.

Why does teaching informatics in schools matter? First of all, let us be clear that it does not mean teaching programming (i.e. coding, as it is now fashionably called). Any more than teaching mathematics means teaching arithmetic. Take primary schools, where the study of mathematics begins with learning the times tables: the aim is not so much to know by heart that 3×2=6 or 12÷4=3, but to understand that if 3 girls have 2 sweets each the total number of sweets is obtained by multiplication, while if 12 biscuits are to be shared among 4 girls the number of biscuits per girl is obtained by division. We are not, therefore, teaching an operational tool so much as a key to understanding reality — "mathematical thinking."

The same applies to informatics, a discipline that — like other sciences — has its own particular perspective on the world, its own "conceptual paradigm" through which it describes and explains phenomena. This "perspective" is that of "automatic processes of information manipulation." So, just to give a few examples: just as quantity and its relationships are essential concepts for a mathematician, or molecules and reactions for a chemist, so algorithm, language, and automaton are essential concepts for a computer scientist.

It is never superfluous to point out that each of the great scientific paradigms — the human and social sciences, the life sciences, the physical sciences — can be used to describe the same reality, and depending on the case and context, one of them may be the most useful for understanding and explanation, or it may be their combination. Informatics adds a fourth great paradigm, that of "automatic processes of information manipulation," which opens up new and useful ways of explaining what happens across many domains, from biology to economics, from social relations to medicine.

Informatics is therefore not just programming — that is, how to use a language to give instructions to a computer. It means knowing how the machine (the automaton) that must understand our instructions is built. It means understanding how to express those instructions (the programming language). It means knowing how to develop algorithms capable of expressing instructions effectively. Our proposal sets out a comprehensive framework for introducing the teaching of informatics into schools.

The importance of this issue is also being discussed in Europe. One need only read the recent report on the state of informatics teaching in European schools, prepared by the two principal associations of European computer scientists: Informatics Europe (of which I am President, bringing together university departments and corporate research centres) and the ACM Europe Council (the governing body of the European chapter of ACM, the world's largest association of computing professionals and researchers).

Its first and most important recommendation is that all students must have curricular access in school to informatics education (preferably beginning at primary level), since this scientific discipline must form part of the cultural toolkit of every citizen in the digital society. The second is that, to this end, it is essential to provide adequate training for teachers, tailored to the different levels of schooling.

The matter will be discussed again on 15 March 2018 in Brussels with the European Commission.

FURTHER READING

CINI proposal on the teaching of informatics in schools: https://www.consorzio-cini.it/gdl-informatica-scuola

Results of the Programma il Futuro project (in italian): https://programmailfuturo.it/progetto/monitoraggio-del-progetto

Conference "Informatics culture as a driver of development" (in italian): https://programmailfuturo.it/notizie/cultura-informatica-fattore-di-sviluppo

The state of informatics teaching in European schools: http://www.informatics-europe.org/news/382-informatics-education-in-europe-are-we-on-the-same-boat.html

Why teach informatics in schools: Do we really need computational thinking? Communication of the ACM, 62(2), February 2019

Informatics: the fourth great domain of science: https://mitpress.mit.edu/books/computing-0

"RAI Scuola" lecture "Discovering informatics" (in italian): https://www.programmailfuturo.it/come/alla-scoperta-dell-informatica

Informatics Europe: https://www.informatics-europe.org

ACM Europe Council: https://europe.acm.org

--
The original version (in italian) has been published by "Agenda Digitale" on 24 January 2028.

Competenze digitali ed insegnamento dell’informatica: grande è la confusione sotto il cielo

di Enrico Nardelli

(english version here)

Da parecchi anni in Europa si sente parlare dell’importanza di sviluppare competenze digitali nella forza-lavoro, in modo che i vari settori produttivi e dei servizi diventino più efficaci ed efficienti. Le tecnologie digitali sono infatti uno dei fattori che più ha contribuito all’aumento di produttività degli ultimi decenni.

Sono però anche il fattore il cui ruolo nella produzione e nei servizi è più frequentemente ed estesamente frainteso. L'automazione realizzata dalle tecnologie dell'informazione comporta infatti un salto culturale e concettuale che richiede un appropriato accompagnamento e un’adeguata preparazione delle persone coinvolte.

Svilupperò pertanto in questo articolo due considerazioni legate al ruolo dell’informatica sia nei processi produttivi che nel settore educativo.

L’automazione resa possibile dall'informatica è qualcosa di molto diverso dalla tradizionale automazione industriale. Quest’ultima ha dapprima sostituito l’azione fisica delle persone con la forza delle macchine, sotto la guida delle facoltà cognitive delle persone. Poi ha meccanizzato con successo compiti burocratici di bassa complessità cognitiva: trasferire denaro da un conto ad un altro, acquistare un bene ed effettuarne il pagamento, controllare il livello delle scorte e ordinarne il rimpiazzo.

Quando sono in gioco compiti cognitivi più complessi l'automazione dell'informatica sta però tentando di sostituire l’intelligenza umana con una macchina: si tratta di un radicale cambiamento di paradigma che la società contemporanea non ha ancora pienamente assorbito e compreso.

Una delle capacità essenziali dell’intelligenza umana è l’adattabilità ai cambiamenti dell’ambiente, la flessibilità nel gestire esigenze nuove o modificate. Le persone hanno una capacità innata di evolversi per fronteggiare l’evoluzione e di imparare dagli errori. I sistemi informatici non ce l’hanno e neanche i recenti avanzamenti dei sistemi di apprendimento automatico (machine learning) sono in grado di fornirgliela o saranno in grado di farlo in un prossimo futuro.

Non basta quindi informatizzare i processi aziendali. Non è sufficiente, perché il mese dopo che i sistemi informatici sono stati installati dovranno essere modificati per adattarsi alle mutate condizioni al contorno. E questo processo di manutenzione va avanti senza fine, perché un sistema informatico non è un essere umano che si adatta alle novità ed impara dai suoi errori. L'automazione dell'informatica richiede quindi la supervisione delle persone, per ottenere quella flessibilità che non possiede in modo innato.

Delle problematiche poste da questa meccanizzazione degli aspetti cognitivi ne ho discusso più in profondità quasi dieci anni fa al convegno annuale dell’associazione degli informatici europei Informatics Europe.

Proprio per la sua profonda portata concettuale, questo tema non può quindi essere compreso appieno soltanto con qualche corso di formazione sulle competenze digitali. Tra l’altro, questo è uno dei motivi per cui la transizione all’impresa 4.0 sarà lunga e difficile: bisogna aver assorbito idee e concetti, più che conoscere strumenti ed essere abili nell’usarli.

È necessario partire da lontano ed iniziare nella scuola, ed è indispensabile farlo con una formazione seria e ben progettata. Provate ad immaginare – per fare un paragone – una situazione in cui la matematica venisse insegnata solo all’università e, avendo capito il fondamentale ruolo che svolge in una società evoluta la capacità di definire le quantità in modo esatto e manipolare in modo rigoroso le loro relazioni, dovessimo introdurre l’insegnamento del “pensiero matematico” nelle scuole. Non penso che lasciare alla libera iniziativa dei docenti la facoltà di definire cosa insegnare, quando e come, sarebbe fruttuoso per il Paese sul lungo periodo.

Proprio per la confusione un po’ dilagante in materia di insegnamento delle competenze digitali, avevamo già da tempo iniziato a ragionare come CINI (il consorzio delle più di 40 università che fanno ricerca e didattica in informatica) su come inserire la formazione informatica nella scuola italiana. Si tratta di un aspetto su cui alcuni paesi (per esempio UK, USA, Francia e Germania) sono già in fase realizzativa (per non parlare di Giappone e Corea del Sud). Solo per dare un dettaglio, negli USA l’informatica (e non il coding!) è stata inserita, alla pari delle altre discipline scientifiche e tecnologiche, tra i soggetti che devono far parte di una moderna istruzione “a tutto tondo” (well-rounded subjects). Un ruolo importante in quest’ambito educativo è svolto, nel nostro paese, dal progetto Programma il Futuro, di cui sono coordinatore. Finora (è adesso nel suo quarto anno) ha complessivamente avvicinato quasi 3 milioni di studenti ad una formazione informatica “seria” (che chiamiamo pensiero computazionale per evitare l’equivoco in cui moltissimi incorrono che insegnare l’informatica significhi insegnare l’uso degli strumenti digitali).

Nel corso del recente convegno “La cultura informatica come fattore di sviluppo”, organizzato presso la Camera dei Deputati con l'Intergruppo Innovazione, abbiamo reso pubblica la proposta della nostra comunità (più di 1500 tra professori e ricercatori in informatica e ingegneria informatica) alla presenza del MIUR. Si tratta di un documento articolato e frutto di una lunga fase di consultazione, che ha coinvolto non soltanto la nostra comunità, ma anche pedagogisti e docenti da tempo impegnati nell'insegnamento dell'informatica nella scuola.

Perché è importante insegnare l’informatica nella scuola? Prima di tutto chiariamo che non vuol dire insegnare la programmazione, (cioè il coding, come si dice adesso per essere alla moda). Non più di quanto insegnare la matematica voglia dire insegnare a fare i conti. Prendiamo le scuole elementari in cui si inizia a studiare matematica imparando la tavola pitagorica: il fine non è tanto sapere a memoria che 3x2=6 o 12:4=3, quanto capire che se 3 bambine hanno 2 caramelle ciascuna il numero totale di caramelle si ottiene con la moltiplicazione, mentre se 12 biscotti devono essere distribuiti a 4 bambine il numero di biscotti per bambina si ottiene con la divisione. Non stiamo quindi tanto insegnando uno strumento operativo, quanto una chiave di comprensione della realtà (“il pensiero matematico”).

Lo stesso vale per l’informatica, una disciplina che – come altre scienze – ha il suo particolare punto di vista sul mondo, il suo “paradigma concettuale” in base al quale descrive e spiega i fenomeni. Tale “punto di vista” è quello dei “processi automatici di manipolazione dell’informazione”. Quindi, giusto per fare alcuni esempi, così come sono concetti essenziali per un matematico la quantità e le loro relazioni o per un chimico le molecole e le reazioni, così sono concetti essenziali per un informatico quelli di algoritmo, linguaggio, automa, e così via.

Non è mai inutile sottolineare che ognuno dei grandi paradigmi scientifici (scienze umane e sociali, scienze della vita, scienze fisiche) può essere usato per descrivere la stessa realtà, ed a seconda dei casi e dei contesti uno di essi può essere quello più utile per la comprensione e la spiegazione oppure può esserlo la loro combinazione. L’informatica aggiunge un quarto grande paradigma, quello dei “processi automatici di manipolazione dell’informazione”, che permette di ottenere nuovi e utili modi per spiegare quanto accade in molti ambiti, dalla biologia all’economia, dalle relazioni sociali alla medicina.

Informatica non è quindi solo programmazione, cioè come usare un linguaggio per dare istruzioni ad un computer. È conoscere com’è fatta la macchina (l’automa) che deve comprendere le nostre istruzioni. È capire in che modo esprimere queste istruzioni (il linguaggio di programmazione). È sapere come elaborare algoritmi in grado di esprimere efficacemente le istruzioni. La nostra proposta indica uno scenario completo per l’inserimento dell’insegnamento dell’informatica nella scuola.

Anche in Europa si discute dell’importanza di questo aspetto. Basta leggere il recente rapporto sullo stato dell’insegnamento dell’informatica nelle scuole europee, preparato dalle due principali associazioni di informatici europei: Informatics Europe (di cui sono Presidente, che raggruppa dipartimenti universitari e centri di ricerca aziendali) e ACM Europe Council (Consiglio Direttivo della sezione europea dell'ACM, la maggiore associazione mondiale di professionisti e studiosi).

La sua prima e più importante raccomandazione è che tutti gli studenti devono avere accesso curriculare nella scuola alla formazione in Informatica (iniziando preferibilmente alla primaria), dal momento che questa disciplina scientifica deve far parte del bagaglio culturale di ogni cittadino della società digitale. La seconda è che, a questo scopo, è necessario formare adeguatamente gli insegnanti, in funzione dei diversi ordini di scuola.

Se ne riparlerà il 15 marzo 2018 a Bruxelles con la Commissione Europea.

LINK DI APPROFONDIMENTO

Proposta del CINI sull’insegnamento dell’informatica nella scuola https://www.consorzio-cini.it/gdl-informatica-scuola

Risultati del progetto Programma il Futuro: https://programmailfuturo.it/progetto/monitoraggio-del-progetto

Convegno “La cultura informatica come fattore di sviluppo”: https://programmailfuturo.it/notizie/cultura-informatica-fattore-di-sviluppo

Lo stato dell’insegnamento dell’informatica nelle scuole europee: http://www.informatics-europe.org/news/382-informatics-education-in-europe-are-we-on-the-same-boat.html

Perché insegnare informatica nella scuola: http://mondodigitale.aicanet.net/2017-5/articoli/MD72_02_abbiamo_davvero_bisogno_del_pensiero_computazionale.pdf

Informatica: il quarto grande dominio della scienza: https://mitpress.mit.edu/books/computing-0

Lezione per RAI Scuola “Alla scoperta dell’informatica”: https://www.programmailfuturo.it/come/alla-scoperta-dell-informatica

Informatics Europe: https://www.informatics-europe.org

ACM Europe Council: https://europe.acm.org


-----
Versione originale pubblicata su "agendadigitale.eu" il 24 gennaio 2018

martedì 12 dicembre 2017

MIUR calls, CINI answers: but don't just call it coding !

by Enrico Nardelli

(versione italiana qua)

Not long ago, the Minister of Education, Valeria Fedeli, announced that from 2018 coding (that is, computer programming) would be introduced into primary schools.

There is widespread attention in the media and public opinion to the importance of introducing children to the "digital" world from an early age, but also a great deal of confusion. On one hand, people are seduced by the English term (I wrote about this recently) as though it promised some kind of extraordinary competence for our children; on the other, no distinction is drawn between the scientific, lasting, and formative aspects, and the technological-instrumental ones, which are interesting but transient. I discussed this in the original version (in italian) of this post, whose title — chosen by the editorial team — probably misled readers. While the intention was to highlight the importance of teaching informatics (and not just computer programming), and of calling it by its proper name rather than a fashionable anglicism, the result was the opposite. Several readers objected to the idea of teaching children a skill they associated with the workplace. I return to this point below.

Precisely because of the rather widespread confusion surrounding the teaching of digital skills, we at CINI (the consortium of more than 40 universities engaged in informatics research and teaching) had already been working for some time on how to incorporate informatics education into Italian schools. This is an area in which some countries — the UK, USA, France, and Germany, for example — are already in the implementation phase. In our own country, CINI has been running (now in its fourth year) the Programma il Futuro project, which to date has altogether introduced almost 3 million students to a "serious" informatics education (which we call computational thinking, to avoid the extremely common misunderstanding that teaching informatics means teaching how to use digital tools).

At a recent conference held at the Chamber of Deputies, organised together with the Innovation Inter-group — a cross-party group of Italian MPs (both Deputies and Senators) committed to the country's development beyond ideological divides — we made public our community's proposal, representing more than 1,500 professors and researchers in informatics and informatics engineering, in the presence of MIUR representatives. It is an articulated document, the fruit of a lengthy consultation process that involved not only our own community, but also educationalists and teachers who have long been engaged in teaching informatics in schools.

The document was discussed at the conference alongside educationalists and philosophers, as well as representatives of the business world, given that informatics education has both a cultural and a professional impact. I invite readers to watch the video of the event (in italian) to appreciate the multidisciplinary nature of the contributions, all of an excellent standard.

Before the discussion of the proposal, I presented a recent report on the state of informatics teaching in European schools, prepared by the two principal associations of European informaticians: Informatics Europe (which brings together university departments and corporate research centres) and the ACM Europe Council (the governing body of the European chapter of ACM, the world's largest association of computing professionals and researchers).

Its first and most important recommendation is that all students must have curricular access in school to informatics education (preferably beginning at primary level), since this scientific discipline must form part of the cultural toolkit of every citizen in the digital society. The second is that, to this end, it is essential to provide adequate training for teachers, naturally in different ways depending on the level of schooling. The matter will be discussed again on 15 March 2018 in Brussels with the European Commission.

Let me now return briefly to what teaching informatics in schools actually means, and why it matters. A more detailed treatment can be found in this article published in the journal Communication of the ACM. First of all, let us be clear that it does NOT mean teaching programming. Any more than teaching mathematics means teaching arithmetic. Take primary schools, where the study of mathematics begins with learning the times tables: the aim is not so much to know by heart that 3×2=6 or 12÷4=3, but to understand that if 3 girls have 2 sweets each the total number of sweets is obtained by multiplication, while if 12 biscuits are to be shared among 4 girls the number of biscuits per girl is obtained by division. We are not, therefore, teaching an operational tool so much as a key to understanding reality — "mathematical thinking."

Informatics is a discipline that, like other sciences, has its own particular perspective on the world — its own "conceptual paradigm" through which it describes and explains phenomena. This particular "perspective" is that of "automatic processes of information manipulation." So, just to give a few examples: just as quantity and its relationships are essential concepts for a mathematician, or molecules and reactions for a chemist, so algorithm, language, and automaton are essential concepts for a computer scientist.

It is never superfluous to point out that each of the great scientific paradigms — the human and social sciences, the life sciences, the physical sciences — can be used to describe the same reality, and depending on the case and context, one of them may be the most useful for understanding and explanation, or it may be their combination. Informatics adds a fourth great paradigm, that of "automatic processes of information manipulation," which opens up new and useful ways of explaining what happens across many domains, from biology to economics, from social relations to medicine.

Informatics is therefore not just programming — that is, using a language to give instructions to a computer. It also means understanding how the machine is built — the automaton — that must comprehend our instructions. It means understanding how to express those instructions (the programming language). It means knowing how to develop algorithms capable of expressing those instructions effectively. Our proposal sets out a comprehensive framework for introducing the teaching of this discipline into Italian schools.

Let us now return to the event at the Chamber of Deputies, where the importance of informatics both in schools and in the world of work was discussed.

Some highlights from the first round table on the CINI proposal: it was shown how informatics leads to the creation of tools that change our perception of reality (Simone Martini); the importance of teaching informatics in a way that does not allow the use of tools to erode our sense of "community" and "reality" was stressed (Italo Fiorin); and it was noted that learning tools which make things easy, without understanding how and why they work, is nothing more than an illusion of education (Giovanni Salmeri).

In the second round table, the legislative action taken to support the digital development of Italian businesses was acknowledged and welcomed, while agreement was reached on establishing a forum for dialogue between universities and industry — so that, while respecting the different time horizons within which each operates, educational solutions can be defined that prepare people for an active professional life throughout their entire careers, while at the same time helping companies navigate this epochal social transformation without delay.

I always emphasise that the productive automation brought about by informatics (the so-called "digital enterprise") is radically different from traditional industrial automation. The latter was essentially the replacement of people's physical actions with the power of machines, under the guidance of human cognitive faculties. Digital automation, by contrast, is the replacement of human cognitive capacities with a machine — one that, however, will never be as intelligent as a human being, even if it processes data far more quickly.

This is a cultural problem: unless we truly grasp how deeply this is true, no digital innovation will ever produce the results we hope for.

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

MIUR chiama, CINI risponde: ma non chiamatelo coding !

di Enrico Nardelli

(english version here)

Poco tempo fa la ministra dell'Istruzione, Valeria Fedeli, ha dichiarato che dal 2018 il coding (cioè la programmazione informatica) verrà introdotto nelle scuole primarie.

Sull'importanza di educare i bambini fin da piccoli al "digitale" c'è vasta attenzione sui media e nella pubblica opinione, ma anche molta confusione. Da un lato ci si fa affascinare dal termine inglese (ne ho scritto recentemente) come se promettesse chissà quale mirabolante competenza ai nostri figli, dall'altro non si distingue tra gli aspetti scientifici, duraturi e formativi, e quelli tecnologici-strumentali, interessanti ma temporanei. Ne ho discusso nella versione iniziale di questo post, il cui titolo – deciso dalla redazione – ha probabilmente fuorviato il lettore. Mentre infatti l’intento era di mettere in rilievo l’importanza di insegnare l’informatica (e non soltanto la programmazione informatica), e chiamandola col suo nome e non con l’inglesismo di moda, il risultato è stato l’opposto. Diversi lettori hanno infatti contestato la necessità di insegnare a bambini e ragazzi un’abilità tipicamente lavorativa. Ritorno nel seguito su questo aspetto.

Proprio per la confusione un po’ dilagante in materia di insegnamento delle competenze digitali, avevamo già da tempo iniziato a ragionare come CINI (il consorzio delle più di 40 università che fanno ricerca e didattica in informatica) su come inserire la formazione informatica nella scuola italiana. Si tratta di un aspetto su cui alcuni paesi, per esempio UK, USA, Francia, Germania sono già in fase realizzativa. Nel nostro paese, il CINI sta portando avanti (questo è il quarto anno) il progetto Programma il Futuro, che finora ha complessivamente avvicinato quasi 3 milioni di studenti ad una formazione informatica "seria" (che chiamiamo pensiero computazionale per evitare l’equivoco in cui moltissimi incorrono che insegnare l’informatica significhi insegnare l’uso degli strumenti digitali).

In un recente convegno presso la Camera dei Deputati, organizzato con l'Intergruppo Innovazione, un gruppo bipartisan di deputati e senatori che hanno a cuore lo sviluppo del Paese al di là degli steccati ideologici, abbiamo reso pubblica la proposta della nostra comunità (più di 1500 tra professori e ricercatori in informatica e ingegneria informatica) alla presenza del MIUR. Si tratta di un documento articolato e frutto di una lunga fase di consultazione, che ha coinvolto non soltanto la nostra comunità, ma anche pedagogisti e docenti da tempo impegnati nell'insegnamento dell'informatica nella scuola.

Il documento è stato discusso durante il convegno con pedagogisti e filosofi, nonché con rappresentanti del mondo imprenditoriale, dal momento che la formazione informatica ha un impatto sia culturale che professionale.  Invito a rivedere il video dell'evento per cogliere la multidisciplinarietà degli interventi, tutti di eccellente livello.

Prima della discussione della proposta ho presentato un recente rapporto sullo stato dell’insegnamento dell’informatica nelle scuole europee, preparato dalle due principali associazioni di informatici europei: Informatics Europe (che raggruppa dipartimenti universitari e centri di ricerca aziendali) e ACM Europe Council (Consiglio Direttivo della sezione europea dell'ACM, la maggiore associazione mondiale di professionisti e studiosi).

La sua prima e più importante raccomandazione  è che tutti gli studenti devono avere accesso curriculare nella scuola alla formazione in Informatica (iniziando preferibilmente alla primaria), dal momento che questa disciplina scientifica deve far parte del bagaglio culturale di ogni cittadino della società digitale. La seconda è che, a questo scopo, è necessario formare adeguatamente gli insegnanti, ovviamente in modo diverso per i diversi ordini di scuola. Se ne riparlerà il 15 marzo 2018 a Bruxelles con la Commissione Europea.

Ritorno adesso a discutere brevemente cosa vuol dire insegnare informatica nella scuola e perché sia importante. Potete trovare una trattazione più estesa in questo articolo apparso sulla rivista Mondo Digitale dell’AICA. Prima di tutto chiariamo che NON vuol dire insegnare la programmazione. Non più di quanto insegnare la matematica voglia dire insegnare a fare i conti. Prendiamo le scuole elementari in cui si inizia a studiare matematica imparando la tavola pitagorica: il fine non è tanto sapere a memoria che 3x2=6 o 12:4=3, quanto capire che se 3 bambine hanno 2 caramelle ciascuna il numero totale di caramelle si ottiene con la moltiplicazione, mentre se 12 biscotti devono essere distribuiti a 4 bambine il numero di biscotti per bambina si ottiene con la divisione. Non stiamo quindi tanto insegnando uno strumento operativo, quanto una chiave di comprensione della realtà (“il pensiero matematico”).

L’informatica è una disciplina che, come altre scienze, ha il suo particolare punto di vista sul mondo, il suo “paradigma concettuale” in base al quale descrive e spiega i fenomeni. Tale particolare “punto di vista” è quello dei “processi automatici di manipolazione dell’informazione”. Quindi, giusto per fare alcuni esempi, così come sono concetti essenziali per un matematico la quantità e le loro relazioni o per un chimico le molecole e le reazioni, così sono concetti essenziali per un informatico quelli di algoritmo, linguaggio, automa, e così via.

Non è mai inutile sottolineare che ognuno dei grandi paradigmi scientifici (scienze umane e sociali, scienze della vita, scienze fisiche) può essere usato per descrivere la stessa realtà, ed a seconda dei casi e dei contesti uno di essi può essere quello più utile per la comprensione e la spiegazione oppure può esserlo la loro combinazione. L’informatica aggiunge un quarto grande paradigma, quello dei “processi automatici di manipolazione dell’informazione”, che permette di aggiungere nuovi e utili modi per spiegare quanto accade in molti ambiti, dalla biologia all’economia, dalle relazioni sociali alla medicina.

Informatica non è quindi solo programmazione: questa è usare un linguaggio per dare istruzioni ad un computer. Serve capire com’è fatta questa macchina (l’automa) che deve comprendere la nostre istruzioni. Serve anche capire in che modo esprimere queste istruzioni (il linguaggio di programmazione). Serve sapere come elaborare algoritmi in grado di esprimere efficacemente queste istruzioni. La nostra proposta indica uno scenario completo per l’inserimento dell’insegnamento di questa disciplina nella scuola italiana.

Ritorniamo adesso a parlare dell’evento presso la Camera dei Deputati in cui si è discusso dell’importanza dell’informatica sia nella scuola che nel mondo del lavoro.

Alcune istantanee della prima tavola rotonda sulla proposta CINI: si è evidenziato come l'informatica conduca a costruire strumenti che cambiano la percezione della realtà (Simone Martini), richiamato l'importanza di insegnare informatica senza che poi l'uso degli strumenti conduca a perdere la dimensione del "noi" e della "realtà" (Italo Fiorin), ricordato che apprendere strumenti che rendono facili le cose senza faticare per apprendere il come e il perché essi funzionino sia solo un'illusione di formazione (Giovanni Salmeri).

Nella seconda, si è da un lato ricordata ed apprezzata l’azione legislativa di supporto allo sviluppo digitale delle imprese italiane, e dall’altro convenuto di avviare un tavolo di confronto tra università e imprese affinché, nel rispetto del diverso orizzonte temporale con cui esse operano, si definiscano soluzioni formative che preparino ad essere attivi professionalmente per tutta la vita lavorativa e, al tempo stesso, aiutino rapidamente le aziende in questa epocale trasformazione sociale.

Ricordo sempre che l’automazione produttiva derivante dall’informatica (la cosiddetta “impresa digitale”) è radicalmente diversa dalla tradizionale automazione industriale. Quest’ultima è stata essenzialmente la sostituzione dell’azione fisica delle persone con la forza delle macchine, sotto la guida delle facoltà cognitive delle persone. L’automazione digitale è invece la sostituzione delle capacità cognitive dell’uomo con una macchina, che però non sarà mai intelligente come un essere umano, anche se elabora dati molto più velocemente.

È un problema culturale: se non si capisce quanto profondamente questo è vero, nessuna innovazione digitale produrrà davvero gli effetti sperati.

-----
Versione originale pubblicata sul "Il Fatto Quotidiano" il 20 dicembre 2017

mercoledì 1 novembre 2017

Digital hygiene: basic rules of prevention

di Isabella Corradini e Enrico Nardelli

Digital hygiene, a weird title. If taken literally, it would imply cleaning our digital instruments. Maybe we should talk about it, as mobile phones, smartphones and tablets are now part of the human body and we take them everywhere, since we both need them and are addicted to them (worthless to deny it), and their cleaning is not always treated with the same attention we use for ourselves.

Actually, we are talking about hygiene in the traditional sense. Hygiene rules have been taught since our childhood and they are one of the prevention measures that have most contributed over the last two centuries to lengthen the average life span. But in the digital world it is not so usual to hear these words. People sometimes use the expression digital hygiene to refer to how they relate to others in social networks or how not to become slaves of their own devices, but that’s not our interpretation.

In our view, this expression has instead to be used in a way similar to what happens in the physical world, where hygiene norms are appropriate for preventing illness. Here, the discovery by Hungarian physician Ignaz Semmelweis was crucial in the mid-nineteenth century, and thousands of women’s lives were saved. He observed that, washing his hands after an autopsy and before assisting women in labour, the frequency of their mortality was enormously reduced. Hence, washing one’s own hands became the fundamental ritual before starting surgical operations. This didn’t happen overnight, though, since it took a few decades – as is sometimes the case – for this discovery to be accepted and spread.

By extension, it became one of the basic tenets taught to all children: “Wash your hands ” is still the rule before going to the table and, more generally, whenever one comes home. The fundamental motivation is that “out there” there is a world that can be hostile because of microbes and infections, and it’s important to take countermeasures.

While in the physical case this message is widely accepted and socially shared, unfortunately the digital version of the same prevention message is less immediate. For example, how many people are still inserting unknown USB sticks or opening unknown attachments on their devices (PCs, tablets, or smartphones) without being aware that they can be infected?

The analogy is entirely true: the digital world is populated by “life forms” that are not always benign towards our “digital self”. Viruses and worms, for example, continue to spread at an alarming rate, and current precautions do not seem to be sufficiently effective.

A partial justification is that the evolution of these digital organisms has proceeded at an elusive speed for humans. For traditional physical hygiene rules the present generation has benefitted from their parents’ education, while for digital hygiene we have not yet developed the adequate “sensors”.

Of course, digital hygiene rules can be annoying, and even limit our range. Some people would say that they are obvious and it is pointless to repeat them. Not so, since there are still people who insert pen drives into their computers without thinking.

Terminology used in the digital context does not help to understand the importance of these rules. In fact, using words like “virtual” or prefixes like “cyber” drives people away from a real perception of physical dangers, so they think that digital hygiene standards are irrelevant.

Probably the best way to make people understand, accept and apply the digital hygiene rules is to establish a connection to the analogous hygiene rule in the physical world. People could thus better understand that what happens in their PCs and their mobile devices is not virtual but real, as its consequences are.

People’s awareness could just start from here.


----
Article first published on BroadBand4Europe, October 18th, 2017 (archived copy, the original site is no more available).

There is also an italian version.

venerdì 20 ottobre 2017

From coding to Borges

by Enrico Nardelli

(versione italiana qua)

As schools and universities resume their activities this autumn, the idea that coding (that is, computer programming) is the new English is gaining ground across the education system.

Bocconi University led the way, making a programming exam compulsory for all undergraduate students. More than three years ago I criticised the linguistic laziness of using an English term in place of its Italian equivalent. I was neither the first nor the last to do so, but I want to reiterate that using our own language means upholding our social and cultural identity. And identities matter for respecting differences. Biology and physics have been teaching us for millions of years that richness in systems emerges only from differentiation.

Several newspapers picked up and amplified this concept — communicatively very simple, but conceptually entirely wrong — and called for the introduction of coding in schools as well. I will explain briefly why this framing is mistaken.

Since computer programming consists of giving instructions to a computer, it can seem as though learning a programming language is the same as learning a new language. Just as it makes sense to learn Chinese or English given that around a billion people speak each, so — with several billion technological objects in the world that are computers — it seems useful to learn "the language of computers."

The problem is that language is merely the tool through which thought is expressed. Not being a linguist, I will not weigh in on whether the Sapir-Whorf hypothesis (the idea that spoken language shapes the speaker's cognitive system) is true or not. But it is perfectly clear to everyone that what determines the success of an entrepreneur or a professional is not so much knowing English as their skills and abilities in their specific field.

Knowing a programming language is therefore not enough to understand the digital world. It is an illusion to think otherwise. Just as a linguistic expression is only a representation of thought, so a computer program is merely the form through which we give concrete shape to "the way a computer scientist thinks" — that is, computational thinking.

What should therefore be taught, in schools even before universities, is the discipline that fosters the development of this way of thinking — that is, informatics. This is necessary for understanding the scientific foundations of the digital world, and for navigating today's society in a more informed and competent way.

However, the loyal reader — or the critical one who asks "let's see what Nardelli has written on this subject" and does a little research — might object: "but you yourself have spoken of computational thinking as a new language for describing the world and of Informatics: the new Latin that everyone loves. Aren't those languages?"

Human communication is, unfortunately, extremely slippery terrain. An expression can in some cases be a chisel that carves exactly the desired profile, but in others it can take on entirely different meanings. The latter can be an advantage that makes it possible to achieve broad consensus, but it becomes a weakness when it comes to establishing shared foundations and agreeing on common action. The world of scientific knowledge uses mathematical language precisely because it is the only one that brings only benefits, without drawbacks. In communication between people, there is no alternative to calm, reasoned discussion.

In those earlier articles I used the term "language" in the sense in which "mathematics" is often used to denote a "language" capable of describing quantities and relationships with absolute precision. To use somewhat philosophical terms, I used "language" as a synonym for "epistemological paradigm" — or, in plain words, as a synonym for "a key to reading reality." So when I say that "computational thinking provides a new language for describing the world," I am saying that through it we can describe certain phenomena "as if" they were computations. This does not necessarily mean that they actually are, but informatics offers new and useful ways of analysing and explaining reality. A prime example is the description of biological processes at the molecular level: the mechanism of DNA replication can also be viewed "as if" it were a computation, and this has offered enormous advantages for understanding it. Examples of the usefulness of the informatics approach can also be found in economics and sociology.

Let me return to the importance of teaching "how a computer scientist thinks" from school age onwards, with an example drawn from mathematics. In primary school we teach children "to do sums" — not so much because the goal is to learn that 3×2=6 or 12÷4=3, that is, the times table, but because it is important for children to understand that if 3 girls have 2 sweets each the total number of sweets is obtained by multiplication, while if 12 biscuits are to be shared among 4 girls the number of biscuits per girl is obtained by division. We are not, therefore, teaching an operational tool so much as a key to understanding reality — "mathematical thinking."

And why should it be taught in schools? other readers might ask, pointing out that children today are all digital natives who already speak "the language of computers." I have already explained that what is at stake is not teaching a language but a way of thinking.

Moreover, as Giorgio Israel had already noted, the expression "digital natives" simply refers to those who were born into a digital society. Extending this term to imply an "innate" capacity for understanding that world is one of the pitfalls of communication that we must be alert to — especially when we are talking about the majority of the school-age population, and not letting ourselves be dazzled by the exceptions that most easily find space in the mass media.

Young people, partly thanks to the greater amount of time available to them compared to adults, and to a curiosity that is still very much alive, often manage to surprise us with these devices. Yet without adequate education, their understanding of a technology more complex than anything else ever built by human hands remains only superficial. Ask in schools what the difference is between Google (the search engine) and the Internet, and you will see. Of course, human beings are intelligent enough to navigate the world around them without a complete rational explanation of how it works — but in this case we are not dealing with a "book of nature" that is hard to read, but with an extremely complex technological infrastructure, built by people for people, where the choice is between shaping your own future or having it imposed on you.

Added to this is the difficulty — the result of deliberate market choices by the manufacturers of modern computing devices — of "getting one's hands dirty" to "see what happens if." In the decades following the Second World War, the country's productive fabric was rebuilt partly because enterprising young people could dismantle, study, and reassemble machinery in order to reproduce and improve it. All of this is impossible with today's plug-and-play smart devices, which is one of the reasons why open solutions both at the hardware level (such as Arduino) and the software level (such as Linux) should be the absolute standard for schools.

I will close by observing that it is not only the complexity of technology that eludes so-called "digital natives" and cannot be acquired through a simple coding course. "Thinking like a computer scientist" (to quote Jeannette Wing) — that is, possessing the intellectual tools that remain after studying informatics — is necessary for understanding that the productive automation brought about by informatics (the so-called "digital enterprise") is radically different from traditional industrial automation.

The latter was essentially the replacement of people's physical actions with the power of machines, under the guidance of human cognitive faculties. Digital automation is the replacement of human intelligence with a machine: this is a dramatic paradigm shift that contemporary society has not yet fully absorbed or understood. One of the essential capacities of human intelligence is adaptability to changes in the environment — the flexibility to handle new or modified requirements. People have an innate ability to evolve in response to change and to learn from their mistakes. Computer systems do not.

To borrow a metaphor introduced by Umberto Eco, computer systems are like that "Funes el memorioso" described by Jorge Luis Borges — a character capable of remembering and correlating every last detail of his existence, yet almost incapable of general ideas, of actual thought. In a world where it is no longer necessary to remember, because any piece of information is easily retrievable; where the manipulation of symbols can be repeated at fantastic speed and negligible cost — the ability to ask the right questions and find innovative solutions is what will make the difference. Informatics (the science, not the technology) is one — though not the only — powerful gymnasium for this. A humanities education is another.

Without either glorifying or demonising the use of digital technologies in the classroom — a complex scenario to be approached with a critical and questioning mindset — it is worth noting that there is scientific evidence that the availability of devices that keep us constantly connected impairs cognitive abilities (the so-called brain drain effect). It is no coincidence that in Silicon Valley — whose inventions have brought the future into the present — the children of the ruling class have for many years now been educated in schools with no smartphones or tablets, but with paper books and laboratories.

--
The original version (in italian) has been published by "Il Fatto Quotidiano" on 17 October 2017.

Dal coding a Borges

di Enrico Nardelli

(english version here)

In questa ripresa autunnale delle attività del mondo dell’istruzione si va diffondendo, dalla scuola all’università, il concetto che il coding (cioè la programmazione informatica) sia il nuovo inglese.

Ha iniziato la Bocconi, imponendo a tutti gli studenti della triennale l’esame di programmazione. Ho stigmatizzato più di tre anni fa la sciatteria linguistica dell’usare un termine inglese al posto dell’equivalente italiano. Non sono stato né il primo né l’ultimo, ma ci tengo a ribadire che usare la nostra lingua significa sostenere la nostra identità sociale e culturale. E le identità sono importanti per rispettare le differenze. La biologia e la fisica da milioni di anni ci insegnano che solo dalla differenziazione nasce la ricchezza dei sistemi.

Diversi giornali hanno ripreso e rilanciato questo concetto, comunicativamente molto semplice, ma concettualmente del tutto sbagliato, ed hanno invocato l’introduzione del coding anche nelle scuole. Spiegherò in modo sintetico perché questa formulazione sia errata.

Poiché la programmazione informatica consiste nel dare istruzioni ad un computer, può sembrare che imparare un linguaggio di programmazione sia la stessa cosa dell’imparare una nuova lingua. Così come con circa un miliardo di persone che parlano cinese o inglese ha senso imparare una di queste lingue, così con diversi miliardi di oggetti tecnologici al mondo che sono computer sembra utile imparare “la lingua dei computer”.

Il problema è che la lingua è solo lo strumento mediante il quale viene espresso il pensiero. Non essendo un linguista, non discuto se l’ipotesi di Sapir-Worf (la lingua parlata condiziona il sistema cognitivo del parlante) sia vera o meno. Ma è ben chiaro a tutti che non è tanto il sapere l’inglese che determina il successo di un imprenditore o di un professionista, quanto le sue competenze e abilità nel suo specifico campo.

Non basta quindi conoscere un linguaggio di programmazione per capire e comprendere il mondo digitale. È illusorio e sbagliato pensarlo. Così come un’espressione linguistica è solo una rappresentazione del pensiero, così un programma informatico è solo la forma mediante cui rendiamo concreto il “modo di pensare di un informatico”, cioè il pensiero computazionale.

Ciò che quindi dovrebbe essere insegnato, nelle scuole ancor prima che nelle università, è la disciplina che favorisce lo sviluppo di questo modo di pensare, cioè l’informatica. Questo è necessario per comprendere le basi scientifiche del mondo digitale, per sapersi orientare nella società odierna in modo più informato e competente.

Però il lettore fedele, o quello critico che si pone la domanda «ma vediamo un po’ che ha scritto il Nardelli su questo tema» e fa un po’ di ricerca, potrebbero obiettare: «scusa, ma tu stesso hai parlato del Pensiero computazionale come nuovo linguaggio per la descrizione del mondo e di Informatica: il nuovo latino che tutti amano». Non sono linguaggi?

Purtroppo la comunicazione umana è terreno estremamente scivoloso. Un’espressione può essere in certi casi uno scalpello che incide esattamente il profilo voluto, ma in altri casi può assumere significati estremamente diversi. Quest’ultimo può essere un vantaggio che permette di ottenere un vasto consenso, ma si trasforma in debolezza quando si tratta di assumere basi condivise e concordare azioni comuni. Il mondo della conoscenza scientifica utilizza un linguaggio matematico proprio perché è l’unico che apporta solo benefici, senza danni. Nella comunicazione tra persone non c’è alternativa alla discussione serena ed argomentata.

In quei precedenti articoli ho usato il termine “linguaggio” nel significato con cui spesso si usa il termine “matematica” per denotare un “linguaggio” in grado di descrivere con assoluta esattezza quantità e relazioni. Per usare termini un po’ filosofici, ho usato “linguaggio” come sinonimo di “paradigma epistemologico”. Detto in parole povere, come sinonimo di “chiave per la lettura della realtà”. Quindi dicendo che “il pensiero computazionale fornisce un nuovo linguaggio per la descrizione del mondo” sto dicendo che mediante di esso è possibile descrivere alcuni fenomeni “come se” fossero delle computazioni. Non è detto che lo siano effettivamente, ma attraverso l’informatica si hanno nuovi e utili modi per analizzare e spiegare la realtà. Un esempio lampante è la descrizione dei processi biologici a livello molecolare: il meccanismo di replicazione del DNA può anche essere visto “come se” fosse una computazione, e questo ha offerto enormi vantaggi per la sua comprensione. Anche in economia e in sociologia si trovano esempi dell’utilità dell’approccio informatico.

Ritorno sull’importanza di insegnare già nella scuola “come pensa un informatico” con un esempio preso dalla matematica. Nelle elementari insegniamo “a far di conto” non tanto perché il fine sia imparare 3x2=6 o 12:4=3, cioè la tavola pitagorica, quanto perché è importante che il bambino capisca che se 3 bambine hanno 2 caramelle ciascuna il numero totale di caramelle si ottiene con la moltiplicazione, mentre se 12 biscotti devono essere distribuiti a 4 bambine il numero di biscotti per bambina si ottiene con la divisione. Non stiamo quindi tanto insegnando uno strumento operativo, quanto una chiave di comprensione della realtà (“il pensiero matematico”).

E perché andrebbe insegnata nella scuola? potrebbero chiedere altri lettori, osservando che bambine e bambini sono ormai tutti nativi digitali che già parlano “la lingua dei computer”. Ho già spiegato che non si tratta di insegnare un linguaggio ma un modo di pensare.

Inoltre, come aveva già evidenziato Giorgio Israel, l’espressione “nativi digitali” indica semplicemente coloro che sono nati in una società digitale. Estendere tale denotazione a suggerire una loro capacità di comprensione “innata” di tale mondo è una delle insidie della comunicazione di cui dobbiamo essere avvertiti. Soprattutto se parliamo della maggioranza della popolazione scolastica e non ci facciamo abbagliare dalle eccezioni che sono quelle che più facilmente trovano spazio sui mass media.

I ragazzi, grazie anche alla maggiore quantità di tempo a disposizione rispetto agli adulti e ad una curiosità ancora vivissima, spesso riescono con questi dispositivi a sorprenderci. Però, la comprensione che hanno di una tecnologia più complessa di qualunque altra costruita dall’uomo è solo apparente, in assenza di un’adeguata istruzione. Chiedete nelle scuole la differenza tra Google (il motore di ricerca) ed Internet e vedrete. Per carità, gli esseri umani sono così intelligenti che possono usare il mondo intorno a loro anche senza una spiegazione razionale completa di come funziona, ma in questo caso non si tratta di un “libro della natura” difficile da leggere, ma di un’infrastruttura tecnologica estremamente complessa, costruita da persone per le persone, in cui l’alternativa è tra creare il proprio futuro o farselo imporre.

A questo si aggiunge la difficoltà, per precise scelte di mercato dei produttori dei dispositivi informatici moderni, di “mettere le mani in pasta” per “vedere che accade se”. Nei decenni successivi alla seconda guerra mondiale, il tessuto produttivo del Paese è stato riscostruito anche grazie al fatto che una gioventù intraprendente poteva smontare, studiare e rimontare macchinari, per riprodurli e migliorarli. Tutto questo è impossibile con le soluzioni “chiavi in mano” degli strumenti smart di oggi ed è uno dei motivi per i quali, invece soluzioni “aperte” sia a livello hardware (tipo Arduino) che software (tipo Linux) dovrebbero essere lo standard assoluto per la scuola.

Concludo osservando che non è solo la complessità della tecnologia che sfugge ai cosiddetti “nativi digitali” e non può essere conseguita da un semplice corso di coding. Il “pensare come un informatico”, cioè il possedere quegli strumenti intellettuali che rimangono dopo aver studiato informatica, è necessario per capire che l’automazione produttiva derivante dall’informatica (la cosiddetta “impresa digitale”) è radicalmente diversa dalla tradizionale automazione industriale.

Quest’ultima è stata essenzialmente la sostituzione dell’azione fisica delle persone con la forza delle macchine, sotto la guida delle facoltà cognitive delle persone. L’automazione digitale è la sostituzione dell’intelligenza umana con una macchina: si tratta di un drammatico cambiamento di paradigma che la società contemporanea non ha ancora pienamente assorbito e compreso. Una delle capacità essenziali dell’intelligenza umana è l’adattabilità ai cambiamenti dell’ambiente, la flessibilità nel gestire esigenze nuove o modificate. Le persone hanno una capacità innata di evolversi per fronteggiare l’evoluzione e di imparare dagli errori. I sistemi informatici non ce l’hanno.

Riprendendo una metafora introdotta da Umberto Eco, i sistemi informatici sono come quel “Funes el memorioso” descritto da Jorge Luis Borges, che era in grado di ricordare e correlare ogni più minimo dettaglio della sua esistenza ma quasi incapace di idee generali, di pensare. In un mondo in cui non è più necessario ricordare, perché ogni informazione è facilmente reperibile, in cui la manipolazione di simboli può essere ripetuta a velocità fantastica ed a costi irrisori, la capacità di porsi le giuste domande e di trovare soluzioni innovative è ciò che farà la differenza. L’informatica (la scienza, non la tecnologia) è una (non l’unica) palestra potente. L’istruzione umanistica è un’altra.

Senza esaltare né demonizzare l’uso delle tecnologie digitali in classe, scenario complesso da affrontare con un approccio critico-problematico, è bene ricordare che vi sono evidenze scientifiche che la disponibilità di strumenti che ci consentono di essere sempre connessi disturba le capacità cognitive (il cosiddetto effetto brain drain). Non è un caso che in quella Silicon Valley le cui invenzioni hanno reso il futuro presente, da molti anni ormai i figli della classe dirigente studiano in scuole senza smartphone né tablet ma con libri di carta e laboratori.


-----
Versione originale pubblicata su "Il Fatto Quotidiano" il 17 ottobre 2017.

sabato 15 luglio 2017

Quanto ne sanno i consumatori di intelligenza artificiale?

di Isabella Corradini

Non c’è dubbio che il tema dell’Intelligenza Artificiale (IA) sia oggetto di grande interesse e di numerosi dibattiti. Le sue potenzialità sono di particolare attrattività per il mondo aziendale in quanto potrebbero rivoluzionare il modo di erogare i servizi alla clientela, e non solo. Ma cosa ne pensano i consumatori?

Nell’ambito di uno studio globale condotto su 6.000 soggetti adulti da Pegasystems, società operante nell’ambito delle soluzioni di Customer Engagement, è emerso un quadro interessante. In particolare, prevale un sentimento di “confusione” nell’interagire con l’IA. Ad esempio, solo il 34% del campione ha dichiarato di averne avuto esperienza diretta, per poi scoprire che in realtà fa già uso nel quotidiano di diversi dispositivi e servizi basati sull’Intelligenza Artificiale.
In questo modo la percentuale sale all’84%. In generale, comunque, dallo studio





emerge, allo stato attuale, una scarsa consapevolezza dei consumatori su cosa sia effettivamente l’Intelligenza Artificiale e sulle sue funzionalità. Se ne parla molto, ma un conto è parlarne da esperti, un conto è spiegare l’IA agli utenti, non sempre padroni del linguaggio tecnologico.

Si tratta di un punto basilare, dal quale può dipendere il comportamento di diffidenza o di apertura verso l’Intelligenza Artificiale. Da un lato, infatti, più del 70% del campione intervistato nutre un certo timore nei confronti dell’AI, dall’altro invece, il 68% dichiara la disponibilità a sperimentarne di più, se ciò dovesse facilitare la vita di tutti i giorni, ad esempio facendo risparmiare tempo e denaro. Diventa dunque indispensabile informare correttamente i consumatori sul tema; e magari dovrebbero essere proprio le imprese a farlo, sia per il fatto che stanno investendo molto in questo campo, sia perché la diffusione di prodotti e servizi è comunque legata al senso di fiducia dei consumatori.

A questo punto, però, sarebbe opportuno attivarsi per una maggiore chiarezza non solo riguardo ai vantaggi dell’IA, ma anche ai possibili rischi. Insomma, far conoscere la reale portata del cambiamento permetterebbe alle persone di decidere, e questa volta con consapevolezza.

Pubblicato su Bancaforte l'8 giugno 2017.