Come iniziare un ragazzino alla programmazione?

Questa settimana mi sono trovato di fronte ad una di quelle domande che nella loro semplicità riescono a metterti in difficoltà. Un mio caro amico, avendo un fratello di 13 anni che vorrebbe in qualche modo esplorare il mondo della programmazione mi ha chiesto:

“Conosci un testo che sia adatto ad un ragazzino che vorrebbe iniziare a programmare?”

La scelta del linguaggio è ricaduta su python per diversi motivi:

  • Lo conosco, lo uso, quindi in caso di necessità mi sento più a mio agio a spiegare come funziona
  • Permette di focalizzarsi sulla programmazione senza scendere in dettagli poco interessanti per un novizio
  • La shell interattiva incoraggia l’esplorazione del linguaggio

Sul momento ho pensato che la richiesta fosse abbastanza semplice e che tutto sommato con una rapida ricerca su google avrei trovato una quantità di materiale sconfinata. In realtà mi sono ben presto reso conto che la situazione da questo punto di vista non è molto rosea.

Le guide per principianti, per quanto semplici, non sono adatte a chi è completamente digiuno di programmazione. A peggiorare la situazione c’è anche il fatto che spesso l’impostazione di tali guide ha un livello di rigore troppo elevato per essere sopportato da un ragazzino. Pensate che un libro di programmazione di questo tipo dovrebbe lasciarsi leggere nel tempo libero, entrando di fatto in diretta competizione con giochi all’aperto, o pomeriggi alla playstation. Senza dubbio un’impresa non facile.

Se questo ancora non bastasse considerate anche che per essere completamente fruibile un testo del genere dovrebbe essere in Italiano. In definitiva, qualcosa che soddisfi tutti i punti elencati non esiste. Quello che sono riuscito a trovare però si avvicina molto.

Il candidato ideale si è rivelato essere “Snake Wrangling for Kids”

Sul sito del progetto il libro viene presentato in questa maniera:

“Snake Wrangling for Kids” is a printable electronic book, for children 8 years and older, who would like to learn computer programming. It covers the very basics of programming, and uses the Python 3 programming language to teach the concepts.”

A questo punto uno scambio di opinioni con il nostro Cesare Di Mauro mi ha fatto giungere alla conclusione che forse valga la pena provare a tradurre questa risorsa nella nostra lingua madre. Il testo è sotto licenza creative commons Attribution-ShareAlike quindi la traduzione non pone problemi dal punto di vista legale. Anche dal punto di vista tecnico ho iniziato ad esplorare la possibilità di dare il via ad un progetto collaborativo per la traduzione. Tutto sommato si tratta di 160 pagine con figure e molto codice, un lavoro abbastanza sostanzioso per una persona sola (con altri impegni) ma affrontabile con agilità da un gruppo.

Per adesso nei ritagli di tempo sto mettendo le basi per rendere agevole un’opera di traduzione. Il primo passo è stato quello di estrarre dai sorgenti LaTeX del libro le stringhe da tradurre in formato gettext. Per questo compito ho trovato in po4a un buon alleato.

Il passo successivo da compiere è quello di trovare un servizio di traduzione collaborativa online adatto allo scopo. Nella giornata di oggi ho iniziato a vedere come ospitare il progetto su launchpad (piattaforma collaborativa creata da Canonical) che fornisce un buon sistema per le traduzioni.

I motivi per cui ho scritto questo articolo sono due: mi piacerebbe capire se la mancanza di testi in Italiano di questo tipo è un problema sentito o esiste solo nella mia mente e se tra i lettori qualcuno sarebbe disposto a donare un po’ del suo tempo libero per un progetto del genere.

Press ESC to close