Guida pratica: creare una Classroom con GitHub Classroom - Guida Docenti
DIDATTICA · Area Docenti • GitHub Classroom 2026
✍ Autore: profgiagnotti | Per docenti di secondaria e ITS

Guida pratica: creare una Classroom con GitHub Classroom

Per docenti di scuola secondaria e università che vogliono distribuire, raccogliere e valutare compiti di programmazione (e non solo) con GitHub. Guida pratica passo-passo riportata fedelmente dal documento originale.

🐙 GitHub Classroom📚 Didattica attiva✅ Checklist pronta🔒 Privacy & minori
// COSA TROVI IN QUESTA GUIDA
✓Cos’è GitHub Classroom e quando conviene usarlo per i tuoi compiti.
✓Cosa serve prima di iniziare: account docente, GitHub Education e roster studenti.
✓8 passi pratici per creare organizzazione, classe, template e assignment con autograding.
✓Buone pratiche didattiche, privacy e minori, problemi frequenti, checklist rapida e risorse utili.

1. Cos’è GitHub Classroom e quando conviene usarlo

GitHub Classroom è uno strumento gratuito, basato su GitHub, che permette di assegnare compiti agli studenti come repository personali (o di gruppo), creati automaticamente a partire da un modello preparato dal docente. Il docente può vedere in un unico pannello chi ha iniziato, chi ha consegnato e, se configurato, il risultato dei test automatici.

Funziona bene per: programmazione, web design, data science, sistemi e reti (file di configurazione), ma anche per consegne di testo in Markdown o LaTeX.

Vantaggi principali:

  • ogni studente ha il proprio repository: niente più file inviati per email o chiavetta USB;
  • la cronologia dei commit mostra come lo studente ha lavorato nel tempo;
  • la correzione può avvenire con commenti direttamente sul codice;
  • i test automatici (autograding) danno feedback immediato;
  • gli studenti imparano uno strumento usato realmente nel mondo del lavoro.
💡 Nota - da collega a collega

Colleghi, da ricordare bene: GitHub Classroom non è solo per informatica. Lo uso anche per consegne di reti con file di configurazione e relazioni in Markdown. Se i ragazzi imparano commit e pull request ora, in ITS e in azienda partono avvantaggiati. Non fate questo errore: usarlo come semplice “drive” senza far vedere la cronologia commit.

2. Cosa serve prima di iniziare

  • Un account GitHub personale del docente.
  • (Consigliato) L’iscrizione a GitHub Education come docente, per accedere ai benefici per la didattica: https://education.github.com/teachers
  • Un account GitHub per ogni studente. Per i minorenni verifica le regole della scuola e il consenso dei genitori secondo la normativa vigente (vedi sezione 9).
  • Un elenco degli studenti (nomi o identificativi) se vuoi usare il roster.

3. Passo 1 - Crea un'organizzazione GitHub per la scuola o il corso

GitHub Classroom lavora dentro una organizzazione GitHub, che raccoglie tutti i repository del corso.

  1. Accedi a GitHub e clicca sull’icona + in alto a destra, poi New organization.
  2. Scegli il piano Free (sufficiente per iniziare; con GitHub Education puoi richiedere funzionalità aggiuntive).
  3. Dai un nome chiaro, ad esempio liceo-rossi-informatica-2026.
  4. Indica la tua email e specifica che l’organizzazione è per un uso didattico (A business or institution).
  5. Completa la creazione.
✅ Buona pratica

Crea un’organizzazione per scuola o per corso e non per singola classe, oppure usa un nome che includa l’anno scolastico, così puoi archiviare tutto a fine anno.

4. Passo 2 - Accedi a GitHub Classroom e crea la classe

  1. Vai su https://classroom.github.com e accedi con il tuo account GitHub.
  2. Clicca New classroom.
  3. Seleziona l’organizzazione creata al passo precedente e autorizza GitHub Classroom ad accedervi, se richiesto.
  4. Assegna un nome alla classe (ad esempio 3B Informatica 2026-27).
  5. Conferma.

5. Passo 3 - Prepara l'elenco degli studenti (roster)

Il roster collega ogni account GitHub al nome reale dello studente, utile per la valutazione.

  1. Nella classe, apri la scheda Students.
  2. Scegli come creare l’elenco:
    • Carica un elenco di identificativi (uno per riga, ad esempio cognome e nome o numero di registro);
    • oppure importa da un LMS (Moodle, Canvas, ecc.), se la tua scuola lo supporta.
  3. Quando lo studente accetta il primo compito, gli viene chiesto di selezionare il proprio nome dalla lista, collegando così identità reale e account GitHub.
🔒 Privacy

Usa identificativi minimi (ad esempio un codice) se non vuoi inserire nomi completi. Valuta le indicazioni della tua scuola.

6. Passo 4 - Prepara il repository modello (template)

Ogni compito parte da un repository modello che contiene la consegna e, se serve, il codice di partenza.

  1. Nell’organizzazione clicca New repository.
  2. Chiamalo in modo descrittivo, ad esempio esercizio-01-calcolatrice.
  3. Aggiungi un file README.md con la consegna: obiettivi, istruzioni, criteri di valutazione, scadenza.
  4. Aggiungi l’eventuale codice iniziale (starter code), file di prova o dati.
  5. Nelle Settings del repository, attiva l’opzione Template repository.

Esempio di struttura:

STRUTTURA REPOSITORY TEMPLATE - ESEMPIO ORIGINALE
esercizio-01-calcolatrice/ ├── README.md - consegna e criteri ├── src/ │ └── calcolatrice.py - codice di partenza └── tests/ └── test_calcolatrice.py - test per l'autograding
💡 Nota

Colleghi, da ricordare bene: un buon template ha README chiarissimo con scadenza e criteri. Non fate questo errore: mettere consegna solo a voce. Se è scritta nel README, lo studente non può dire “non avevo capito” e il test automatico sa cosa valutare.

7. Passo 5 - Crea l'assignment (il compito)

  1. Nella classe, apri Assignments e clicca New assignment.
  2. Titolo e tipo: scegli compito individuale (Individual) o di gruppo (Group).
  3. Scadenza: imposta data e ora di consegna (è informativa; puoi decidere come gestire i ritardi).
  4. Visibilità del repository: di norma privati, così gli studenti non vedono il lavoro dei compagni.
  5. Repository modello: seleziona quello creato al passo 4.
  6. Accesso dello studente: puoi concedere permessi di amministrazione sul proprio repository (valuta se serve).
  7. Autograding (facoltativo): aggiungi i test che verificano automaticamente il lavoro (vedi sezione 8).
  8. Feedback pull request (facoltativo ma utile): abilita la creazione di una pull request di feedback, dove puoi commentare il codice riga per riga.
  9. Clicca Create assignment.

Al termine ottieni un link di invito: è l’indirizzo da condividere con gli studenti.

8. Passo 6 - Configura la valutazione automatica (opzionale)

L’autograding esegue test ogni volta che lo studente carica (push) il proprio lavoro.

  • Test a input/output: inserisci un comando da eseguire, l’input fornito e l’output atteso. Ideale per i primi esercizi.
  • Test eseguiti con un comando: ad esempio pytest, npm test o mvn test, se il repository contiene già dei test.
  • Punteggio: assegna punti a ciascun test; GitHub Classroom calcola il totale.

Consigli:

  • parti con 2 o 3 test semplici e chiari;
  • fai provare i test nel repository modello prima di pubblicare il compito;
  • ricorda che i test automatici verificano la correttezza, non la qualità: integra con una valutazione manuale.
🎯 Consiglio pratico per colleghi

Da collega a collega: iniziate con 2 test input/output banali che danno feedback verde subito. La motivazione sale. Poi aggiungete pytest più complesso. Non fate questo errore: 15 test al primo assignment. Gli studenti si bloccano e abbandonano.

9. Passo 7 - Condividi il compito con gli studenti

  1. Invia il link di invito (registro elettronico, piattaforma della scuola, email).
  2. Lo studente:
    • clicca il link e accede con il proprio account GitHub;
    • seleziona il proprio nome dal roster (se presente);
    • clicca Accept this assignment;
    • ottiene un repository personale pronto da usare.
  3. Lo studente lavora dal browser (con GitHub Codespaces o l’editor web) oppure in locale, clonando il repository sul proprio computer.
📌 Da ricordare bene

Primo esercizio consigliato: un compito molto semplice per far prendere confidenza con commit e push, prima di entrare nel merito dei contenuti.

10. Passo 8 - Monitora, correggi e restituisci il feedback

Dal pannello dell’assignment puoi:

  • vedere chi ha accettato il compito e chi no;
  • controllare commit e consegne di ciascuno;
  • consultare i risultati dei test;
  • aprire il repository dello studente e commentare il codice, anche tramite la pull request di feedback;
  • scaricare i voti in formato CSV per riportarli sul registro.
💡 Nota

Colleghi, la parte più potente è il CSV dei voti + i commenti riga per riga. Da ricordare bene: correggete con pull request di feedback, non con email. Resta traccia, è didattica attiva e lo studente impara a leggere review come in azienda.

11. Buone pratiche didattiche

  • Spiega le regole di consegna: cosa conta come «consegnato» (ultimo commit prima della scadenza) e cosa succede ai ritardi.
  • Valorizza il processo: commit frequenti e messaggi chiari sono parte della valutazione.
  • Prevedi un’ora di introduzione a Git prima del primo compito vero e proprio.
  • Lavori di gruppo: definisci ruoli e usa i branch; consulta la cronologia per valutare i contributi individuali.
  • Plagio: la cronologia dei commit è un indizio utile, ma va interpretata con buon senso e dialogo con lo studente.
  • Archivia a fine anno: archivia la classe o i repository per mantenere ordinata l’organizzazione.

12. Privacy e minori

  • Verifica le condizioni d’uso di GitHub rispetto all’età minima per avere un account e le regole della tua scuola.
  • Informa studenti e famiglie su quali dati vengono trattati (nome utente, repository, eventuale nome nel roster).
  • Usa repository privati per i compiti.
  • Coordinati con il referente privacy e il dirigente scolastico se l’uso dello strumento non è già previsto dal PTOF o dalle informative della scuola.
🚨 Nota - privacy

Colleghi, non fate questo errore: usare nomi completi nel roster pubblico o repository pubblici con dati studenti. Da ricordare bene: repository privati + identificativi minimi + informativa PTOF. Se avete minorenni, serve consenso e coordinamento con DPO scuola.

13. Problemi frequenti e soluzioni

ProblemaPossibile soluzione
Lo studente non trova il proprio nome nel rosterControlla che sia stato inserito nell'elenco; aggiungilo da Students.
Lo studente ha accettato il compito con il nome sbagliatoDal roster puoi scollegare l'account e farlo ricollegare.
I test automatici falliscono sul modelloEsegui i test in locale sul modello e correggi prima di assegnare il compito.
Lo studente non riesce a clonare il repositoryVerifica credenziali e metodo di accesso (token o SSH); in alternativa usa l'editor nel browser.
Il link d'invito è stato condiviso con altre classiCrea una classe o un assignment distinto per ogni gruppo.

14. Checklist rapida

CHECKLIST DOCENTE - COPIA
☐ Account GitHub del docente creato (e iscrizione a GitHub Education) ☐ Organizzazione creata ☐ Classroom creata e collegata all'organizzazione ☐ Roster caricato ☐ Repository modello con README e starter code ☐ Assignment creato con scadenza e visibilità privata ☐ Autograding provato (se usato) ☐ Link di invito condiviso con gli studenti ☐ Regole di consegna e valutazione comunicate
💡 Nota finale

Colleghi, se è la prima volta, fate un assignment di prova solo per voi con un secondo account studente. Testate commit, push, autograding e feedback pull request. Da ricordare bene: la prima classe è quella dove imparate voi, dalla seconda in poi vola.

Conclusione e prossimi passi

Questa guida riporta fedelmente il contenuto originale del PDF Guida-1-GitHub-Classroom.pdf, formattato nel template responsive Area Docenti. Seguendo gli 8 passi, puoi creare la tua prima Classroom funzionante in meno di un'ora e iniziare a raccogliere compiti con cronologia commit e valutazione automatica.

🔗 Hub Area Docenti

Continua il percorso:
• Hub Area Docenti

📚 Il tuo prossimo passo ora

Crea un'organizzazione di prova tipo istituto-prova-2026, crea una classroom test e un assignment “Hello Git”. Invita un collega come studente e fate commit/push. Se funziona, sei pronto per la tua classe reale. Se vuoi, scrivi nei commenti che materia insegni: ti suggerisco la struttura template più adatta.