Insegniamo a programmare - liberamente

By abell on 2009-04-04-17:07:58 | In didattica software libero

Abbiamo davanti la nostra classe di alunni, che accompagneremo per mano per i primi passi di una soddisfacente carriera di programmatori, e abbiamo scelto un linguaggio che stuzzichi da subito il loro senso estetico. Facciamo il nostro discorso introduttivo e arriviamo al momento in cui li invitiamo a installare l'ambiente di sviluppo:
Prima di scrivere il nostro programmino, dobbiamo installare il compilatore. Bisognerebbe comprarlo sul sito della Megacorp per 800 euro, ma se dichiarate di essere una Onlus ve ne danno una versione gratis. Oppure fatevi una copia del mio CD, ma mi raccomando di non usarlo quando il vostro PC è in rete, altrimenti la copia verrà disabilitata. E se andate all'angolo tra Via Ragusa e Via Catania, l'ambulante può rimediarvelo per 7 euro. Ditegli che vi mando io.
E può capitare che durante il corso si presentino le situazioni seguenti:
Prof, ho scaricato una copia da malwarez.ru, ma ora lo schermo si riempie di popup e non posso fare niente!
Prof, mio padre che lavora in Guardia di Finanza ha detto che rischiamo il gabbio!
Prof, ho provato l'esercizio sulla concorrenza ma mi dice che per aprire 10 connessioni devo fare l'upgrade alla versione full!

Liberi e felici

L'altra scelta è quella di usare solo Software Libero. I vantaggi sono enormi, soprattutto in un ambito didattico.
Ragazzi, ecco i CD con l'ambiente di sviluppo. Potete scaricarlo liberamente da internet, ma ve li ho masterizzati per vostra comodità.
Se usate una funzione che può essere spunto di approfondimenti, potete aprirne il codice sorgente e spiegare agli studenti o capire con loro come funziona. Eventualmente, criticando alcune scelte dell'autore originario. Potete anche crearne una versione modificata per mostrare scelte alternative o aggiungere nuove funzionalità.

Non è poi secondario l'aspetto morale. Da educatori, spingere gli studenti a scegliere tra affrontare una spesa, il cui impatto dipende dalle condizioni economiche personali e familiari, e aggirare le licenze d'uso, quali che siano le nostre opinioni al riguardo, è una cosa discutibile. Anzi, sbagliata.

Alcune opzioni

Una possibile scelta è il già citato Processing, che offre un'interfaccia integrata e semplice, primitive grafiche accessibili e tutte le potenzialità di Java.

Un linguaggio molto indicato per un corso introduttivo, ma allo stesso tempo abbastanza potente da sviluppare programmi complessi e presentare concetti più avanzati (programmazione a oggetti, networking, multithreading) è Python. Per lo sviluppo rapido di applicazioni "a finestrelle" in Python si può usare Boa Constructor (benvenuti nel fantastico mondo dei serpenti).

Per andare sul classico e consolidato, Java e Eclipse è un'accoppiata più che collaudata.

Questi tre linguaggi e ambienti sono multipiattaforma, quindi possono essere utilizzati su diversi sistemi operativi e permettono di svincolarsi anche in quell'ambito dall'obbligo di scelte proprietarie e costose.


Vai al primo post sulla didattica.