Il corso si propone di introdurre gli studenti ai concetti di base dell’ingegneria del software e allo sviluppo di applicazioni software, utilizzando la metodologia Agile Unified Process (UP), che sfrutta il linguaggio di modellazione UML. Lo studente dovrà saper sviluppare un'applicazione significativa individuando con chiarezza la logica applicativa, l'interazione con le basi di dati e le interfacce richieste dai requisiti. Inoltre dovrà imparare a pianificare il lavoro secondo i canoni dello sviluppo dei progetti: lavoro di gruppo, definizione degli obiettivi e delle fasi di sviluppo.

Il corso ha una forte caratterizzazione sperimentale. Per questa ragione è suddiviso in un modulo di 4 CFU di lezioni frontali e una modulo di laboratorio di 5 CFU.

Il corso è un contenitore per i tre corsi:

  1. Metodi Formali dell'Informatica (MFN0633), 9 crediti (90 ore), corso di laurea triennale in Informatica, indirizzo "Linguaggi e Sistemi"
  2. Calcolabilità e Complessità A (MFN0612), 6 crediti (60 ore), corso di laurea triennale in Informatica, indirizzi "Informazione e Conoscenza" e "Reti e Sistemi Informatici"
  3. Calcolabilità e Complessità B (MFN0939), 6 crediti (60 ore), corso di laurea magistrale in Informatica
 60 ore, corrispondenti ai corsi 2 e 3, saranno svolte nel primo periodo didattico, le rimanenti 30 ore, che completano il corso 1, nel secondo.



La pervasività dell’informatica nella società moderna ha determinato l’insorgenza di fenomeni che in precedenza non erano presenti o lo erano in forma relativamente trascurabile. Da un lato, infatti, i sistemi informatici sono diventati bersaglio di azioni illecite, quali ad esempio le varie forme di cybercrime, il cyber-spionaggio, la sottrazione di know-how aziendale e il sabotaggio di sistemi che sovrintendono a infrastrutture critiche. Dall’altro, i sistemi informatici sono diventati un facilitatore per la commissione di comportamenti illeciti tradizionali, quali il riciclaggio di denaro, il traffico di stupefacenti, le frodi, le molestie, la diffamazione e molto altro. Il sistema giuridico ha dovuto di conseguenza adeguarsi a tali mutamenti, introducendo la cosiddetta “evidenza digitale” (ovvero informazioni aventi valore probatorio memorizzate o trasmesse in formato digitale) nei suoi vari ambiti (civile, penale, tributario e giuslavoristico) quale elemento essenziale per dimostrare la sussistenza di eventuali comportamenti illeciti attuati mediante un dispositivo digitale o aventi tale dispositivo come bersaglio. Ottenere evidenze digitali partendo dai dati grezzi memorizzati su un dispositivo digitale presenta diverse problematiche (quali, ad esempio, l’integrità e l’autenticità dei dati) che richiedono l’adozione di concetti, metodologie e strumenti (sia di tipo informatico, sia di tipo deduttivo) adeguati e specifici per risolverle. Inoltre, l’uso di evidenze digitali nei procedimenti giudiziari richiede l’adozione di prassi legali adeguate allo specifico contesto processuale (civilistico, penalistico, giuslavoristico, tributario). Il corso di “Computer Forensics: aspetti legali e informatici” si pone l’obiettivo di trattare in maniera sistematica le problematiche inerenti l’acquisizione, l’analisi e l’utilizzo di evidenze digitali nei procedimenti giudiziari, nonché di illustrare le diverse soluzioni (sia di natura informatica, sia di natura giuridica) a tali problematiche.

Corso di Sistemi Informativi a.a. 2015/16

Docente: Roberto Micalizio