lunedì 6 gennaio 2025

Programmare è FACILE con BAS.I.LI.CO.

Questo 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 i computer come strumenti attraverso i quali esprimere creatività, che possono aiutare a sviluppare la capacità di risolvere problemi, che poi è l’essenza della programmazione.

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. Una sua implementazione open source per i computer attuali è FMSLogo, tradotto in 12 lingue, tra le quali l’italiano.

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 può avere la forma di un triangolo o un disegno di una tartaruga stilizzata (un triangolo). 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 per i computer di oggi del linguaggio Logo è FMSLogo. 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, in una versione recente: il BAS.I.LI.CO. (BASato sull’Italiano Linguaggio COmpatibile). Ho realizzato BAS.I.LI.CO. derivandolo dal QB64. BAS.I.LI.CO. è un’implementazione del BASIC con istruzioni basate sulla lingua italiana, è multipiattaforma, completamente gratuito ed a codice aperto.



Si può usare su sistemi Windows, MacOS e Linux. Lo ritengo adatto alla didattica informatica, come lo era il BASIC negli anni ‘80, per i ragazzi delle scuole medie e superiori, ma anche per i bambini della scuola primaria e anche per i principianti assoluti di ogni età.

BAS.I.LI.CO. si scarica da qui:

https://github.com/smaxmex/basilico

Manca ancora documentazione in italiano e cerco di colmare tale lacuna anche con 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 blog si basano 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.

Le informazioni relative al libro di Reneau sono al seguente sito in inglese:

http://www.basicbook.org

BASIC-256 si può scaricare dalla seguente pagina:

https://downloads.sourceforge.net/project/kidbasic

1 commento:

  1. Bella iniziativa un corso qb64 spero che questo non venga abbandonato anche perché Manca ancora documentazione in italiano sarebbe anche utile tradurre anche quella ma però capisco ci vorrà tanto tempo ma la cosa più importante di più delle istruzioni è parole chiavi sarebbe imparare la logica di programmazione è risolvere i problemi che tanti programmare dicono che queste non può insegnarle nessuno quindi si deve mettere le mani in pasta sperimentare spero che in questo sito ci saranno aggiornamenti seguirò questo corso per imparare cose nuove sicuro

    RispondiElimina

Disegnare forme elementari con BAS.I.LI.CO.

Nel post precedente è stato presentato l'Ambiente di Sviluppo del linguaggio di programmazione BASILICO . Adesso ci occuperemo di grafi...