Questo mio blog intende essere un’introduzione alla programmazione per principianti di ogni età, a partire dai ragazzi delle scuole medie, intende mostrare come si possano usare computer, tablet e smartphone come strumenti attraverso i quali esprimere creatività, che possono aiutare a sviluppare la capacità di risolvere problemi, che poi è l’essenza della programmazione, senza nulla togliere ai videogiochi. Avendo anch’essi un loro specifico valore non vanno di certo demonizzati, se usati nei giusti limiti.
Ricordo la prima volta che ebbi tra le mani un computer: ero un bambino all’inizio degli anni ’80 e si trattava di un Commodore 64, che mio padre vendeva nell’ambito della sua attività di agente librario. Uno dei canali di diffusione degli home computer, infatti, fu quello di abbinarlo ad enciclopedie che permettevano agli utenti di studiare quell’aggeggio che avevano comprato.
Non tutti negli anni ’80 comprarono il computer insieme ad un’enciclopedia, ma il computer era comunque corredato da un manuale. Il manuale del Commodore 64 spiegava bene i rudimenti della programmazione con il linguaggio di programmazione BASIC (nella scarna, essenziale versione del linguaggio per Commodore 64) e vi era l’elenco completo dei comandi con relativa spiegazione della loro sintassi ed utilizzo.
L’home computer si presentava come una tastiera che si collegava al televisore attraverso il cavo dell’antenna. Ciò che veniva scritto sulla tastiera compariva sullo schermo.
Cosa iniziavano a fare, quindi, i bambini con il computer di casa? Quando iniziavamo a capire che non si trattava solamente di un dispositivo per far apparire sullo schermo della TV ciò che digitavamo sulla tastiera si cercava il manuale e lo si leggeva per provare man mano le righe di codice che venivano proposte. Da lì a modificarle per vedere che succedeva il passo era breve e così la creatività portava a realizzare i primi listati che facevano fare al computer ciò che volevamo noi.
Non tutti usarono così gli home computer. Moltissimi li usarono esclusivamente come console di videogiochi. Tutti però avevamo ben chiaro che un computer non faceva nulla senza il software, senza i programmi, senza le cassette (e poi i floppy disk).
Oggi la situazione è profondamente mutata. Già da bambini moltissimi hanno accesso a computer, smartphone o tablet, oltre che a console di videogiochi. Imparano presto a capire che tutti questi dispositivi hanno bisogno di software, ma ora il software è (a pagamento o meno) disponibile in rete e quindi è molto più semplice averlo. Immaginare un computer come qualcosa che non fa nulla senza essere programmato è molto più difficile oggi, per l’utente medio. Si finisce per vedere un computer come strumento ludico-multimediale e di comunicazione. Il rischio è di farsi coinvolgere da mondi virtuali nei quali, senza le dovute precauzioni, i minori vengono in qualche modo programmati piuttosto che programmare i computer.
L’unico linguaggio di programmazione per chi aveva appena comprato il computer negli anni ‘80 era quello preinstallato in ROM, immediatamente disponibile già all’accensione (istantanea) del computer: il BASIC. L’acronimo sta per “Beginner’s All-purpose Symbolic Instruction Code” (in italiano “codice di istruzione simbolica di uso generale per principianti”), ma la parola «basic» in sé in inglese significa «di base», «fondamentale», «essenziale» e quel nome è quindi tutto un «programma».
Non passò troppo tempo che altri linguaggi furono disponibili. Uno di questi fu il Logo, linguaggio di programmazione fortemente orientato alla grafica, alla geometria di base ed alla didattica, adatto all’insegnamento della programmazione a partire dai bambini della scuola primaria.
Il Logo nacque negli anni ’60, sviluppato da Seymour Papert del Massachussets Institute of Tecnology. Papert aveva lavorato con Jean Piaget all’Università di Ginevra dal 1958 al 1963 ed usò, nello sviluppo del Logo, i risultati degli studi di Piaget, notissimo psicologo, biologo, pedagogista e filosofo svizzero che fondò l’epistemologia genetica e si occupò di psicologia dello sviluppo.
La caratteristica peculiare del Logo è la geometria della tartaruga. In origine il Logo fu usato per far muovere un semplice robot, che aveva una corazza la cui forma faceva pensare ad una tartaruga. Con lo sviluppo dei monitor il Logo poté essere usato anche in assenza del robot ed entrò così nei laboratori informatici delle scuole, particolarmente per lo studio della geometria.
La tartaruga, non essendo più un robot, è uno sprite che ha la forma di un triangolo, che rappresenta a video la tartaruga. Chi usa il Logo può impartire comandi di movimento alla tartaruga, che muovendosi realizzerà dei disegni sullo schermo.
La grafica della tartaruga si contraddistingue per il suo modo di impartire i comandi di disegno al computer descrivendoli “dall’interno”, cioè immedesimandosi nella tartaruga. Dal punto di vista pedagogico questo modo di disegnare attraverso comandi dati al computer è strettamente legato all’esperienza diretta di movimento dell’utente ed alla capacità di comunicare agli altri come muoversi nello spazio.
Il Logo è stato usato nelle scuole elementari e medie inferiori, dato che, attraverso i suoi comandi, anche un principiante può fin dall’inizio ottenere risultati visibili. Vi sono versioni di Logo con comandi in varie lingue, tra le quali alcune versioni italiane, fin dagli anni ’80. Il Logo ha anche il vantaggio, rispetto al BASIC, di imporre un metodo di programmazione ordinato, strutturato, usando le procedure ed essendo così estensibile.
Una delle implementazioni open source per i computer di oggi del linguaggio Logo è FMSLogo, tradotto in 12 lingue, tra le quali l’italiano.. Il sito di FMSLogo è il seguente:
https://fmslogo.sourceforge.io
Per usare FMSLogo in italiano si può partire dalle seguenti pagine web:
https://entuland.com/it/libri/fmslogo
https://www.tiziana1.it/logo.htm
In questo mio blog, invece, si parlerà del più antico linguaggio di programmazione per principianti: il BASIC, anche se in una versione recente, il BBC BASIC per SDL, dialetto BASIC di cui mi sono innamorato e che ritengo adatto alla didattica informatica, come lo era in BBC BASIC negli anni ‘80. BBC BASIC per SDL è un’implementazione multipiattaforma completamente gratuita ed a codice aperto (open source) del BBC BASIC per Windows, MacOS, Linux (solo CPU x86), Raspberry Pi (RPi3 o successivo), Android, iOS o per l'esecuzione in un browser. Lo ritengo un’ottima risorsa educativa per i ragazzi delle scuole medie e superiori, ma anche per i bambini della scuola primaria. Il sito ufficiale (in inglese) del BBC BASIC per SDL è:
http://www.rtrussell.co.uk/bbcsdl/index.html
Nel sito vi è un’ottima documentazione in inglese ed un semplice tutorial. Mancando documentazione in italiano, ho pensato di creare il questo blog, che è un percorso di lezioni, corredate di esercizi, per insegnare la programmazione a chiunque voglia cimentarsi in questa meravigliosa avventura.
Le lezioni di questo mio blog si baseranno sulle pagine didattiche sul dialetto BASIC denominato BASIC-256 del sito in italiano di Vito Barone e sul libro intitolato “So You Want to Learn to Program?” (“Così vuoi imparare a programmare?”) di James M. Reneau, libro in varie lingue, ma non in italiano, che insegna a programmare in BASIC-256.
La pagina iniziale della sezione didattica sul BASIC-256 del sito di Vito Barone si trova al seguente indirizzo:
https://www.vitobarone.it/basic.htm
Le informazioni relative al libro di Reneau sono al seguente sito in inglese:
BASIC-256 si può scaricare dalla seguente pagina: