Ti trovi qui: Home » Archivio Notizie

Studente della triennale di Informatica tra i vincitori dell’Apple Swift Student Challenge

Il progetto presentato da Gianpiero Spinelli, studente ora al terzo anno del corso di studi triennale in Informatica del Dipartimento di Scienze Fisiche, Informatiche e Matematiche, è tra i 350 premiati della “Swift Student Challenge 2021”, la competizione di coding organizzata annualmente da Apple aperta a studenti di istituzioni scolastiche e accademiche di tutto il mondo, nell’ambito della quale ogni anno vengono presentati milioni di progetti.

La competizione mira a sostenere gli studenti appassionati di coding, che sono interessati e si adoperano a sviluppare applicazioni per dispositivi Apple. Per questo motivo, i progetti devono essere sviluppati utilizzando Swift Playgrounds, un'app disponibile su iPad e Mac pensata per avvicinare, in particolare gli studenti, alla programmazione di app per iOS con il linguaggio "Swift" proprietario di Apple.

I progetti presentati devono essere individuali (non sono ammessi progetti di gruppo), in lingua inglese, e devono proporre una scena interattiva in Swift Playgrounds che possa essere vissuta in un tempo limite di tre minuti.

Il progetto di Gianpiero Spinelli, ispirato dal corso di algoritmi e strutture dati, mira a spiegare in modo visivo il funzionamento di alcuni dei più famosi algoritmi di ordinamento, uno degli argomenti fondamentali del corso.

Il Playground è composto da più pagine, ognuna delle quali presenta un algoritmo di ordinamento diverso. Nella pagina finale si ha una visione complessiva degli algoritmi precedentemente mostrati che riordinano la stessa sequenza, in modo da poter confrontare il costo computazionale e il numero di passi necessari ad ogni implementazione.

Ogni pagina è divisa in due sezioni. In quella di sinistra si trovano una breve spiegazione dell’algoritmo e le variabili che permettono all’utente di cambiare alcuni aspetti della finestra di destra, come ad esempio il colore, il numero di elementi o la velocità di esecuzione. La sezione di destra, invece, contiene la rappresentazione visiva dell’ordinamento di una lista tenendo conto delle variabili impostate dall’utente. Quando si esegue l’algoritmo, viene animato ogni passo dell'ordinamento attraverso l’intero processo.

Gianpiero ha anche voluto avere un occhio riguardo per gli utenti con disabilità visive, implementato il supporto a VoiceOver, un lettore di schermo che permette di ascoltare una descrizione precisa di ciò che viene visualizzato su iPhone, iPad o Mac.

Abbiamo chiesto a Gianpiero di raccontartci la sua esperienza personale.

Perché ha deciso di partecipare?
Da anni ormai seguo tutto quello che è l’ecosistema Apple. Dieci anni fa ho iniziato, da autodidatta, ad approcciarmi allo sviluppo per le piattaforme Apple, quando ancora si usava Objective-C.

Non appena venuto a conoscenza del programma Swift Student Challenge (precedentemente conosciuta con il nome di “WWDC Scholarship”) iniziai a parteciparvi. Purtroppo, i primi anni, le due settimane di tempo che si hanno a disposizione per sviluppare la propria app coincidevano con qualche esame o verifica, e per questo non riuscivo a dedicare troppo tempo allo sviluppo.

Come le è venuta l’idea?
Dal momento che l’esperienza complessiva del Playground non deve superare i tre minuti di tempo, spiegare un concetto a qualcuno non del settore, mi sembrava una strada percorribile. Avevo appena sostenuto l’esame di Analisi Matematica, e avevo seguito le prime lezioni del corso di algoritmi. Spiegare il perché ci siano così tanti metodi per risolvere un problema comune come quello dell’ordinamento, e avere un minimo di confronto tra le varie soluzioni mi sembrava interessante.

Quali difficoltà ha incontrato?
La maggiore difficoltà che ho incontrato, oltre al poco tempo disponibile, è stata la creazione di una versione ricorsiva per algoritmi che non lo sono. Questo serve per poter avere un’animazione per ogni step eseguito dall’algoritmo.
Dopo vari tentativi sono giunto a una soluzione visivamente piacevole e funzionale, che si è poi tramutata nella versione finale del progetto.

Cosa ha imparato di nuovo?
In primis, dovendolo spiegare con parole mie e in maniera concisa, ho approfondito la mia conoscenza del funzionamento degli algoritmi implementati, cosa che mi è tornata utile per l’esame.

Inoltre, il progetto è stato un mio “parco giochi”, in cui mi sono divertito a provare alcune nuove API che ancora non avevo avuto modo di implementare.

Consiglierebbe questa challenge ai suoi colleghi?
Sicuramente sì. Consiglio a tutti di partecipare, indipendentemente dal fatto che si abbia o meno confidenza con la programmazione. Swift Playgrounds è il modo perfetto per avvicinarsi a Swift e allo sviluppo in generale, anche perché utilizzabile con estrema semplicità direttamente su iPad o Mac. Apple inoltre rende disponibile online molti contenuti e Playgrounds per facilitare l'approccio, anche per i più inesperti.

La cosa più importante è non lasciarsi scoraggiare da un risultato negativo, ma cercare ogni anno di imparare qualcosa, implementare nuove API e funzionalità, lasciandosi trasportare dalla creatività. E questo lo dico dopo aver visto il mio progetto rifiutato molte volte.


 

 

 

 

 

 

 

 

 

[Ultimo aggiornamento: 23/03/2022 18:09:41]