Immagine tratta da www.thinkstockphotos.it
Da sempre la programmazione e i suoi linguaggi sono visti dai più come un oscuro patrimonio riservato alla comprensione di pochi, al di fuori della portata dei comuni mortali. Ci si immagina il programmatore ancora con lo stereotipo del nerd sempre davanti al computer (suvvia!), o dell'hacker informatico che vive in un mondo a parte in pieno stile Matrix o Tron.
Oggigiorno, tuttavia, moltissime professioni richiedono sempre più l’ausilio pressoché quotidiano di un pc, di un portatile, di un tablet o di un qualsivoglia terminale basato su un apparente groviglio infinito di codici e di linguaggi macchina, dei quali, diciamolo, moltissime volte ignoriamo la maggior parte delle funzioni.
Immagine tratta da www.thinkstockphotos.it
Perché imparare e da dove iniziare
Navighiamo in internet, scarichiamo app, giochiamo con gli smartphone, usiamo costantemente i social edia e, tuttavia, spesso e volentieri siamo privi di almeno un’infarinatura sul codice da cui tutto il nostro vivere digitale proviene. Basti pensare che per aprire un banalissimo blog in Wordpress, per esempio, potrebbe già tornare assai utile avere alcune nozioni in ambito HTML.
E se vi dicessimo che c’è un sito che permette di imparare gratis a programmare partendo da zero, perlopiù con l’aiuto dei social media? Esiste davvero: si chiama Codecademy, è attivo già da oltre due anni ed è basato su una semplice quanto pazza e virale idea: chiunque lo voglia può imparare le basi della programmazione.
[yframe url='http://www.youtube.com/watch?v=qYZF6oIZtfc']
Come dice nel video Gabe Newell,
“i programmatori del domani sono i maghi del futuro, sembreranno avere dei poteri magici a confronto di chiunque altro”
Noi l’abbiamo provato di persona per voi.
Contando l’appoggio di alcuni dei maggiori nomi dei Venture Capital operanti alla Silicon Valley, Codecademy è un’iniziativa lanciata da un’associazione no-profit denominata Code.org, sostenuta da personaggi come Bill Gates, Mark Zuckerberg, Will.i.am e Drew Houston, co-fondatore di Dropbox.
Per il momento è disponibile “soltanto” in inglese, cinese, portoghese, spagnolo, russo e giapponese... per l’italiano, almeno per il momento, toccherà attendere un altro po'.
Immagine tratta da frankiezzy.com
Struttura, accessibilità ed utilizzo di Codecademy
Il sito offre una serie di lezioni online suddivise in tutorial, dei veri e propri corsi in HTML, CSS, jQuery, JavaScript, PHP, Python e Ruby, fornendo quantomeno le basi fondamentali su cui iniziare a porsi domande pertinenti riguardo la programmazione.
Ogni corso è strutturato in una serie di esercizi che richiedono la corretta compilazione per poter accedere al successivo step, in una sorta di ‘gioco’ che consente di testare quanto compreso finora dalle istruzioni che man mano vengono impartite per avanzare nell’apprendimento.
Immagine tratta da Codecademy.com
Dove sta la novità? Oltre ad un sistema di badge e di punti accumulati in pieno stile Foursquare, collezionabili come incentivi per confermare i propri successi, una barra di avanzamento in percentuale che attesta il progresso delle lezioni, c’è l’opportunità di iscriversi a gruppi di studio, forum, addirittura di creare un proprio profilo con tanto di foto e descrizione, con la possibilità di ricevere notifiche di interventi sui propri post e “like” (un sistema di “votes” molto simile al +1 di Google Plus), condividendo gradualmente su Facebook e su Twitter ogni dubbio, nuova scoperta, progetti ed idee.
Per la prima volta nella storia del web, la programmazione apre i battenti anche ai social media (con tutti i pro ed i contro che ne derivano), divenendo quantomeno più aperta e condivisibile per un primo approccio che non richiede particolari prerequisiti, se non tanta voglia di mettersi alla prova e di confrontarsi con chi, come noi, ha provato a cimentarsi nell’ardua via della programmazione. Ebbene sì, qui si parla anche di utilizzo dei social come strumento di apprendimento, anzi oserei dire di un serio inizio di educazione digitale.
Immagine tratta da Codecademy.com
Punti deboli di Codecademy
Detto questo, vediamo l’altro lato della medaglia. Premesso che Codecademy ha un gran potenziale, è innegabile che ci siano alcune falle da sistemare:
1) Se sbagli qualcosa in un esercizio, nonostante l'efficace console di avvertimento integrata nella finestra di Codecademy, spesso il messaggio di errore è troppo difficile da interpretare per i “non addetti ai lavori”, leggesi i neofiti che si affacciano all’arte del programmare;
2) La navigazione del sito talvolta entra in conflitto con gli stessi esercizi che propone: in alcuni casi è necessario resettare le impostazioni di visualizzazione del browser affinché l’esercizio venga conteggiato come corretto (e quindi permetta l’avanzamento del programma formativo). Questo purtroppo si viene a sapere soltanto dagli innumerevoli utenti che se lo sono chiesto nei forum e solo raramente perché appare un avviso integrato nelle pagine degli esercizi stessi.
3) Il contenuto e la qualità dell’insegnamento non sempre sono all’altezza delle aspettative: i corsi online sono stati scritti da programmatori volenterosi, i quali si sono dedicati gratuitamente a scrivere tutti i passi da seguire e gli “how to” da rispettare. Alcuni corsi come il primo da cui consigliamo di iniziare (denominato “Web Fundamentals”) è piuttosto vicino alle esigenze dell’utente medio, lo accompagna dall’inizio alla fine senza dare troppo per scontato (ad esempio capire il concetto di dover chiudere un tag HTML una volta aperto).
4) Il forum di apprendimento con cui confrontarsi può tornare assai utile, ma può anche costituire una grande tentazione. Moltissimi infatti hanno già completato gli esercizi prima di noi, perciò basta dare letteralmente un’occhiata per trovare il codice corretto che desideriamo bell’e fatto.
Immagine tratta da Codecademy.com
Una valida alternativa: Dash
Ma non scoraggiamoci. C’è bisogno di siti come Codecademy, che sappiano rendere un’abilità come la programmazione più condivisibile, più accessibile, più Social Media compatibile e perché no, più divertente.
Per chi fosse interessato ad approfondire l’argomento e ad avere una valida alternativa a Codecademy, da pochi giorni è stato lanciato Dash, un sito totalmente dedicato a migliorare le proprie conoscenze sullo sviluppo di siti web.
Immagine tratta da https://dash.generalassemb.ly
Lanciato dalla General Assembly, incubatrice d’impresa presso New York City, è nato come sussidio scolastico per studenti, fino a diventare una piattaforma educativa mondiale grazie alla condivisione che ha ricevuto sui social network.
Si può accedervi usando il proprio account Twitter o email, sfortunatamente non tramite il login di Facebook. Per ora la sua offerta formativa è limitata a HTML, CSS e JavaScript, a differenza di Codecademy che comprende anche nozioni di PHP, Ruby, Python e jQuery, insegnando così anche le basi per programmare minigiochi o app.
A favore di Dash va il fatto di presentarsi come una piattaforma “project-based”, quindi forse ancora più stimolante e motivante, dato che permette di vedere in tempo reale le proprie creazioni web, piuttosto che suggerire la memorizzazione di concetti distanti e astratti. Anch’esso è gratis e accessibile da chiunque voglia aprirsi un account.
Immagine tratta da https://dash.generalassemb.ly
A chi è venuta voglia di imparare a programmare? ;) Dateci il vostro parere tramite un commento qui, su Facebook o su Twitter! Secondo voi l’apprendimento della programmazione è compatibile con il mondo dei social media?