Come insegnare il pensiero computazionale senza programmi complicati

Umberto Talamo, insegnante e ingegnere, spiega come il pensiero computazionale si possa insegnare anche ai più piccoli, con Scratch

Faccio una piccola premessa. Vorrei esprimere a tutti voi la mia personale interpretazione relativamente all’insegnamento del Pensiero Computazionale introdotto nella legge detta “la buona scuola”, che dal punto di vista  dei contenuti didattici, ritengo “una buona legge”. Premetto che per più di venti anni, oltre ad insegnare elettronica ed informatica negli Istituti Superiori, ho praticato la professione di ingegnere nel campo dell’automazione industriale e la robotica occupandomi in particolare di software. Ho sviluppato sia applicazioni per PC, PLC, sistemi SCADA, e MOTION SYSTEMS sviluppando software per impianti industriali, macchine di vario tipo e robot industriali. E’ stato bello e ritengo utile, anche alla mia professione di insegnante perché ho potuto riportare l’esperienza esterna nella scuola e quindi ai miei alunni.

scratch-og

Una inversione di paradigma

Chi insegna la materia informatica negli Istituti Tecnici di Istruzione Superiore conosce bene il concetto di paradigma di programmazione un insieme di idee scientifiche collettivamente accettato per dare un senso al mondo dei fenomeni [T.S. Kuhn]. La questione si è posta già negli anni ’60 con la programmazione funzionale, ma il contributo più decisivo in questo senso è stato dato probabilmente negli anni ’70 dalla cosiddetta programmazione logica prima, e dal boom di quella ad oggetti, dopo. Oggi i paradigmi di programmazione citati con una certa frequenza sono almeno una decina, anche se non sempre sono chiari i loro confini o la loro indipendenza. I paradigmi offrono una chiave di classificazione dei linguaggi: diremo che un linguaggio afferisce ad un paradigma se consente di scrivere i programmi in accordo ad esso.

Il pensiero computazionale

La competenza principale di un buon informatico è quella di saper programmare: così come il modo corretto e canonico per un buon docente di informatica è quello di insegnare che

non è corretto scrivere direttamente il codice senza una serie documentata di passaggi fatti a monte

Bene, questi passaggi, che poi portano alla fase finale che è la “codifica” rappresentano quello che viene definito “il pensiero computazionale”.

In sintesi sono:

  • Decomposition
  • Pattern Location
  • Abstraction
  • Algorithm

I bravi insegnanti (ma anche professionisti nel mondo del lavoro) hanno sempre detto: “Se fai tutti questi passaggi, la codifica ti viene  gratis”, cioè facile. La legge 107, art 1 comma 7 ci parla di Pensiero Computazionale e nella stessa non troverete la parola “coding ” o “programmazione” in senso informatico. Ed è giusto che sia così, concordo pienamente con gli autori della legge. In realtà potremmo insegnare il pensiero computazionale senza programmare, cosa tra l’altro possibile attraverso l’utilizzo di  metodi cosiddetti “Unplugged”.

Ma una strada più bella e creativa, più vicina sicuramente alla realtà che vivono i nostri alunni (nativi digitali) è quella di utilizzare il  Computer o le altre tecnologie disponibili (SmartPhone, Tablet, ecc.) e quindi il “coding”, cioè la programmazione. Sembra, la mia una considerazione, banale, scontata, ma se ci pensate bene non lo è, soprattutto per gli esperti della materia. Perché questo rappresenta un vero e proprio cambio di paradigma:

Metodo tradizionale:

Dalla costruzione del pensiero computazionale alla codifica finale (lo troverete in tutti i libri di informatica)

Inversione:

Dalla codifica alla costruzione del Pensiero Computazionale

Il linguaggio semplice: Scratch

Sembra un cosa complicata e contraddittoria, ricordate (se fai tutti questi passaggi, la codifica ti viene facile e gratis) questo perché i linguaggi di programmazione letterali (es. il C, C++, Java e quant’altro) sono complessi in se, con una sintassi che richiede un tempo di apprendimento specifico e una età minima di 15-16 anni (sperimentazione effettuata su una e seconda classe di Liceo durante un corso di Robotica educativa ). La difficoltà di scrivere programmi con linguaggi letterali e quindi “la possibilità  di liberare il pensiero computazionale” è  dimostrata anche dal fatto che nel mondo dell’automazione e della robotica industriale, se pure per finalità differenti (mancanza di tempo relativa alla progettazione di software, tempi stretti di messa in servizio, necessità di chiarezza del software stesso a fini manutentivi), si usano quasi esclusivamente linguaggi a blocchi ed è quasi sempre  “vietato” dalle specifiche dei clienti  l’utilizzo di tali linguaggi letterali. Quindi se avessi un linguaggio che mi permettesse di programmare in modo semplice, intuitivo e scorrevole, che non fosse un ostacolo, ma indicasse in modo naturale al computer le azioni che voglio compiere, potrei utilizzarlo come strumento di insegnamento e non come finalità del mio insegnamento. Per fortuna, questo strumento esiste, si chiama Scratch  ed è anche OpenSource. Esiste anche un ambiente chiamato Blockly che è in realtà una libreria di funzioni per programmatori esperti (sulla quale si basa es. il sito code.org oppure l’applicazione WEB “MIT App Inventor” che serve a creare app per smartphone…) ma io preferisco Scratch e i suoi derivati.

La robotica con Arduino

Questo tipo di approccio può essere usato anche per il Phisical Computing e la Robotica educativa utilizzando mBlock (derivato da Scratch) insieme alla piattaforma Hardware Arduino. Aggiungo in particolare che Arduino rappresenta un buon “entry level” per l’insegnamento dell’elettronica del Phisical computing e della Robotica educativa, a partire dalla scuola primaria, sino al 5° anno della scuola secondaria di secondo grado (negli istituti di indirizzo specifico, si dovrebbe entrare nel merito di sistemi elettronici e informatici più complessi). Spero che questo mio piccolo contributo sia di aiuto ad orientarsi nel complesso mondo di innovazione tecnologica e didattica nel quale ci stiamo addentrando.*

*articolo precedentemente pubblicato su CoderdojoTaranto.it

Umberto Talamo

 

Ti potrebbe interessare anche

“Twitto la letteratura e assegno compiti di coding per Natale: la mia vita da animatrice digitale”

Intervista a Stefania Bassi, animatrice digitale e maestra elementare a Roma: la sua scuola è tra i vincitori del concorso del Miur per il Piano Nazionale Scuola Digitale

Al Coderdojo Ancona le bambine imparano a creare mimose digitali

Dal 7 al 13 marzo c’è la settimana RosaDigitale: in tutta Italia sono stati organizzati eventi per avvicinare le ragazze alle tecnologie e al digitale

Se Trump è alla Casa Bianca non è merito delle bufale sul web, dice questo studio di Stanford

Secondo una ricerca condotta da due economisti della Stanford University e della New York University, le bufale condivise sui social nel periodo pre-elettorale non sono state decisive nell’elezione di Donald Trump alla Casa Bianca: le persone nemmeno le ricordavano

UberEats si espande su Milano, nuove zone servite da Città Studi a NoLo

A due mesi dal lancio il food delivery di Uber amplia l’area coperta e i confini della consegna a domicilio dei piatti dei migliori ristoranti e locali milanesi. Il servizio si lancia oltre l’area della Circolare esterna, arrivando così a includere quartieri come Città Studi, San Siro, Portello, NoLo e la Maggiolina

Intesa Sanpaolo e Federico II creano un hub per fare open innovation al Sud

Il progetto del Gruppo Intesa, all’interno del Campus che ospita la iOs Academy di Apple, vuole creare sinergie tra l’Università e imprese. Due gli obiettivi principali del nuovo polo: ridurre la disoccupazione e fermare la fuga dei cervelli