domenica 10 novembre 2024

Corso FACILE di BBC BASIC per SDL

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:

http://www.basicbook.org

BASIC-256 si può scaricare dalla seguente pagina:

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

domenica 3 novembre 2024

Programmare è FACILE con BBC BASIC

Il linguaggio di programmazione BASIC (Beginner's All-purpose Symbolic Instruction Code) è stato sviluppato nel 1964 da John G. Kemeny e Thomas E. Kurtz al Dartmouth College per creare un linguaggio di programmazione facile che potesse essere utilizzato da studenti e principianti. Il BASIC divenne uno dei linguaggi di programmazione più diffusi negli anni '70 e '80. La sua sintassi semplice ha reso possibile l'adozione di BASIC in molte piattaforme e sistemi, contribuendo così a democratizzare l'accesso alla programmazione.

BBC BASIC è una variante del BASIC sviluppata da Sophie Wilson nel 1981 per il computer BBC Micro, prodotto dalla Acorn nell’ambito di un progetto educativo della British Broadcasting Corporation (BBC) volto a promuovere l'informatica nelle scuole del Regno Unito. Il BBC BASIC include diverse caratteristiche che non erano presenti in altre versioni dell'epoca del BASIC, come:

  • il supporto alla programmazione strutturata, che permette l'uso di procedure e funzioni, facilitando la scrittura di codice più organizzato e riutilizzabile;
  • la gestione della grafica e dell'audio con comandi per la creazione di disegni, animazioni e suoni, rendendo facile lo sviluppo di giochi e applicazioni visive;
  • comandi per l'input/output, che consentono interazioni più complesse con l'utente e con altri dispositivi.

Nel corso degli anni, BBC BASIC è stato adattato e portato su diverse piattaforme, come Acorn Archimedes, Commodore 64, Spectrum, computer Amstrad, MS-DOS... BBC BASIC per SDL è una versione del linguaggio di programmazione BBC BASIC progettata per funzionare su piattaforme contemporanee attualmente diffuse come i sistemi operativi Windows, MacOS, Linux, Android, iOS e Raspberry Pi. Usando la libreria SDL (Simple DirectMedia Layer) permette in modo facile di sfruttare le capacità grafiche e sonore avanzate dei computer dei nostri giorni.

Alcune caratteristiche di "BBC BASIC per SDL" includono:

  • Compatibilità - Mantiene una buona compatibilità con il linguaggio originale BBC BASIC, consentendo a chi ha familiarità con la versione classica di adattarsi facilmente;
  • Supporto per grafica e audio - Utilizza SDL per offrire funzionalità multimediali, rendendo possibile la creazione di giochi e applicazioni grafiche;
  • Interfaccia utente moderna - Fornisce un ambiente di sviluppo molto più moderno e ricco rispetto a ciò che permettevano i computer degli anni '80 sui quali girava BBC BASIC;
  • Facilità d'uso - Continua a mantenere una sintassi semplice, rendendolo accessibile a principianti e studenti.

Corso FACILE di BBC BASIC per SDL

Questo mio blog intende essere un’introduzione alla programmazione per principianti  di ogni età, a partire dai ragazzi delle scuole medie,...