Gli autograder sono degli strumenti nati per consentire agli insegnanti di valutare e/o fornire un feedback agli studenti sul loro codice in maniera automatica. Possono essere configurati in modo da fornire un feedback esaustivo e immediato, favorendo così un apprendimento rapido ed efficace da parte degli studenti. Gli autograder vengono largamente utilizzati nei corsi di informatica, ingegneria, statistica e data science, ma possono rivelarsi utili anche nel caso di materie non informatiche.
L'utilizzo di un autograder consente di risparmiare tempo nella valutazione, in particolare per le classi di iscrizione di grandi dimensioni, e idealmente fornisce agli studenti un feedback in tempo reale all'interno dei loro flussi di lavoro esistenti in modo che possano prepararsi per i loro prossimi passi nel percorso di apprendimento.
La parola "automazione" può sembrare che rimuova la personalizzazione, che è il punto cruciale della comunicazione e dell'apprendimento insegnante-studente. Gli autograder sono strumenti che, poiché richiedono di essere configurati in modo personalizzato, possono essere utilizzati come strumenti di semplice debug degli errori riscontrati o, con le giuste integrazioni, per promuovere una valutazione improntata all’ integrità e supportata da cicli di feedback. Sebbene un autograder basato su un feedback binario minimo (corretto/sbagliato) possa essere utile per valutazioni sommative quali un esame finale, in cui è giusto che lo studente non riceva indicazioni dettagliate su come risolvere i problemi che si trova dinnanzi, in contesti di valutazione low-stake, quali laboratori e compiti a casa, potrebbe scoraggiare l’apprendimento; in queste situazioni, infatti, in assenza di indicazioni su come procedere, si rischia che lo studente apporti modifiche a tentativi finché il suo lavoro non venga considerato “corretto”.
Tuttavia, quando questo tipo di valutazione automatica viene accompagnata da feedback, gli autograder favoriscono un apprendimento personalizzato e aumentano il coinvolgimento degli studenti. Il vantaggio di un feedback immediato consiste nel permettere agli studenti di ottimizzare il proprio codice in modo mirato e di inviarne una versione migliorata prima della data di scadenza del compito, senza dover dipendere dal costante coinvolgimento del docente. In questo modo, i docenti possono incoraggiare l'apprendimento auto-diretto. Inoltre, un autograder con feedback può supportare l'apprendimento autonomo.
Il concetto di apprendimento personalizzato si basa sulla personalizzazione dell'esperienza di apprendimento per ciascuno studente in base alle sue competenze e abilità uniche e ad altri fattori contestuali. In sintesi, è un modo per adottare una pedagogia avanzata nelle interazioni tra studenti e insegnanti.
Secondo un sondaggio di Education Week del 2018, 1 amministratore su 3 considera l'apprendimento personalizzato come “un modo trasformativo per migliorare l'istruzione pubblica” mentre il 57% degli amministratori ritiene che la tecnologia digitale sia uno strumento efficace per integrare questa personalizzazione.
In un successivo sondaggio di Education Week del 2019, il 46% degli insegnanti si è detto ottimista riguardo all'apprendimento personalizzato, mentre il 91% degli intervistati ha dichiarato di essere almeno in parte fiducioso che gli strumenti digitali possano personalizzare in modo efficace il percorso di apprendimento degli studenti (p. 4). L'apprendimento personalizzato risulta pertanto essere un approccio pedagogico accettato al fine di supportare l'apprendimento degli studenti.
Attraverso l’apprendimento personalizzato, i docenti sono in grado di supportare ciascuno studente nel suo percorso di apprendimento. Ad esempio, riducendo il divario tra gli studenti con risultati più alti e quelli con risultati più bassi, si ottiene una popolazione più qualificata e diversificata di studenti con gli strumenti necessari per intraprendere una carriera nel campo dell'ingegneria informatica (Aravind & Balasangameshwara, 2019).
Quali sono le sfide dell'apprendimento personalizzato basato sugli autograder?L'insegnamento della programmazione software presenta sfide uniche per quanto riguarda la valutazione e il feedback da fornire agli studenti.
- Un feedback ponderato e funzionale può richiedere tempo. Secondo Scott Smith, professore di Informatica presso la Johns Hopkins University, “nei corsi di programmazione, solitamente assegniamo agli studenti progetti che richiedono la scrittura di programmi per risolvere problemi. Quando gli insegnanti si trovano a valutare questo tipo di compiti, devono prendere in considerazione non solo i risultati del programma, ma anche l'approccio dello studente. Se i risultati non sono corretti o il programma non funziona, ci ritroviamo a dover passare in rassegna centinaia di righe di codice per eseguire il debug del programma e poter formulare un feedback ponderato”.
- Un sistema binario tra corretto/sbagliato non stimola l'apprendimento. In mancanza di un feedback ponderato, un autograder pensato per supportare l'apprendimento non fornisce agli studenti indicazioni sui passi successivi da compiere. Di conseguenza, si rischia che gli studenti procedano a tentativi e perdano così preziose opportunità di apprendimento. Secondo Kevin Lin, Assistant Teaching Professor presso l’Università di Washington, “il ciclo di sviluppo guidato dall'autograder si verifica quando gli studenti apportano piccole modifiche al loro codice in modo apparentemente casuale, lo sottopongono all'autograder e ripetono l'operazione finché il loro programma non supera tutti i test previsti”.
- Fare eccessivo affidamento sugli autograder può scoraggiare l’apprendimento autonomo. Sebbene gli autograder possano rivelarsi utili per supportare il processo di valutazione, soprattutto in classi numerose, gli autograder mal progettati possono indurre gli studenti a concentrarsi più sulle sfumature dell’autograder stesso che sui concetti. Secondo alcuni ricercatori, si rischia che “gli studenti facciano affidamento sugli autograder invece di soffermarsi a riflettere” (Baniassad, Zamprogno, Hall, & Holmes, 2021).
Il supporto alla valutazione fornito dagli autograder nelle materie informatiche è innegabile. Se abbinati a un feedback mirato e personalizzato, gli autograder possono rappresentare una componente importante dell'apprendimento personalizzato su larga scala.
La ricerca conferma l'ampio uso degli autograder nei corsi di informatica per ragioni prettamente pragmatiche. Uno studio in particolare ha evidenziato che, quando viene fornito un feedback ponderato, i successivi invii degli studenti migliorano del 96% (Haldeman, et al., 2018). Lo stesso gruppo di ricerca, in uno studio successivo, ha raccolto dati relativi a due semestri in diversi corsi di informatica. Nel primo semestre sono stati forniti suggerimenti e feedback relativamente a due compiti, mentre nel secondo non è stata fornita alcuna indicazione. Secondo quanto osservato dai ricercatori, “i risultati mostrano che la percentuale di studenti che riesce a completare i compiti con successo dopo un primo invio errato è tre volte maggiore” quando vengono forniti suggerimenti e feedback (Haldeman, et al., 2021).
Alcuni suggerimenti per favorire l'apprendimento con gli autograder includono:- A detta degli insegnanti, l'adozione di strumenti come Gradescope che permettono di sfruttare le funzioni di valutazione automatica (indipendentemente dalle dimensioni della classe), unitamente alle rubriche valutative e al feedback, consente di risparmiare tempo in fase di valutazione. Con Gradescope, i docenti hanno la possibilità di programmare un autograder affinché valuti un singolo elaborato: Gradescope si occuperà di tutto il resto e i docenti non dovranno più preoccuparsi di programmare la gestione di tutti gli elaborati. A loro volta, gli studenti riceveranno un feedback immediato all'interno del loro workflow, che consentirà loro di fare passi avanti nell'apprendimento.
- Accelerare i cicli di feedback aumenta i risultati di apprendimento degli studenti. Con Gradescope, l'autograder precaricato dal docente viene eseguito sui codici inviati dagli studenti entro pochi secondi dall'invio. In questo modo, gli studenti ricevono un feedback in tempo reale su ciò che non funziona nel loro codice, in modo da poterlo correggere immediatamente. In un case study, la professoressa Jillian Cannons, assistente alla cattedra di Matematica e Statistica del Cal Poly Pomona, ha utilizzato Gradescope per centralizzare un feedback quasi istantaneo, che si è dimostrato efficace nell'incoraggiare gli studenti a rielaborare il compito fino a ottenere la risposta corretta. “La professoressa Cannons ha assistito a una maggiore responsabilizzazione degli studenti nei confronti del loro lavoro e del loro apprendimento. Invece di accontentarsi di un 7 su 10, hanno continuato a rielaborare i loro compiti fino a ottenere un voto perfetto. Questa auto-motivazione ha portato a una maggiore padronanza dei concetti e ha acceso in loro quella passione per la programmazione informatica che prima mancava”.
- Progettare l'autograder non solo per controllare il codice degli studenti, ma anche per valutare i loro test e assicurarsi che stiano effettivamente sviluppando in modo test-driven. In questo modo, gli studenti sono incoraggiati a riflettere su come testare il proprio codice e a non affidarsi ad altri per la scrittura dei test. Un autograder ben progettato, con limitazione della velocità e output selettivo, insieme a una progettazione ottimale dell'esame, rende più difficile per gli studenti affidarsi ciecamente all'autograder; al contrario, gli studenti agiscono in modo più ponderato nei loro invii.
- L'utilizzo di strumenti come Gradescope che consentono di valutare uno stesso compito in modo automatico e manuale può aiutare i docenti a fornire commenti e feedback agli studenti. “Dopo essere stato informato del fatto che il semestre successivo non avrei avuto nessun assistente per il mio corso di Principi di Linguaggi di Programmazione, ho deciso di avvalermi di una delle funzionalità di Gradescope, una piattaforma per la valutazione automatica dei compiti di programmazione. Essere in grado di fornire voti e feedback automatici relativi ai codici inviati dagli studenti è stato a lungo un sogno per chi insegna programmazione. Il docente imposta uno script di valutazione che costituisce la base per l'analisi, fornendo voti e feedback relativi ai problemi riscontrati nel programma inviato da ogni studente. L'autograder [sic] è davvero la caratteristica principale in questo caso”, ha spiegato Scott Smith.
- Offrire valutazioni frequenti e di tipo low-stake aumenta la trasparenza e il supporto all'apprendimento degli studenti. Avere una visione d'insieme di ciò che gli studenti sanno o non sanno permette agli insegnanti di intervenire in modo personalizzato. La valutazione automatica riduce le tempistiche di correzione e valutazione da parte dei docenti, consentendo agli studenti di programmare più di frequente. La professoressa Debra Duke della Virginia Commonwealth University utilizza Gradescope “per risparmiare tempo e automatizzare parti del processo di revisione e feedback”. Questo le permette di assegnare un maggior numero di progetti e di fornire un feedback più completo e personalizzato, tanto che ora i suoi studenti riescono a esercitarsi il 50% in più rispetto a prima.
- Individuare le opportunità di apprendimento all'interno dell'autograder fornisce agli studenti una guida mirata. Anya E. Vostinar, assistente alla cattedra di Informatica del Carleton College, ha condiviso i suoi consigli sull'autograder di Gradescope come strumento in grado di favorire tali opportunità di apprendimento.
Gradescope trasforma i momenti di valutazione in opportunità di apprendimento, conciliando apprendimento personalizzato e valutazione automatica su larga scala. Il risultato? Gli insegnanti hanno tempo per insegnare.
Inizia subito sfogliando la nostra documentazione sull’ autograder. Oppure dai un'occhiata alla Community Resources Page di Gradescope, dove i docenti condividono i loro autograder.