Sto cercando un progetto di classe che (1) sia scalabile per classi grandi e (2) insegna design sicuro. Questo è per un corso di laurea in sicurezza informatica. Spero che sarebbe educativo e divertente per gli studenti.
-
Il primo requisito è che la valutazione del progetto di classe debba essere scalabile . Il corso ha 300-400 studenti universitari. Ci sono alcune risorse per la valutazione dei progetti dei corsi, ma non molto, quindi qualsiasi progetto di corso deve essere qualcosa che può essere valutato su larga scala.
Le risorse disponibili per la scala di valutazione in modo lineare con il numero di studenti che frequentano il corso: approssimativamente, il budget per la valutazione di un progetto di corso è di 10-15 minuti da un assistente (per studente al corso), più 20-30 minuti da un selezionatore meno esperto (per laurea nel corso). Gli assistenti di insegnamento sono abbastanza informati sulla sicurezza (in genere uno studente di dottorato che sta facendo attivamente ricerche sulla sicurezza dei computer); i selezionatori, molto meno (tipicamente uno studente che ha precedentemente frequentato il corso sulla sicurezza informatica, ma non ha altra esperienza o conoscenza).
Naturalmente, se il progetto è un progetto di gruppo con studenti N per gruppo, le risorse disponibili per valutare ciascun progetto sono aumentate di un fattore N . Tuttavia, per motivi pratici, N probabilmente non può essere maggiore di 3 o 4.
I requisiti di scalabilità escludono molti potenziali progetti che altrimenti sarebbero molto interessanti. Per esempio, se la valutazione del progetto richiede un esperto assistente di insegnamento per leggere un migliaio di righe di codice per studente che segue il corso, allora non è fattibile. Se ciò comporta la lettura di un documento di progettazione di 5-10 pagine e l'esecuzione di un'analisi delle minacce dell'architettura di sistema, potrebbe anche essere difficile.
-
Il secondo requisito è che il progetto di classe dovrebbe insegnare design sicuro . È facile creare progetti di corso in cui gli studenti cercano di attaccare un sistema (ad esempio, trovare vulnerabilità in un'applicazione Web, sfruttare un sovraccarico del buffer, ecc.); Ho un sacco di progetti fantastici di questo tipo. Ma mi piacerebbe anche che gli studenti acquisissero esperienza nella progettazione di sistemi sicuri, ad esempio, dove iniziamo da alcuni requisiti e devono pensare attraverso le opzioni, scegliere un'architettura di sistema o un approccio progettuale e costruirlo.
Questi due requisiti sono in tensione. Un buon design è difficile da valutare; ci vuole tempo per analizzare un progetto proposto e determinare se è buono o meno buono. Ciò rende non banale la realizzazione di un progetto di corso che consente agli studenti di praticare un design sicuro e dove può essere valutato in modo significativo su larga scala. Ho esaminato i progetti del corso da una serie di altri corsi universitari sulla sicurezza dei computer e ho trovato molti progetti scalabili o che insegnano design sicuro, ma non ne ho trovato nessuno che lo faccia contemporaneamente.
Quale sarebbe un progetto di corso che soddisfa questi requisiti?
(Contesto: ho la fortuna di avere un gruppo eccezionale di studenti: gli studenti sono sofisticati, intelligenti e non hanno paura di lavorare sodo, sono tipicamente laureati in informatica al loro 3 ° o 4 ° anno di college. ci sono tutti perché vogliono essere lì, il corso è un corso elettivo, non obbligatorio. Va bene per il progetto coinvolgere la progettazione e / o l'implementazione di qualcosa di non banale.Se il progetto è rilevante per l'industria o la loro futura carriera, tanto meglio!)