Introduzione

Per chi avesse bisogno di una rinfrescata veloce, coding è un termine inglese il cui significato è stato per anni "l’attività di scrivere codice sorgente", ed è usato quasi come sinonimo di “programmare”. Quasi, perché programmare può significare anche analizzare, progettare, verificare, integrare un codice sorgente; mentre coding fa riferimento solo alla scrittura del codice, cioè alla trasformazione di un algoritmo in un testo in un determinato linguaggio di programmazione.
Curiosamente con coding, in questo momento storico, ci si riferisce invece alle attività di introduzione dei bambini alla programmazione, attraverso ambienti di programmazione visuale: cioè in cui paradossalmente non serve (anche se è possibile) scrivere il codice, ma è sufficiente posizionare oggetti simbolici che stanno al posto di operatori, variabili, condizioni.
Questo testo presenta una serie di attività didattiche di coding intorno ad argomenti di lingua. E' probabilmente l'unico, al momento, nel suo genere, non solo in Italia. L'idea è nata dalla rilettura di un testo rivoluzionario del 1989 in cui Giorgio Casadei, ordinario di Informatica a Bologna, presentava un percorso di apprendimento del Prolog dedicato a insegnanti di materie umanistiche. Se si poteva pensare di usare un linguaggio di programmazione (e uno davvero particolare come il Prolog) in una classe di Italiano trent'anni fa, perché non oggi che la programmazione è tornata in auge in modo così potente?
Qui l'obiettivo è quello di stimolare il docente e la sua classe a trovare modi interessanti di apprendere e riflettere sulla lingua grazie ad un uso creativo di un linguaggio di programmazione. I concetti e le tecniche di programmazione, che giocoforza sono presentate ma non approfondite a livello di un manuale universitario, sono al servizio della didattica della lingua, e non viceversa.
Le attività descritte vanno intese come modelli da adattare e contestualizzare, non come schemini pronti da recitare in classe. Al docente si richiede di capire il senso di ogni attività, di digerirla e solo dopo di provare a sperimentarne una o più in classe, nell'ordine che le/gli sembra più opportuno. Le versioni di codice sorgente presentate (in Kojo, ma anche in Logo o in Prolog) sono di difficoltà crescente, in modo che si possa scegliere quella più consona al livello della classe, oppure lavorare a partire dalla prima e andando avanti, fino a cambiare qualche elemento per agganciarlo ad attività già svolte o in programma. E’ anche perfettamente pensabile tradurre il codice in un linguaggio diverso (Scratch, Snap! o altro ancora) per fare un'attività corrispondente negli obiettivi ma diversa nelle modalità e nei risultati.
A mio modesto avviso, questo è l'unico modo possibile per evitare che il coding si trasformi da ricca opportunità in ripetizione meccanica di azioni di cui non si capisce bene la valenza didattica.