
Sono sempre più numerosi i siti e le applicazioni che per insegnare a programmare fanno ricorso alla gamification. Quando si parla di gamification ci si riferisce a un insieme di tecniche utilizzate per rendere attività o servizi più godibili attraverso l’applicazione di dinamiche mutuate dal mondo dei giochi, come per esempio sistemi a punti, classifiche, ma anche veri e propri meccanismi di gioco.

Alice alle prese con Codecombat
È facile intuire come il ricorso a questo genere di espedienti sia una scelta particolarmente felice quando ci si rivolge ad un pubblico giovane: cosa c’è di meglio di un gioco per imparare qualcosa?
Ma la verità è che, un po’ perché la sera siamo stanchi, un po’ perché in fondo adulti non lo siamo diventati mai davvero, queste applicazioni che insegnano a programmare giocando piacciono un sacco anche a noi!
Di seguito ve ne presento tre, piuttosto diverse tra loro: Codecombat, creato per i più giovani, Codewars, per chi vuole fare esercizio, e Codingame, per chi vuole dimostrare la propria abilità, e magari trovare un lavoro!
Codecombat
CodeCombat è uno strumento pensato in modo specifico per la formazione di bambini e ragazzi. Il meccanismo di gioco li guida attraverso livelli successivi di apprendimento, inizia con l’insegnare i comandi di base del linguaggio e aggiunge elementi via via più complessi.
Lo stile è quello di un RPG: si sceglie il proprio personaggio e a ogni livello superato si ottengono diamanti con cui è possibile acquistare armi e pezzi di armatura per renderlo più forte. Una finestra sulla sinistra mostra la schermata di gioco e sulla destra un editor consente di scrivere i comandi per far compiere azioni al proprio personaggio (dal muoversi nello spazio all’attaccare i nemici).
L’ho provato con Alice, 10 anni. Ci siamo divertite, a ogni livello superato non vedeva l’ora di esplorare il successivo e certe soluzioni risultavano più ovvie a lei che a me. Quando venivano introdotti costrutti nuovi (come ad esempio il loop) intervenivo per spiegarle il funzionamento generale.
CodeCombat si presta particolarmente all’uso didattico a scuola, perché rende la programmazione un’attività divertente e accessibile.
È open source e il codice è disponibile su GitHub: è possibile contribuire alla creazione di nuovi elementi del gioco e così pure alla sua traduzione in italiano.
Considerato lo scopo didattico e il target giovane, è accettabile che non offra la possibilità di scegliere tra molti linguaggi differenti. Il linguaggio di programmazione proposto per default è basato su Python ma contiene comandi che esistono solo all’interno del gioco.
Codewars
La carriera che ho scelto mi ha portata ad allontanarmi un po’ dalle attività più tecniche, quali la programmazione. A dirla tutta, però, un pochino mi mancano. E così, per cercare di tenermi aggiornata, nel tempo libero ho iniziato a studiare un nuovo linguaggio, Python (beh, nuovo per me!), utilizzando una delle numerose piattaforme per l’apprendimento di linguaggi di programmazione: Codecademy.
Ma per saper programmare non basta completare un corso, serve anche un sacco di pratica e, considerato il poco tempo che vi dedicavo, quello che avevo imparato stava lentamente scivolando nel fondo della memoria. Allora mi sono messa a cercare progetti o piccoli problemi per continuare a esercitarmi e così, attraverso un articolo su Opensource.com, ho scoperto Codewars.
Codewars abbina i più tipici meccanismi di gamification (ricompensa alla soluzione degli esercizi, livelli da superare e classifiche) a strumenti collaborativi per imparare dagli altri: al termine di ogni esercizio vengono mostrate le soluzioni proposte da tutti gli utenti e consente di confrontarle con la propria. Per passare da un livello al successivo bisogna risolvere un certo numero di esercizi di complessità variabile.
Codewars supporta i principali linguaggi di programmazione ed evolve attraverso i contributi degli utenti più esperti (quelli con più onore, per usare i termini di Codewars), che possono proporre nuovi esercizi e tradurre quelli esistenti in nuovi linguaggi. In questo modo la piattaforma è in continua evoluzione.
Codingame
La prima volta che ho sentito parlare di Codingame è stato nel corso di una conversazione con un manager dell’azienda in cui lavoro, che mi raccontava di come lo usi per valutare i candidati durante i colloqui.
Condingame ha caratteristiche in comune sia con CodeCombat che con Codewars.
Il funzionamento è paragonabile a quello di Codecombat: il codice che scriviamo controlla le azioni del nostro personaggio per avanzare nel gioco, ma in Codingame a ciascun esercizio corrisponde un gioco diverso, con la sua ambientazione (dallo spazio stellare al mondo di Thor).
Per quanto riguarda il target cui si rivolge, Codingame si avvicina di più a Codewars: offre esercizi di programmazione a chi già conosce un linguaggio e vuole continuare ad esercitarsi. Per questo si presta particolarmente ad essere utilizzato nel corso di colloqui tecnici, unito al fatto che supporta una lunga lista di linguaggi di programmazione e di scripting (da Python a C++ a Go e Groovy).
Da qualche settimana inoltre Codingame ha rilasciato in beta una nuova funzionalità che costruisce un nuovo ponte tra il gioco e il mondo del lavoro: Job Store. Giocando e risolvendo problemi sempre più complessi il giocatore può sbloccare offerte di lavoro. Le aziende, dal lato loro, potranno pubblicare le offerte legandole al linguaggio di programmazione e al livello di esperienza richiesti, facendo così già una prima selezione dei candidati.
E voi? Cosa usate per tenere sempre in esercizio la vostra abilità nella programmazione?
Programmare è un gioco, anche da grandi! http://t.co/iMyk3HT5Mh http://t.co/EVWCHP09iu
Programmare è un gioco, anche da grandi! http://t.co/AxVPODCcCe http://t.co/2FJEjkO9NJ
RT @girlgeeklife: Programmare è un gioco, anche da grandi! http://t.co/iMyk3HT5Mh http://t.co/EVWCHP09iu
RT @girlgeeklife: Programmare è un gioco, anche da grandi! http://t.co/iMyk3HT5Mh http://t.co/EVWCHP09iu
Programmare è un gioco, anche da grandi!: http://t.co/GoUtZaVGaT via @girlgeeklife
Programmare è un gioco, anche da grandi! http://t.co/H2WCRpYZAZ via @girlgeeklife #tech #code #tecnologia
RT @sarabenassai: Programmare è un gioco, anche da grandi! http://t.co/H2WCRpYZAZ via @girlgeeklife #tech #code #tecnologia
RT @girlgeeklife: Programmare è un gioco, anche da grandi! http://t.co/iMyk3HT5Mh http://t.co/EVWCHP09iu
Codefights.com é anche molto carino. E’ un sito in cui ci si sfida con altri appassionati di programmazoine, in round di 2 persone, e vince chi per primo trova il bug in un pezzo di codice fornito dalla piattaforma.
Assomiglia molto a un nuovo gioco rilasciato da CodinGame qualche giorno fa: Clash Of Code.
Come imparare a #programmare divertendosi! #gamification #coding #tech http://t.co/kMVuAXRBN0
RT @girlgeeklife: Come imparare a #programmare divertendosi! #gamification #coding #tech http://t.co/kMVuAXRBN0
RT @SilviaBindelli: Programmare è un gioco, anche da grandi!: http://t.co/GoUtZaVGaT via @girlgeeklife
Programmare è un gioco, anche da grandi!: http://t.co/OoT7iCe2i1 via @girlgeeklife
RT @SilviaBindelli: Programmare è un gioco, anche da grandi!: http://t.co/GoUtZaVGaT via @girlgeeklife
.@SilviaBindelli ci illustra le migliori #applicazioni che ci insegnano a #programmare in modo divertente. #coding http://t.co/8Wc2U4d1KB
RT @girlgeeklife: .@SilviaBindelli ci illustra le migliori #applicazioni che ci insegnano a #programmare in modo divertente. #coding http:/…
RT @girlgeeklife: .@SilviaBindelli ci illustra le migliori #applicazioni che ci insegnano a #programmare in modo divertente. #coding http:/…
RT @girlgeeklife: .@SilviaBindelli ci illustra le migliori #applicazioni che ci insegnano a #programmare in modo divertente. #coding http:/…
Programmare è un gioco, anche da grandi! Allora c’è speranza anche per noi? :-))) #coding @girlgeeklife http://t.co/i9pIk3wCyl
RT @soli1964: Programmare è un gioco, anche da grandi! Allora c’è speranza anche per noi? :-))) #coding @girlgeeklife http://t.co/iMyk3HBuUJ
RT @girlgeeklife: RT @soli1964: Programmare è un gioco, anche da grandi! Allora c’è speranza anche per noi? :-))) #coding @girlgeeklife htt…
RT @girlgeeklife: RT @soli1964: Programmare è un gioco, anche da grandi! Allora c’è speranza anche per noi? :-))) #coding @girlgeeklife htt…
RT @girlgeeklife: .@SilviaBindelli ci illustra le migliori #applicazioni che ci insegnano a #programmare in modo divertente. #coding http:/…
Programmare è un gioco, anche da grandi!: http://t.co/PFYkpI6jcP via @girlgeeklife @SilviaBindelli
RT @girlgeeklife: .@SilviaBindelli ci illustra le migliori #applicazioni che ci insegnano a #programmare in modo divertente. #coding http:/…
Programmare è un gioco, anche da grandi!: http://t.co/gIEKiZgECH via @girlgeeklife
RT @MarcoAlici: Programmare è un gioco, anche da grandi!: http://t.co/iMyk3HBuUJ
Programmare è un gioco, anche da grandi! – Girl Geek Life http://t.co/Ifoca4Cy4H