"Programmazione" e didattica. Sviluppare software conviene?
Ins. F. Este
Scuola elementare Borgo S. Giacomo - Brescia
Lo sviluppo del software ha subito negli ultimi tempi un incremento notevole; a scadenza quasi annuale vengono infatti presentate le nuove release di prodotti che richiedono una configurazione hardware di livello sempre più alto e un continuo aggiornamento anche da parte dell'utente finale.
Questo accade, naturalmente, nell'ambito di applicazioni finalizzate alla commercializzazione più spinta: non è il caso, quindi, della scuola che, a tutt'oggi, non si presenta ancora, perlomeno nella fascia dell'istruzione obbligatoria, come mercato particolarmente appetibile da parte di produttori di software.
Questo fatto va certamente a discapito di tutti quegli insegnanti che vorrebbero utilizzare l'elaboratore elettronico come supporto nella pratica didattica, trovandosi magari già a disposizione i programmi su misura per le proprie esigenze. Anche in questo settore avviene quello che si potrebbe definire, riprendendo la metafora utilizzata da Elio Damiano, la ricerca di "pacchetti prêt-a-former", da acquistare al "supermercato" dell'informatica invece di rifornirsi alla "boutique" o al "negozio degli scampoli" per confezionarsi i programmi su misura. Il fenomeno non si presenta solo in ambito informatico, anzi, tutti conosciamo le affannose ricerche che gli insegnanti sono soliti eseguire alla caccia di schede, riviste, libri e quant'altro possa loro fornire materiale di pronto utilizzo e consumo. Quando si tratta di utilizzare il computer poi, soprattutto per utenti meno esperti, la ricerca del programma "pronto uso" diventa quasi indispensabile.
Ma finora, come già accennato, l'offerta di un certo tipo di programmi didattici lascia alquanto a desiderare e spinge i più avventurosi a cimentarsi sulle strade insidiose del "software fai da te". C'è da chiedersi, a tale proposito, se ne valga veramente la pena o piuttosto questa attività di programmazione non sia un divertente, si fa per dire, passatempo o ancora un modo per misurare la propria abilità.
Di certo, se guardiamo solo agli aspetti prettamente "economici" della questione, la risposta al quesito appena avanzato è un deciso no: non è infatti minimamente pensabile praticare la progettazione e lo sviluppo di software didattico di un certo livello senza l'impiego consistente di risorse, prima fra tutte il tempo, che non tutti gli insegnanti possono e vogliono distogliere da altre attività forse più importanti.
Ma se consideriamo semplicemente la possibilità di crearsi una serie di piccoli programmi a supporto e integrazione delle normali attività, allora il secco no, a mio avviso, può diventare un sì, a patto comunque che si creino certe condizioni.
Innanzitutto ritengo sia di fondamentale importanza, e non solo in ambito informatico, valorizzare sempre le risorse a disposizione della scuola: nel nostro caso la competenza didattica dell'insegnante dovrebbe integrarsi con specifiche capacità di "programmazione" per allestire semplici procedure o programmi. Sviluppare software, utilizzando uno qualsiasi dei numerosi linguaggi di programmazione, non è impresa accessibile a pochi e, in fin dei conti, anche se non è cosa da poco, la risorsa che principalmente viene impiegata è quella del tempo. Qui entra in gioco la prima condizione indispensabile affinché creare programmi comporti dei veri vantaggi, la necessità, cioè, di poter sviluppare software lavorando in equipe. Per ottenere un prodotto finale utilizzabile, non è importante solo chi materialmente si mette a scrivere linee di codice, ma è fondamentale anche qualcuno che abbia idee da suggerire, chi possa fare da "cavia" per evidenziare imperfezioni ed errori. Inoltre sarebbe auspicabile la stesura di programmi in linguaggio tale da permetter anche ad altre persone di apportare eventuali modifiche e miglioramenti. Un programma, insomma, andrebbe scritto a più mani e dovrebbe avere una caratteristica modulare, essere cioè facilmente adattabile alle diverse situazioni. Sì perché anche con i programmi avviene ciò che accade, per esempio, con i libri di testo come i sussidiari: trovare quello ideale è quasi impossibile e spesso, di fatto, il testo viene sostituito dalle schede fotocopiate a destra e a manca. Quindi perché non crearsi, quando necessario, il proprio "programma ideale"?
Da non mettere in secondo piano, poi, l'aspetto economico della vicenda: acquistare software costa non poco e, magari subito dopo l'acquisto, ci si accorge che il denaro poteva essere meglio utilizzato e allora tanto vale produrre qualcosa di meno sofisticato e di più agile consumo. Però, per poterselo "creare in casa", un'altra condizione
necessaria è il riconoscimento, non solo simbolico, delle competenze e delle energie che vengono sacrificate a tale lavoro.
Altra condizione per sostenere e favorire la produzione di software è, a mio avviso, l'individuazione di un linguaggio di programmazione comune a diversi insegnanti. Il variegato panorama dei linguaggi a disposizione dei programmatori sembrerebbe andare contro questo auspicio; anche a me capita di scrivere programmi utilizzando diversi linguaggi anche se privilegio, per diverse ragioni, la programmazione in Clipper.
Mi è capitato però di programmare anche in Qbasic, di utilizzare il buon vecchio Logo e, perché no, di affacciarmi al mondo delle Macro di Windows che sfruttano il supporto del potente VisualBasic. Le prospettive future sono certamente legate però ai nuovi linguaggi di programmazione "ad oggetti" che permettono lo sviluppo di software con maggiore rapidità e con buoni risultati. Si tratta "semplicemente" di trovare un accordo fra chi è interessato ad un discorso di scambio di programmazioni e di codici sorgente, cosa che porterebbe dei vantaggi nello sviluppo di software.
Dopo queste affermazioni, non vorrei si credesse che il mio desiderio sia quello di trasformare gli insegnanti in accaniti programmatori; sarebbe sufficiente che, in ogni scuola, tra gli utilizzatori abituali dell'elaboratore, ce ne fosse almeno uno in grado di scrivere anche piccoli e semplici programmi. Se, come ricorda Cesare Scurati, agli insegnanti, tra le altre cose, è richiesta anche la "capacità di inventare, progettare e costruire i propri sussidi didattici", è giusto che anche in ambito informatico si ponga attenzione a questo discorso. Spesso, infatti, gli strumenti più efficaci a livello didattico, sono proprio quelli realizzati dallo stesso insegnante.
Per entrare nel merito della mia esperienza di piccolo "programmatore", voglio utilizzare due esempi di "software fai da te": in entrambe i casi lo sforzo di programmazione è stato piuttosto relativo mentre, ben più importante, è stato il suggerimento, o per meglio dire l'ispirazione, che mi è giunta da insegnanti i quali non sanno assolutamente programmare un computer.
Il primo programma, che per comodità chiamerò WORT, è stato concepito su suggerimento del collega G.Riccardi di Villachiara ed è indirizzato agli insegnanti come ausilio nella preparazione di esercizi di lingua italiana. L'idea è stata quella di inserire in un database elettronico le circa seimila parole, riportate da un testo del De Mauro e considerate di maggior uso nella lingua italiana. Questo permette di predisporre esercizi con termini di facile comprensione; inoltre il programma consente di selezionare gruppi di parole in base a determinate caratteristiche.
Il secondo programma, invece, è un tentativo di rendere "assistita dal calcolatore" l'esecuzione di una operazione di matematica, nella fattispecie una divisione. In questo caso si tratta di uno strumento finalizzato all'acquisizione e al rinforzo di abilità ed è indirizzato agli studenti.
In entrambe i casi si tratta di programmi molto semplici ma, a loro modo, originali, in quanto nati da effettive esigenze di attività didattica quotidiana. Certamente programmi di questo tipo ce ne potranno essere in circolazione o, comunque, gli stessi risultati potrebbero essere raggiunti con i pacchetti tipo fogli elettronici o altro. Allora perché "perdere tempo" per crearli? Senza ripetere i motivi già accennati in precedenza a favore e contro la programmazione personalizzata, voglio sottolineare una cosa per me fondamentale: in ultima istanza, del lavoro di preparazione di un programma, la cosa più importante non è il prodotto finale. Ancor prima viene tutto il "percorso" che ha portato alla creazione di un determinato prodotto: "programmare" significa innanzitutto analizzare la porzione di realtà che interessa e parcellizzare i problemi ad essa attinenti in maniera tale da poterli dominare e risolvere. Imbarcarsi nel tentativo di scrivere anche un semplice programmino in Logo, costringe il programmatore a considerare un problema in termini sempre nuovi anche perché costretto da grammatica e sintassi del mezzo ad agire in maniera diversa dal solito.
La programmazione, al di là della bellezza e della potenza del software prodotto, credo abbia una ricaduta immediata sulla didattica soprattutto in termini di consapevolezza, da parte dell'insegnante, degli svariati aspetti di una situazione problematica.
Infine non è da sottovalutare anche la possibilità che siano i bambini stessi a creare dei semplici e piccoli, ma per loro grandi, programmi. Non si tratta tanto di voler ostinatamente ripercorrere sentieri già battuti da altri, quanto piuttosto di consentire al bambino di provare l'emozionante sensazione di aver creato qualcosa di proprio, magari passando attraverso le tre "aride" fasi dell'analisi, progettazione e codifica.