Pytch è un ambiente web di programmazione gratuito, co-progettato con docenti e studenti per aiutare quest’ultimi a passare da programmazione a blocchi (Scratch) a programmazione testuale (Python). ytch fornisce anche risorse gratuite per l’insegnamento, tra cui materiali per lezioni e tutorial passo-passo.
Con Pytch, gli studenti mantengono o imparano rapidamente tutte le conoscenze, l’intuizione e le competenze acquisite con Scratch (grazie a concetti come sprite e script basati su eventi, grafica e suoni) e possono concentrarsi sull’imparare Python.
Introduzione
Un rapporto del 2023 dell’Università di Galway [1], commissionato da Google, ha rilevato un basso livello di comprensione dell’importanza dell’Informatica nelle scuole, con solo il 15,6% delle scuole che offrono l’Informatica come materia per il Leaving Certificate (corrsipettivo del diploma finale di scuola superiore) e solo 34 docenti di informatica completamente accreditati registrati per la didattica.
MIT Scratch [2] è ampiamente utilizzato per introdurre i bambini e giovani al mondo del pensiero computazionale e della programmazione. Lo studente scrive script per gli sprite impilando insieme blocchi descrittivi come “per sempre + avanti di 10 passi”. Questo evita tutti i problemi di sintassi e consente agli studenti di concentrarsi sulle parti interessanti della creazione delle loro animazioni o giochi.
Una volta che uno studente è competente con Scratch, il passo successivo comune è Python, che è molto utilizzato sia nell’ambito dell’istruzione che dell’industria. Python rappresenta un grande passo avanti rispetto a Scratch, poiché lo studente deve fare due salti contemporaneamente. Deve digitare correttamente il codice in un editor o IDE, prestando attenzione a tutti i dettagli come la punteggiatura. Inoltre, deve abbandonare il mondo di Scratch fatto di sprite, costumi, suoni, script, e così via.
L’esperienza del team e la ricerca nel campo, evidenzia le difficoltà incontrate dai docenti nel supportare gli studenti durante questa sfidante transizione dalla programmazione a blocchi come Scratch alla programmazione basata su testo [3] [4], quando si introduce Python (il principale linguaggio di programmazione nel curriculum irlandese).
Pytch: imparare Python partendo da “Scratch”
Il progetto di ricerca Pytch [5] [6], basato al Trinity College Dublin con collaboratori in Technological University Dublin, mira a promuovere e supportare direttamente lo sviluppo di capacità e competenze nell’ambito dell’istruzione STEM (Science, Technology, Engineering and Mathematics), aumentando l’interesse e il coinvolgimento nell’apprendimento dell’Informatica. All’interno di questo progetto, il team di ricerca ha creato “Pytch” [Figura 1], un ambiente di programmazione gratuito basato sul web, co-progettato con docenti e studenti per aiutare quest’ultimi a passare dai linguaggi di programmazione basati su blocchi come Scratch a linguaggi di programmazione basati su testo come Python.
Figura 1 – Studente al lavoro con la versione script-by-script di Pytch creando un programma basato su un gioco con protagonista il suo pupazzo.
Gli strumenti e materiali di Pytch sono progettati per migliorare l’interesse degli studenti nei confronti dell’informatica come materia e delle carriere STEM più in generale. Uno degli obbiettivi di Pytch è di aumentare la competenza e confidenza di docenti ed educatori e di supportare la didattica dell’Informatica nelle scuole medie o superiori. In concreto, Pytch incoraggia gli studenti a costruire sulle loro conoscenze esistenti per creare giochi e animazioni divertenti ed accattivanti, migliorando così il loro coinvolgimento nell’informatica come materia. Gli educatori, invece, sono supportati da un sistema innovativo, facile da utilizzare in classe, e interattivo per gli studenti, includendo tutti i materiali forniti dal team di ricerca che includono anche un set di 8 lezioni (con slides, video, fogli di lavoro e quiz finale)
L’ambiente di programmazione Python “Pytch” [Figura 2] include gli sprite, facili da gestire, per chi e abituato all’uso di Scratch, così come script basati su eventi, grafica, suoni, ecc., mentre introduce lo studente all’idea di scrivere codice Python testuale anziché trascinare e impilare blocchi. In questo modo, gli studenti mantengono tutte le conoscenze, l’intuizione e le competenze acquisite con Scratch (o che possono imparare rapidamente all’interno di “Pytch” stesso) e possono concentrarsi sull’apprendimento del linguaggio Python.
Pytch funge da ponte tra questi due mondi, agevolando il percorso di apprendimento di uno studente da Scratch a Python. Aiuta le persone a imparare Python basandosi sulle competenze sviluppate con Scratch. Pytch offre gli sprite amichevoli per gli studenti di Scratch, gli script basati sugli eventi, le grafiche, i suoni, ecc., introducendo allo stesso tempo l’idea di scrivere codice Python testuale anziché trascinare e impilare blocchi. In questo modo, gli studenti mantengono tutte le conoscenze, l’intuizione e le abilità acquisite con Scratch (o che possono imparare rapidamente all’interno di Pytch) e possono concentrarsi sull’apprendimento del linguaggio Python.
Figura 2: Ambiente di programmazione Pytch. Programma adattato e modifcato a partire da un progetto di uno studente del Liceo L. Lanfranconi (Genova) guidato dal docente Marco Canesi.
In Figura 2 viene mostrata la riproduzione con asset Pytch e qualche modifica al codice di un progetto svolto in un Liceo di Genova. Il docente Marco Canesi ha guidato i suoi studenti a ricreare in Pytch un programma su cui avevano lavorato nella piattaforma Scratch. Questo è solo uno dei tanti esempi di come Pytch può essere integrato nel piano di insegnamento in supporto o come introduzione dell’apprendimento della programmazione basata su testo.
Pytch fornisce anche risorse gratuite per l’insegnamento e l’apprendimento, tra cui materiali per lezioni Python basate su Pytch e tutorial passo-passo. Attualmente i materiali sono in inglese, ma il team sta esplorando la possibilità di traduzione e localizzazione di alcuni materiali in altre lingue a partire dall’irlandese.
Pytch è basato sul web e non richiede alcuna procedura di installazione. Al momento Pytch non include nessun login per rendere l’accesso ancora più semplificato in un contesto scolastico in classe. Pytch è utilizzabile sia su computer che sul tablet (suggerita una tastiera esterna). Il sistema e le sue risorse sono completamente gratuiti.
Conclusione
Con Pytch lo studente può creare e progettare programmi o semplici giochi, esplorando ed imparando la programmazione in Python. Mentre il docente o l’educatore può esplorare un modo coinvolgente e innovativo, e con ottimi risultati già ottenuti in Irlanda e altre nazioni, per introdurre la programmazione basata su testo ai suoi studenti, avendo a disposizione risorse gratuite disponibili per le lezioni o attività di coding extracurricolari. Al momento Pytch è in uso in Irlanda (Figura 1), Galles e alcune scuole italiane (Figura 2) e spagnole.
Se stai pianificando di usare Pytch con i tuoi studenti, se lo stai già usando e hai qualsiasi commento o richiesta, o se hai qualsiasi domanda o curiosità, ti saremmo molto grati se potessi scriverci una e-mail in italiano o in inglese:
Prova Pytch ora
Prova un tutorial passo passo nella nuova versione Script-by-Script di Pytch cliccando nell’immagine qui sotto. Oppure vai sul sito https://www.pytch.org/ ed esplora tutte le demo e i tutorial disponibili.
Referenze
- Connolly, Cornelia, & Kirwan, Colette. (2023). Capacity for, access to, and participation in computer science education in Ireland. Galway, Ireland: University of Galway, https://doi.org/10.13025/bccm-2c38.
- J. Maloney, M. Resnick, N. Rusk, B. Silverman, and E. Eastmond, ‘The scratch programming language and environment’, ACM Transactions on Computing Education (TOCE), vol. 10, no. 4, p. 16, 2010.
- L. Moors, A. Luxton-Reilly, and P. Denny, ‘Transitioning from Block-Based to Text-Based Programming Languages’, in 2018 International Conference on Learning and Teaching in Computing and Engineering (LaTICE), Auckland, New Zealand, Apr. 2018, pp. 57–64. doi: 10.1109/LaTICE.2018.000-5.
- D. Weintrop, C. Bain, U. Wilensky, and Uc. S. Education, ‘Blocking Progress? Transitioning from Block-based to Text-based Programming’. [Online]. Available: https://ccl.northwestern.edu/2017/BlockingProgress.pdf.
- G. Strong and B. North, ‘Pytch — an environment for bridging block and text programming styles (Work in progress)’, in The 16th Workshop in Primary and Secondary Computing Education, Virtual Event Germany: ACM, Oct. 2021, pp. 1–4. doi: 10.1145/3481312.3481318.
- G. Strong, B. North, B. Gillespie, S. Fiori, D. Wallace, and N. Bresnihan, ‘Experiences Trialling a Novel Block-to-text Environment in a Summer School Context’, in The 2024 Innovation and Technology in Computer Science Education V. 1 (ITiCSE 2024), Jul. 2024. doi: 10.1145/3649217.3653585.