Problematiche di sicurezza legate alla gestione degli esami universitari anonimi PROBLEMA: realizzare un programma che garantisca la completa anonimità da parte dello studente durante un esame. SOLUZIONE: il professore al momento della correzione è solo in grado di identificare i compiti attraverso un codice a barre presente sul foglio. Lo studente si identificherà al momento della registrazione tramite un token, con su scritto il codice a barre che identifica il suo compito, e tramite il proprio libretto universitario. Il compito d’esame La parte superiore del foglio è divisa in due sezioni. La prima sezione contiene i campi dove lo studente inserirà i propri dati, i quali solo alla fine verranno staccati ed usati come token per la fase di registrazione. La seconda contiene il codice a barre duplicato che ha lo scopo di associare il compito allo studente proprietario del relativo token. Creazione compiti Il primo campo serve per creare tanti compiti quanti sono gli studenti che affrontano l’esame. Il secondo campo stabilisce da quante domande è costituito l’esame. Creazione compiti (2) Il terzo campo definisce quanti fogli stampare per ogni domanda. È presente una chekbox che stabilisce se visualizzare o meno anche la rappresentazione numerica del codice a barre. Il pulsante “Database” ha la funzione di ripulire la tabella che mantiene tutti i codici a barre generati. Creazione compiti Per la generazione dei codici a barre, ho utilizzato un algoritmo di generazione standard il COD39. Per il nostro scopo ogni foglio deve avere un codice diverso, per questo motivo ho utilizzato un database nel quale vengono memorizzate tutte le rappresentazioni numeriche dei codici a barre generati. Grazie al database posso evitare che ci siano ripetizioni di codici a barre. In modo analogo ho usato il database per poter prelevare le domande in modo random e senza ripetizioni. La gestione dei compiti d’esame Il database Ho realizzato un database nel quale vengono memorizzati i compiti d’esame svolti durante l’anno. La correzione Il prof leggerà, tramite lettore ottico, il codice a barre presente su ogni compito inserendolo nel database, riempiendo i campi di voto, data e identificatore relativi al codice letto e quindi al compito. L’identificatore ha la funzione di numerare progressivamente i compiti in modo da facilitarne il recupero per un’eventuale revisione. La registrazione In questa fase avviene il riconoscimento dello studente, il quale dovrà presentarsi munito del proprio token. Il prof leggerà col lettore ottico il codice a barre dal token dello studente e dopo aver inserito il numero di matricola dello stesso potrà visualizzare il voto e l’identificatore del compito dello studente. Dopo questa fase nel database ogni compito sarà associato ad uno studente.