Corso di laurea: Engineering in Computer Science
A.A. 2019/2020
Conoscenza e capacità di comprensione
Il laureato magistrale in Ingegneria Informatica conosce gli aspetti fondamentali dei sistemi e delle applicazioni di elaborazione delle informazioni e i linguaggi, modelli e metodi propri dell’Ingegneria Informatica. La conoscenza di tecniche e strumenti moderni di modellazione, analisi e progetto di sistemi e applicazioni di elaborazione delle informazioni è conseguita attraverso la fruizione delle lezioni e delle esercitazioni previste nell'ambito degli insegnamenti obbligatori e a scelta. Alcuni insegnamenti prevedono lo sviluppo di un progetto e/o l'esecuzione di attività di laboratorio. Tutti gli insegnamenti prevedono la consultazione e l'impiego di materiale didattico aggiornato e funzionale. Il laureato magistrale in Ingegneria Informatica deve inoltre essere in grado di acquisire in modo autonomo nuove conoscenze di carattere tecnico specializzato dalla letteratura scientifica e tecnica del settore, sia nell'ambito delle tematiche approfondite nel curriculum, sia in altri ambiti dell'Ingegneria Informatica. La verifica viene effettuata tramite le prove scritte e/o orali previste per gli esami di profitto e per le altre attività formative, in particolare tramite la prova finale che prevede la discussione della tesi di laurea.Capacità di applicare conoscenza e comprensione
Il laureato magistrale in Ingegneria Informatica deve essere in grado di interagire efficacemente con specialisti di diversi settori applicativi al fine di comprenderne le specifiche esigenze nella realizzazione di strumenti informatici di supporto alle loro attività. Il laureato magistrale in Ingegneria Informatica deve saper descrivere in modo chiaro e comprensibile soluzioni ed aspetti tecnici di tipo informatico. In particolare, deve saper addestrare collaboratori, coordinare e partecipare a gruppi di progetto nell'industria informatica, pianificare e condurre la formazione nel settore informatico. Il laureato magistrale in Ingegneria Informatica deve inoltre essere in grado di utilizzare fluentemente, in forma scritta e orale, la lingua inglese. In particolare, la didattica in lingua inglese mira a preparare gli studenti all'interazione in ambito professionale in tale lingua. Le conoscenze tecniche e metodologiche sui sistemi e le applicazioni di elaborazione delle informazioni vengono acquisite nel corso delle lezioni e sono applicate nell’ambito di esercitazioni, progetti e tesine, attività sperimentali di laboratorio nonché nel lavoro finale di tesi per la modellazione, l’analisi e il progetto di strumenti informatici. La verifica viene effettuata tramite le prove scritte e/o orali previste per gli esami di profitto e per le altre attività formative, in particolare tramite la prova finale che prevede la discussione della tesi di laurea.Autonomia di giudizio
Il laureato magistrale in Ingegneria Informatica deve avere la capacità di analizzare e progettare sistemi complessi, valutando l'impatto delle soluzioni informatiche nel contesto applicativo, sia relativamente agli aspetti tecnici che agli aspetti organizzativi. Il laureato magistrale in Ingegneria Informatica deve inoltre saper valutare le implicazioni economiche, sociali ed etiche ad esse associate.
L’acquisizione di una autonomia di giudizio avviene tramite lo studio individuale e di gruppo, la partecipazione ad attività di laboratorio, la stesura di relazioni su attività di progetto e la preparazione dell'elaborato di tesi in sede di prova finale. La valutazione della capacità dello studente di esprimere giudizi in modo autonomo è condotta tramite la stesura di elaborati personali, sia nell'ambito dei singoli moduli che nella prova finale.
Abilità comunicative
Il laureato magistrale in Ingegneria Informatica deve essere in grado di interagire efficacemente con specialisti di diversi settori applicativi al fine di comprenderne le specifiche esigenze nella realizzazione di strumenti informatici di supporto alle loro attività.
Il laureato magistrale in Ingegneria Informatica deve saper descrivere in modo chiaro e comprensibile soluzioni ed aspetti tecnici di tipo informatico. In particolare, deve saper addestrare collaboratori, coordinare e partecipare a gruppi di progetto nell'industria informatica, pianificare e condurre la formazione nel settore informatico.
Tali capacità e abilità possono essere acquisite nel corso delle regolari attività formative previste nell'ambito del corso di studio, attraverso momenti di discussione e confronto nei lavori di gruppo, e affinate in attività seminariali e di presentazione di progetti e tesine, nonché in sede di preparazione della prova finale.
Il laureato magistrale in Ingegneria Informatica deve inoltre essere in grado di utilizzare fluentemente, in forma scritta e orale, la lingua inglese. In particolare, la didattica in lingua inglese mira a preparare gli studenti all'interazione in ambito professionale in tale lingua.
La valutazione complessiva delle abilità comunicative raggiunte è prevista nella prova finale.
Capacità di apprendimento
Il laureato magistrale in Ingegneria Informatica deve essere in grado di acquisire in modo autonomo nuove conoscenze di carattere tecnico specializzato dalla letteratura scientifica e tecnica del settore, sia nell'ambito delle tematiche approfondite nel curriculum, sia in altri ambiti dell'Ingegneria Informatica.
Tali capacità di apprendimento sono acquisite e sviluppate con gli strumenti didattici tradizionali delle lezioni e delle esercitazioni, e con attività di laboratorio, svolte singolarmente e in gruppo. La verifica della capacità di apprendimento è effettuata attraverso le prove scritte e/o orali previste per gli esami di profitto, in particolare attraverso la stesura di una relazione tecnica nelle materie che prevedono un'attività progettuale.
Requisiti di ammissione
L'accesso alla Laurea Magistrale in Ingegneria Informatica è regolamentato dai sottoindicati criteri per la verifica dei requisiti curricolari. Verrà effettuata una valutazione preventiva della carriera pregressa. Gli allievi saranno ammessi se la somma di crediti riconoscibili nelle materie di base e caratterizzanti nei SSD sotto riportati è complessivamente superiore a 96 crediti. Sulla base della valutazione della carriera verrà individuato un percorso formativo che potrà prevedere una differenziazione fino ad un massimo di 36 crediti.
ING-INF/05 - Sistemi di elaborazione delle informazioni
ING-INF/01 - Elettronica
ING-INF/02 - Campi elettromagnetici
ING-INF/03 - Telecomunicazioni
ING-INF/04 - Automatica
ING-INF/06 - Bioingegneria elettronica ed informatica
ING-INF/07 - Misure elettriche ed elettroniche
ING-IND/31 - Elettrotecnica
ING-IND/35 - Ingegneria Gestionale
INF/01 - Informatica
BIO/10 - Biochimica
BIO/11 - Biologia molecolare
CHIM/07 - Fondamenti Chimici delle tecnologie
FIS/01 - Fisica sperimentale
MAT/02 - Algebra
MAT/03 - Geometria
MAT/05 - Analisi matematica
MAT/06 - Probabilità e statistica matematica
MAT/08 - Analisi numerica
MAT/09 - Ricerca Operativa
SECS-S/01 - Statistica
SECS-S/02 - Statistica per la ricerca sperimentale e tecnologica
Inoltre gli studenti debbono possedere una buona padronanza, in forma scritta e parlata, della lingua inglese, almeno al livello di competenza B2.
L'accesso alla Laurea Magistrale in Ingegneria Informatica prevede, inoltre, una verifica della adeguatezza della preparazione personale degli studenti, le cui modalità saranno definite nel regolamento didattico.
Prova finale
La prova finale consiste nella discussione della tesi di laurea che viene svolta dal candidato sotto la supervisione di un docente del Corso di Studio e costituisce un banco di prova per la verifica delle conoscenze acquisite dallo studente e della sua capacità di approfondirle, applicarle in modo autonomo in un contesto specifico e presentarle con capacità di sintesi. Lo svolgimento della tesi di laurea dovrà comportare lo sviluppo di una originale e significativa attività progettuale, orientata ad affrontare problematiche progettuali in contesti applicativi innovativi, o riguardare aspetti di base e /o metodologici con particolare attenzione ai problemi della ricerca nel settore. In entrambi le tipologie di tesi, verrà favorito l'inserimento nelle attività svolte nell'ambito di progetti di ricerca e la pubblicazione di risultati nella letteratura scientifica del settore. La prova finale deve valutare l'elaborato e la presentazione del lavoro del candidato con riferimento ai risultati di apprendimento attesi.Orientamento in ingresso
Il SOrT è il servizio di Orientamento integrato della Sapienza. Il Servizio ha una sede centrale nella Città universitaria e sportelli dislocati presso le Facoltà. Nei SOrT gli studenti possono trovare informazioni più specifiche rispetto alle Facoltà e ai corsi di laurea e un supporto per orientarsi nelle scelte. L'ufficio centrale e i docenti delegati di Facoltà coordinano i progetti di orientamento in ingresso e di tutorato, curano i rapporti con le scuole medie superiori e con gli insegnanti referenti dell'orientamento in uscita, propongono azioni di sostegno nella delicata fase di transizione dalla scuola all'università, supporto agli studenti in corso, forniscono informazioni sull'offerta didattica e sulle procedure amministrative di accesso ai corsi. Tra le iniziative di orientamento assume particolare rilievo l'evento "Porte aperte alla Sapienza". L'iniziativa, che si tiene ogni anno presso la Città Universitaria, è rivolta prevalentemente agli studenti delle ultime classi delle Scuole Secondarie Superiori, ai docenti, ai genitori ed agli operatori del settore; essa costituisce l'occasione per conoscere la Sapienza, la sua offerta didattica, i luoghi di studio, di cultura e di ritrovo ed i molteplici servizi disponibili per gli studenti (biblioteche, musei, concerti, conferenze, ecc.); sostiene il processo d'inserimento universitario che coinvolge ed interessa tutti coloro che intendono iscriversi all'Università. Oltre alle informazioni sulla didattica, durante gli incontri, è possibile ottenere informazioni sull'iter amministrativo sia di carattere generale sia, più specificatamente, sulle procedure di immatricolazione ai vari corsi di studio e acquisire copia dei bandi per la partecipazione alle prove di accesso ai corsi. Contemporaneamente, presso l'Aula Magna, vengono svolte conferenze finalizzate alla presentazione di tutte le Facoltà dell'Ateneo.
Il Settore coordina, inoltre, i progetti di orientamento di seguito specificati e propone azioni di sostegno nell'approccio all'università e nel percorso formativo.
1. Progetto "Un Ponte tra Scuola e Università"
Il Progetto "Un Ponte tra scuola e Università" (per brevità chiamato "Progetto Ponte") nasce con l'obiettivo di favorire una migliore transizione degli studenti in uscita dagli Istituti Superiori al mondo universitario e facilitarne il successivo inserimento nella nuova realtà.
Il progetto si articola in tre iniziative:
- Professione Orientamento - Seminari dedicati ai docenti degli Istituti Superiori referenti per l'orientamento, per favorire lo scambio di informazioni tra le realtà della Scuola Secondaria e i servizi ed i progetti offerti dalla Sapienza;
- La Sapienza si presenta - Incontri di presentazione delle Facoltà e lezioni-tipo realizzati dai docenti della Sapienza e rivolti agli studenti delle Scuole Secondarie su argomenti inerenti ciascuna area didattica;
- La Sapienza degli studenti - Presentazione alle scuole dei servizi offerti dalla Sapienza e racconto dell'esperienza universitaria da parte di studenti "mentore".
2. Progetto "Conosci Te stesso"
Questionario di autovalutazione per accompagnare in modo efficace il processo decisionale dello studente nella scelta del percorso formativo.
3. Progetto "Orientamento in rete"
Progetto di orientamento e di riallineamento sui saperi minimi. L'iniziativa prevede lo svolgimento di un corso di preparazione per l'accesso alle Facoltà a numero programmato dell'area biomedica, destinato agli studenti dell'ultimo anno di scuola secondaria di secondo grado.
4. Esame di inglese scientifico
Il progetto prevede la possibilità di sostenere presso la Sapienza, da parte degli studenti dell'ultimo anno delle Scuole Superiori del Lazio, l'esame di inglese scientifico per il conseguimento di crediti in caso di successiva iscrizione a questo Ateneo.
5. Gong - Educazione nutrizionale e gastronomica
Gong (Gruppo orientamento nutrizione giovani) è l'acronimo scelto per indicare l'Unità di educazione nutrizionale e gastronomica, un servizio che l'Università Sapienza, offre, in modo gratuito, a tutti gli studenti per insegnare loro a nutrirsi con sapienza e, nello stesso tempo, in modo gustoso.
Il Corso di Studio in breve
Il corso di Laurea Magistrale in Ingegneria Informatica ha durata biennale. Il corso ha l'obiettivo di formare Ingegneri Informatici con conoscenze specialistiche sia nei settori dell’Ingegneria Informatica riguardanti le applicazioni software, quali la progettazione del software, la gestione e l’analisi dei dati, le applicazioni software di intelligenza artificiale, che nei settori che mettono al centro gli aspetti sistemistici e di sicurezza nell’elaborazione dell’informazione, i modelli, le metodologie e gli strumenti per la valutazione delle prestazioni e l’ottimizzazione dei sistemi di elaborazione dell’informazione e dei sistemi di rete.
Il corso prepara alle professioni di: 1) Ingegnere analista e progettista di software, che sviluppa, crea, modifica o ottimizza software applicativi analizzando le esigenze degli utilizzatori; analizza i problemi di elaborazione dei dati per diverse esigenze di calcolo e disegna, individua o ottimizza appropriati sistemi di calcolo delle informazioni; si occupa dell'ideazione, della realizzazione, dell'integrazione e della verifica dei software impiegati in un sito o in un'applicazione web; 2) Ingegnere progettista e amministratore di sistemi e di reti, che individua o ottimizza appropriati sistemi di gestione delle informazioni; disegna, coordina ed implementa le misure di sicurezza dei sistemi informativi per regolare gli accessi ai dati e prevenire accessi non autorizzati; analizza, progetta, testa, valuta e ottimizza le prestazioni dei sistemi di rete e di telecomunicazione.
Il curriculum della laurea magistrale si basa sul presupposto che lo studente abbia acquisito preliminarmente le conoscenze relative alla cultura scientifica di base e alle discipline dell'Ingegneria. Il curriculum include inizialmente un insieme di discipline ritenute fondamentali per la formazione del laureato magistrale in Ingegneria Informatica. Il curriculum si articola quindi in diversi percorsi che porteranno il laureato magistrale ad acquisire, oltre alle competenze fondamentali per la figura professionale di riferimento, una competenza specifica in uno dei settori di punta nel campo dell'Ingegneria Informatica. Per fornire un’adeguata esperienza nello sviluppo di una capacità di risoluzione di problemi e di progettazione di sistemi e applicazioni per l'elaborazione dell'informazione, il curriculum prevede lo svolgimento di una tesi di laurea che comporta l’acquisizione di 30 crediti.
Nel dettaglio, il percorso formativo è articolato come segue: 1) Insegnamenti comuni (36 crediti obbligatori); 2) Insegnamenti di discipline caratterizzanti (30 crediti a scelta da un insieme di insegnamenti); 3) Insegnamenti affini ed integrativi (12 crediti a scelta da un insieme di insegnamenti); 4) crediti a scelta dello studente (12 crediti); 6) Tesi di laurea (30 crediti).
Il corso è erogato in lingua inglese, il che consente l'accesso anche a studenti provenienti da altri paesi, in modo da favorire l'integrazione e lo scambio di conoscenze in un contesto internazionale.
Regolamento Didattico del Corso di
Laurea Magistrale in Ingegneria Informatica
(Master of Science in Engineering in Computer Science)
Classe LM 32 Ingegneria Informatica
Ordine degli Studi 2019/2020
Obiettivi formativi specifici
Il laureato magistrale in Ingegneria Informatica deve essere dotato di una approfondita preparazione e di una vasta cultura scientifica, per poter interagire con gli specialisti di tutti i settori dell'ingegneria e dell'area economico-gestionale. Per la formazione di un ingegnere laureato magistrale in Ingegneria Informatica sono pertanto necessarie una solida e ampia cultura di base e delle discipline dell'ingegneria, specifiche conoscenze informatiche, e un'adeguata preparazione sulle metodologie di progetto.
Il curriculum della laurea magistrale si basa sul presupposto che lo studente abbia acquisito preliminarmente le conoscenze relative alla cultura scientifica di base e alle discipline dell'Ingegneria. A questo scopo sono possibili diversi percorsi formativi in relazione alla tipologia di laurea ed al curriculum dello studente immatricolato.
Il curriculum include un insieme di discipline ritenute fondamentali per la formazione del laureato magistrale in Ingegneria Informatica. Il curriculum si articola quindi in diversi percorsi che porteranno il laureato magistrale ad acquisire, oltre alle competenze fondamentali per la figura professionale di riferimento, una competenza specifica in uno dei settori di punta nel campo dell'Ingegneria Informatica.
Il curriculum prevede l’erogazione dei corsi esclusivamente in lingua inglese anche per favorire l'accesso a studenti provenienti da altri paesi.
Il percorso formativo prevede l’insegnamento in lingua inglese, consentendo l’accesso anche a studenti provenienti da altri paesi. Favorisce quindi l’integrazione e lo scambio di conoscenze in un contesto internazionale e contribuisce alla formazione di ingegneri che possano operare in progetti multidisciplinari.
Il completamento del curriculum consente allo studente sia di approfondire le proprie conoscenze in settori specifici sia di perfezionare le proprie capacità comunicative attraverso corsi seminariali. Per fornire un'adeguata esperienza nello sviluppo di progetti complessi e nella risoluzione di problemi avanzati nel settore dell'Ingegneria Informatica il curriculum prevede lo svolgimento di una tesi di laurea.
Requisiti di ammissione e crediti riconoscibili
Requisiti curriculari
L'accesso alla Laurea Magistrale in Ingegneria Informatica è regolamentato dai sotto indicati criteri per la verifica dei requisiti curricolari. Verrà effettuata una valutazione preventiva della carriera pregressa. Gli allievi saranno ammessi se la somma di crediti riconoscibili nelle materie di base e caratterizzanti nei SSD sotto riportati è complessivamente superiore a 96. Sulla base della valutazione della carriera verrà individuato un percorso formativo che potrà prevedere una differenziazione fino ad un massimo di 36 crediti.
ING-INF/05 - Sistemi di elaborazione delle informazioni
ING-INF/01 - Elettronica
ING-INF/02 - Campi elettromagnetici
ING-INF/03 - Telecomunicazioni
ING-INF/04 - Automatica
ING-INF/06 - Bioingegneria elettronica ed informatica
ING-INF/07 - Misure elettriche ed elettroniche
ING-IND/31 - Elettrotecnica
ING-IND/35 - Ingegneria Gestionale
INF/01 - Informatica
BIO/10 - Biochimica
BIO/11 - Biologia molecolare
CHIM/07 - Fondamenti Chimici delle tecnologie
FIS/01 - Fisica sperimentale
MAT/02 - Algebra
MAT/03 - Geometria
MAT/05 - Analisi matematica
MAT/06 - Probabilità e statistica matematica
MAT/08 - Analisi numerica
MAT/09 - Ricerca Operativa
SECS-S/01 - Statistica
SECS-S/02 - Statistica per la ricerca sperimentale e tecnologica
Inoltre gli studenti debbono possedere una buona padronanza, in forma scritta e parlata, della lingua inglese, almeno al livello di competenza B2.
Verifica della preparazione personale
Una commissione appositamente preposta dal Consiglio d’Area Didattica valuterà la preparazione personale dello studente sulla base dei seguenti elementi:
- media voti laurea triennale
- pertinenza del curriculum di studio della laurea di primo livello;
- altre attività extracurriculari, incluse attività lavorative ed altre attività formative;
- colloquio.
Descrizione del percorso formativo
Il percorso formativo è articolato come segue:
• Insegnamenti comuni (36 crediti obbligatori)
• Insegnamenti di discipline caratterizzanti (30 crediti a scelta opzionale)
• Insegnamenti affini ed integrativi (12 crediti a scelta)
• A scelta dello studente (12 crediti)
• Tesi di laurea (30 crediti)
Per ciascun insegnamento possono essere previste lezioni frontali, esercitazioni, laboratori, lavori di gruppo, ed ogni altra attività che il docente ritenga utile alla didattica. La verifica dell’apprendimento relativa a ciascun insegnamento avviene di norma attraverso un esame (E) che può provvedere prove orali e/o scritte secondo modalità definite dal Docente e comunicate insieme al programma. Per alcune attività non è previsto un esame ma un giudizio di idoneità (V) anche in questo caso le modalità di verifica sono definite dal docente.
Il corso di studio prevede inoltre un percorso di eccellenza che ha lo scopo di valorizzare la formazione degli studenti meritevoli ed interessati ad attività di approfondimento e di integrazione culturale. Il percorso di eccellenza consiste in attività formative aggiuntive a quelle del corso di studio al quale è iscritto lo studente. Il complesso di tali attività non dà luogo al riconoscimento di crediti utilizzabili per il conseguimento dei titoli universitari rilasciati dall'Università “La Sapienza”. L'accesso al percorso di eccellenza avviene al termine del primo anno di corso, su domanda dello studente, che deve essere in possesso dei requisiti minimi. Ad ogni studente verrà assegnato un tutore. Le modalità di accesso e le attività previste per il percorso di eccellenza sono indicate nel sito web del corso.
Caratteristiche della prova finale
La prova finale consiste nella discussione della tesi di laurea che viene svolta dal candidato sotto la supervisione di un docente del Consiglio d’Area Didattica e costituisce un banco di prova per la verifica delle conoscenze acquisite dallo studente e della sua capacità di approfondirle, applicarle in modo autonomo in un contesto specifico e presentarle con capacità di sintesi. La tesi di laurea comporta l’acquisizione di 30 crediti formativi. Lo svolgimento della tesi di laurea dovrà comportare lo sviluppo di una originale e significativa attività progettuale, orientata ad affrontare problematiche progettuali in contesti applicativi innovativi, o riguardare aspetti di base e /o metodologici con particolare attenzione ai problemi della ricerca nel settore. In entrambi le tipologie di tesi, verrà favorito l'inserimento nelle attività svolte nell'ambito di progetti di ricerca e la pubblicazione di risultati nella letteratura scientifica del settore. La prova finale deve valutare l'elaborato e la presentazione del lavoro del candidato con riferimento ai risultati di apprendimento attesi.
Sbocchi occupazionali e professionali previsti per i laureati
La laurea magistrale in Ingegneria informatica fornisce le conoscenze e gli strumenti orientati alla progettazione e alla realizzazione di sistemi per l'elaborazione dell'informazione in sistemi informativi classici ed ambienti innovativi (smart environment e social network), ad elevate prestazioni, sicuri ed affidabili. In sintesi, gli ambiti professionali tipici per i laureati magistrali in Ingegneria Informatica sono quelli dell'innovazione e dello sviluppo della produzione, della progettazione avanzata, della pianificazione e della programmazione, della gestione di sistemi complessi come i data center, della sicurezza informatica, degli ambienti pervasivi, nelle imprese manifatturiere o di servizi, nelle amministrazioni pubbliche, nella libera professione e nella creazione d’impresa.
I principali profili professionali formati dalla Laurea Magistrale in Ingegneria informatica sono:
1. Ingegnere analista e progettista di software
2. Ingegnere progettista e amministratore di sistemi e di reti
Ingegnere analista e progettista di software
Funzione in un contesto di lavoro:
Sviluppa, crea, modifica o ottimizza software applicativi analizzando le esigenze degli utilizzatori; analizza i problemi di elaborazione dei dati per diverse esigenze di calcolo e disegna, individua o ottimizza appropriati sistemi di calcolo delle informazioni; si occupa dell'ideazione, della realizzazione, dell'integrazione e della verifica dei software impiegati in un sito o in un'applicazione web.
Competenze associate alla funzione:
L'Ingegnere analista e progettista di software:
- è in grado di analizzare, progettare, realizzare e modificare applicazioni software, di valutarne le prestazioni e di ottimizzarle, di condurre e gestire grandi e complessi progetti software;
- è in grado di interagire efficacemente con gli esperti dei diversi settori applicativi, al fine di comprendere le specifiche esigenze di progetto;
- è in grado di descrivere in modo chiaro e comprensibile le soluzioni e gli aspetti tecnici del proprio ambito di competenze agli utenti finali e agli organi decisionali;
- sa addestrare collaboratori, coordinare e partecipare a gruppi di progetto nell'industria, pianificare e condurre la formazione;
- è in grado di utilizzare fluentemente, in forma scritta e orale, la lingua inglese con riferimento anche ai lessici disciplinari.
Sbocchi occupazionali:
Gli ambiti professionali tipici per l'Ingegnere analista e progettista di software sono quelli dell'innovazione e dello sviluppo della produzione, della pianificazione, della progettazione e della gestione di applicazioni e sistemi software complessi, nelle imprese manifatturiere o di servizi, nelle amministrazioni pubbliche e nella libera professione. Potrà pertanto trovare occupazione presso:
• industrie informatiche operanti negli ambiti della produzione software;
• imprese operanti nell'area dei sistemi informativi;
• imprese di servizi;
• servizi informatici della pubblica amministrazione;
• industrie per l'automazione e la robotica.
Potrà infine operare come libero professionista.
Ingegnere progettista e amministratore di sistemi e di reti
Funzione in un contesto di lavoro:
Progetta sistemi informatici distribuiti di larga scala; gestisce sistemi informatici, come responsabile della qualità di servizio e della sicurezza di grandi impianti; individua o ottimizza appropriati sistemi di gestione delle informazioni; disegna, coordina ed implementa le misure di sicurezza dei sistemi informativi per regolare gli accessi ai dati e prevenire accessi non autorizzati; analizza, progetta, testa, valuta e ottimizza le prestazioni dei sistemi di rete e di telecomunicazione.
Competenze associate alla funzione:
L'Ingegnere progettista e amministratore di sistemi e di reti:
- è in grado di progettare, analizzare, ottimizzare, verificare sistemi di elaborazione dell’informazione e sistemi di reti di calcolatori, di valutarne e ottimizzarne le prestazioni, e di implementarne le misure di sicurezza;
- è in grado di interagire efficacemente con gli esperti dei diversi settori applicativi, al fine di comprendere le specifiche esigenze di progetto;
- è in grado di descrivere in modo chiaro e comprensibile le soluzioni e gli aspetti tecnici del proprio ambito di competenze agli utenti finali e agli organi decisionali;
- sa addestrare collaboratori, coordinare e partecipare a gruppi di progetto nell'industria, pianificare e condurre la formazione;
- è in grado di utilizzare fluentemente, in forma scritta e orale, la lingua inglese con riferimento anche ai lessici disciplinari.
Sbocchi occupazionali:
Gli ambiti professionali tipici per l'Ingegnere progettista e amministratore di sistemi e di reti sono quelli dell'innovazione e dello sviluppo della produzione, della pianificazione, della progettazione e della gestione di sistemi di elaborazione complessi, nelle imprese manifatturiere o di servizi, nelle amministrazioni pubbliche e nella libera professione. Potrà pertanto trovare occupazione presso:
• industrie informatiche operanti negli ambiti della produzione hardware e software;
• imprese operanti nell'area delle reti di calcolatori e dei sistemi informativi;
• imprese di servizi;
• servizi informatici della pubblica amministrazione;
• industrie per l'automazione e la robotica.
Potrà infine operare come libero professionista.
Norme relative alle iscrizioni ad anni successivi per studenti provenienti da altro corso di laurea o altro ateneo
Per iscriversi al secondo anno del corso di studi lo studente proveniente da altro corso di laurea o altro ateneo deve aver acquisito almeno 30 dei crediti previsti per il primo anno. Non sono previste propedeuticità.
Non sono previsti obblighi di frequenza se non per attività di laboratorio o altre attività pratiche.
Studenti immatricolati ad ordinamenti precedenti
Per gli studenti che devono completare gli studi nell’ordinamento 509/99 o precedenti il Consiglio d’Area Didattica ha definito le corrispondenze dei corsi previsti nel vecchio ordinamento nell’ambito della nuova offerta formativa in base al curriculum dello studente.
Lo studente, già iscritto ad un Corso di Laurea Specialistica o Magistrale della Facoltà di Ingegneria anteriormente all’anno accademico 2009/10, può chiedere il passaggio al Corso di Laurea Magistrale in Ingegneria Informatica organizzato secondo le norme del DM 270/04 (Ordinamento 270), presentando domanda presso la Segreteria Amministrativa delle Facoltà di Ingegneria (c/o città universitaria). La domanda deve essere redatta secondo le modalità previste dalla Segreteria Amministrativa e dovrà comunque prevedere l’elenco degli esami superati per i quali si richiede il riconoscimento.
Il Consiglio d’Area Didattica delibererà gli esami riconosciuti e i crediti attribuiti. Il Consiglio d’Area Didattica provvederà inoltre, di concerto con lo studente, a definire il completamento del curriculum dello studente nell’ambito dell’Ordinamento 270 in accordo al presente Manifesto. Il passaggio di Ordinamento con il relativo riconoscimento dei crediti già acquisiti e il piano di completamento del curriculum dovranno essere approvati con specifica delibera del Consiglio d’Area e avranno validità dalla data della seduta del Consiglio nella quale sarà presa la delibera. Una volta effettuato il passaggio al nuovo ordinamento non sarà possibile ritornare al precedente ordinamento e potranno essere sostenuti solo esami dell’Ordinamento che segue il DM 270/04.
Trasferimenti
Gli studenti che intendono trasferirsi al Corso di Laurea Magistrale in Ingegneria Informatica, devono presentare domanda presso la Segreteria Amministrativa delle Facoltà di Ingegneria (c/o città universitaria). La domanda deve essere redatta secondo le modalità previste dalla Segreteria Amministrativa e dovrà comunque prevedere l’elenco degli esami superati per i quali si richiede il riconoscimento. Il Consiglio d’Area Didattica delibererà gli esami riconosciuti e i crediti attribuiti, provvederà inoltre, di concerto con lo studente alla definizione del percorso formativo, che, nel rispetto dell'ordinamento didattico e dei contenuti formativi del Corso di Laurea Magistrale in Ingegneria Informatica, potrà tenere conto del percorso già svolto.
Periodi di studio all’estero
I corsi seguiti nelle Università Europee o estere, con le quali la Facoltà di Ingegneria dell’Informazione, Informatica, Statistica, ha in vigore accordi, progetti e/o convenzioni, vengono riconosciuti secondo le modalità previste dagli accordi.
Gli studenti possono, previo autorizzazione del consiglio del Corso di Laurea, svolgere un periodo di studio all’estero nell’ambito del progetto LLP Erasmus.
In conformità con il Regolamento didattico di Ateneo nel caso di studi, esami e titoli accademici conseguiti all’estero, il Corso di Laurea esamina di volta in volta il programma ai fini dell’attribuzione dei crediti nei corrispondenti settori scientifici disciplinari.
Informazioni generali
Programmi e testi d’esame: Il programma degli insegnamenti e i materiali didattici e informativi sono consultabili sul sito web del corso, accessibile dal catalogo corsi di ateneo:
https://corsidilaurea.uniroma1.it/
o dal sito web del Consiglio di Area Didattica in Ingegneria informatica:
http://ingegneriainformatica.diag.uniroma1.it/
Servizi di tutorato: I docenti del CAD di Ingegneria informatica svolgono attività di orientamento in ingresso, secondo le modalità e gli orari indicati sul sito del Corso di Laurea. Per quanto riguarda l’orientamento in itinere, il Consiglio di Area Didattica assegna ad ogni studente un tutor, scelto tra i docenti del Corso di Laurea: il tutor ha il compito di aiutare e indirizzare lo studente nel percorso formativo, con particolare riguardo a eventuali situazioni di parziale o totale inattività dello studente. Inoltre il Corso di Laurea si avvale dei servizi di tutorato messi a disposizione dalla Facoltà, compatibilmente alle risorse economiche, utilizzando anche appositi contratti integrativi.
Valutazione della qualità: Il Corso di Laurea, in collaborazione con la Facoltà, effettua la rilevazione dell’opinione degli studenti frequentanti per tutti i corsi di insegnamento tenuti. Il sistema di rilevazione è integrato con un percorso qualità la cui responsabilità è affidata alla Commissione per la gestione dell’assicurazione della qualità della didattica, nominata dal Consiglio di Area Didattica e comprendente docenti, studenti e personale dei corsi di studio gestiti dal Consiglio. I risultati delle rilevazioni e delle analisi di tale commissione sono utilizzati per effettuare azioni di miglioramento delle attività formative.
Lo studente espliciterà le proprie scelte al momento della presentazione,
tramite INFOSTUD, del piano di completamento o del piano di studio individuale,
secondo quanto stabilito dal regolamento didattico del corso di studio.
Ingegneria Informatica (percorso valido anche ai fini del conseguimento del doppio titolo italo-francese, italo-venezuelano o italo-russo)
Primo anno
Primo semestre
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
1044419 -
DISTRIBUTED SYSTEMS AND COMPUTER AND NETWORK SECURITY
(obiettivi)
DISTRIBUTED SYSTEMS
- Conoscenza e comprensione
I sistemi distribuiti sono alla base di qualsiasi applicazione informatica moderna. Il corso si propone l'obiettivo principale di fornire agli studenti una chiara caratterizzazione della concorrenza in un sistema distribuito considerando le caratteristiche di tale sistema come guasti, latenza variabile nelle comunicazioni e assenza di un clock globale. Successivamente si analizzano i principali modelli di sistema e le astrazioni di base per la comunicazione e la sincronizzazione. Infine si forniranno i concetti di base di un sistema peer-to-peer con alcuni esempi di sistemi reali.
- Applicare conoscenza e comprensione Lo studente sarà in grado di progettare sistemi e algoritmi distribuiti al di sopra di diversi modelli di sistema da quelli sincrono, asincrono e parzialmente sincrono capendo impossibilità e limitazione nelle prestazioni. Inoltre avrà la capacita di astrarre sistemi e piattaforme reali in modelli astratti più facili da trattare.
- Capacità critiche e di giudizio Lo studente sarà in grado di valutare e comparare diverse soluzioni per la realizzazione di applicazioni distribuite. Sarà, inoltre, in grado valutare gli opportuni trade-off in considerazione dei vari aspetti che caratterizzano l'ambiente specifico in cui l'applicazione andrà in esercizio.
- Capacità comunicative
Lo studente acquisirà la terminologia propria del settore.
- Capacità di apprendimento Lo studente apprenderà tecniche e metodologie di base per la progettazione e lo sviluppo di sistemi e applicazioni distribuite.
COMPUTER AND NETWORK SECURITY
Obiettivi generali Fornire i concetti necessari a: (a) comprendere il significato di sicurezza delle informazioni e di sicurezza delle infrastrutture e delle reti; (b) abilitare lo studente a fare analisi delle caratteristiche fondamentali di sicurezza di una rete/infrastruttura; (c) fornire gli strumenti fondamentali per le attività di progettazione e assessment delle soluzioni realizzate su rete in presenza di esigenze di sicurezza delle informazioni. Le metodologie e le nozioni includono la crittografia, il controllo degli accessi, protocolli e architetture di sicurezza, firewall.
Obiettivi specifici Capacità di - riconoscere in fase di analisi/progettazione i requisiti di confidenzialità, integrità, autenticità, autenticazione e non ripudio, individuando strumenti idonei a garantirli; - supportare il processo di analisi e definizione di politiche di sicurezza a livello di organizzazione; - valutare criticamente infrastrutture ed applicazioni rispetto alle specifiche di sicurezza; - valutare la presenza di vulnerabilità rilevanti nelle infrastrutture e nelle applicazioni; - studiare e comprendere standard di sicurezza.
Conoscenza e comprensione Conoscenza della crittografia di base. Comprensione dei meccanismi di certificazione e firma digitale. Comprensione delle minacce cyber derivanti dall'interazione con il web ed internet in generale
Applicare conoscenza e comprensione Selezionare ed usare standard di cifratura efficaci e sicuri. Selezionare ed usare standard di fingerprinting di documenti efficaci e sicuri. Usare firme digitali. Scegliere meccanismi di autenticazione sicuri.
Capacità critiche e di giudizio: Essere in grado di valutare l'adeguatezza delle misure di sicurezza IT impiegate da una piccola/media impresa.
Capacità comunicative: Essere in grado di interagire agevolmente ed efficacemente con specialisti di domini industriali e ICT per tutte le problematiche connesse alla sicurezza delle informazioni. Saper motivare valutazioni e requisiti.
Capacità di apprendimento: Saper leggere e comprendere documenti con standard tecnici e materiali relativi alla divulgazione di nuove minacce IT.
|
12
|
ING-INF/05
|
48
|
72
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1044417 -
ALGORITHM DESIGN
(obiettivi)
L'obiettivo del corso è quello di introdurre i concetti fondamentali della progettazione di algoritmi per problemi polinomiali e problemi computazionali difficili. Il corso presenterà i concetti di base di progettazione di algoritmi per problemi di flusso nelle reti e problemi di matching. Tecniche generali come greedy e programmazione e dinamica saranno applicate a problemi di cammino minimo, spanning tree, knapsack. Algoritmi di approssimazione saranno presentati per problemi computazionali difficili come TSP, vertex cover set cover, sat, scheduling. Particolare enfasi sarà data ai metodi basati sulla programmazione lineare e gli algoritmi randomizzati. Infine , il corso introdurrà i principali problemi computazionali in teoria dei giochi.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
Gruppo opzionale:
Gruppo OPZIONALE: 1 Insegnamento a scelta - (visualizza)
|
6
|
|
|
|
|
|
|
|
1022771 -
ARTIFICIAL INTELLIGENCE I
(obiettivi)
Obiettivi generali:
Conoscere i principi di base dell'intelligenza artificiale, in particolare la modellazione di sistema intelligente tramite la nozione di agente intelligente. Conoscere le tecniche di base dell'Intelligenza Artificiale con particolare riferimento alla manipolazione di simboli e, più in generale, a modelli discreti.
Obiettivi specifici:
Conoscenza e comprensione: Metodi di ricerca automatica nello spazio degli stati: metodi generali, metodi basati su euristiche, ricerca locale. Rappresentazioni fattorizzate: problemi di soddisfacimento di vincoli, modelli di pianificazione. Rappresentazione della conoscenza attraverso sistemi formali: logica proposizionale, logica del primo ordine, cenni alle logiche descrittive ad alle forme di ragionamento non monotono. Uso della logica come linguaggio di programmazione: PROLOG.
Applicare conoscenza e comprensione: Modellazione di problemi con i diversi metodi di rappresentazione acquisiti. Analisi del comportamento degli algoritmi di ragionamento di base.
Capacità critiche e di giudizio: Essere in grado di valutare la qualità di un modello di rappresentazione di un problema e dei risultati ottenuti applicando su di esso tecniche di ragionamento automatico.
Capacità comunicative: Le capacità di comunicazione orale dello studente vengono stimolate attraverso l'interazione durante le lezioni tradizionali mentre le capacità espositive nello scritto vengono sviluppate attraverso la discussione di esercizi e delle domande a risposta aperta previste nelle prove di esame.
Capacità di apprendimento: Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, attraverso gli esercizi relativi all'applicazione dei modelli appresi, il corso contribuisce a sviluppare le capacità di risoluzione di problemi dello studente.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1022858 -
MACHINE LEARNING
(obiettivi)
Obiettivi generali:
L’obiettivo del corso è presentare un ampio spettro di metodi e algoritmi di apprendimento automatico, discutendone le proprietà e i criteri di applicabilità e di convergenza. Si presentano anche diversi esempi di impiego efficace delle tecniche di apprendimento automatico in diversi scenari applicativi. Gli studenti avranno la capacità di risolvere problemi di apprendimento automatico, partendo da una corretta formulazione del problema, con la scelta di un opportuno algoritmo, e sapendo condurre un’analisi sperimentale per valutare i risultati ottenuti.
Obiettivi specifici:
Conoscenza e comprensione: Fornire un'ampia panoramica sui principali metodi e algoritmi di apprendimento automatico per i problemi di classificazione, regressione, apprendimento, non-supervisionato e apprendimento per rinforzo. I diversi problemi affrontati vengono definiti formalmente e vengono fornite sia le basi teoriche sia informazione tecniche per comprendere le soluzioni adottate.
Applicare conoscenza e comprensione: Risolvere problemi specifici di apprendimento automatico a partire da insiemi di dati, mediante l'applicazione delle tecniche studiate. Lo svolgimento di due homework (piccoli progetti da svolgere a casa) consente agli studenti di applicare le conoscenze acquisite.
Capacità critiche e di giudizio: Essere in grado di valutare la qualità di un sistema di apprendimento automatico usando opportune metriche e metodologie di valutazione.
Capacità comunicative: Produrre un rapporto tecnico che descrive i risultati degli homework, acquisendo quindi la capacità di comunicare i risultati ottenuti dall'applicazione delle conoscenze acquisite nella soluzione di un problema specifico. Assistere ad esempi di comunicazione e condivisione dei risultati raggiunti in applicazioni reali forniti da esperti all'interno di seminari erogati durante il corso.
Capacità di apprendimento: Approfondimento autonomo di alcuni argomenti presentati nel corso tramite lo svolgimento di homework, con possibilità anche di lavorare insieme ad altri studenti (lavoro di gruppo) per risolvere problemi specifici.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
|
Gruppo opzionale:
Insegnamenti affini ed integrativi - 1 insegnamento a scelta - (visualizza)
|
6
|
|
|
|
|
|
|
|
10593010 -
ARTIFICIAL INTELLIGENCE II
(obiettivi)
Obiettivi generali:
Complementare le conoscenze acquisite nei corsi di Artificial Intelligence 1(6 ECTS) e Machine Learning (6 ECTS) con approfondimenti ed attività progettuali.
Conoscere i principi fondamentali della interazione tra agenti intelligenti ed in particolare tra agente intelligente e uomo, attraverso il linguaggio parlato. Conoscere i principi dei modelli probabilistici di sistemi dinamici e i metodi e gli algoritmi di apprendimento per rinforzo.
Obiettivi specifici:
Conoscenza e comprensione: Cooperazione e coordinamento tra agenti intelligenti, distribuzione di compiti, soddisfacimento distribuito di vincoli, analisi lessicale, sintattica e semantica del linguaggio parlato. Rappresentazione probabilistica di sistemi dinamici, ragionamento e apprendimento di comportamenti decisionali.
Applicare conoscenza e comprensione: Progetto e realizzazione di sistemi per l'interazione tra molti agenti. Progetto e realizzazione di sistemi di apprendimento automatico per rinforzo in ambienti dinamici.
Capacità critiche e di giudizio: Analisi e valutazione degli elementi salienti della interazione tra molti agenti e dell'apprendimento per rinforzo.
Capacità comunicative: Le capacità comunicative vengono consolidate attraverso la presentazione di progetti, realizzati anche in gruppo, e di report scritti ad essi associati.
Capacità di apprendimento: Il progetto e la realizzazione di prototipi di sistemi di interazione e di apprendimento contribuiscono all'apprendimento della capacità di lavorare in gruppo.
|
|
-
MODULO II: MACHINE LEARNING II
|
3
|
ING-INF/05
|
12
|
18
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
-
MODULO I: ARTIFICIAL INTELLIGENCE II
|
3
|
ING-INF/05
|
12
|
18
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1044398 -
INTERACTIVE GRAPHICS
|
Erogato in altro semestre o anno
|
1044415 -
MOBILE APPLICATIONS AND CLOUD COMPUTING
|
Erogato in altro semestre o anno
|
1052057 -
VISUAL ANALYTICS
|
Erogato in altro semestre o anno
|
1038137 -
WEB INFORMATION RETRIEVAL
|
Erogato in altro semestre o anno
|
1038133 -
FORMAL METHODS
|
Erogato in altro semestre o anno
|
1044414 -
ADVANCED OPERATING SYSTEMS AND VIRTUALIZATION
|
Erogato in altro semestre o anno
|
1022780 -
CAPACITY PLANNING
|
Erogato in altro semestre o anno
|
1041706 -
KNOWLEDGE REPRESENTATION AND SEMANTIC TECHNOLOGIES
|
Erogato in altro semestre o anno
|
1038138 -
DATA MINING
|
Erogato in altro semestre o anno
|
1044410 -
SYSTEM AND ENTERPRISE SECURITY
|
Erogato in altro semestre o anno
|
1047598 -
SOCIAL NETWORKS AND ON-LINE MARKETS
|
Erogato in altro semestre o anno
|
10589747 -
INTERNET OF THINGS
|
Erogato in altro semestre o anno
|
1038134 -
HUMAN COMPUTER INTERACTION
|
Erogato in altro semestre o anno
|
1038141 -
NATURAL LANGUAGE PROCESSING
|
Erogato in altro semestre o anno
|
|
Gruppo opzionale:
Insegnamenti affini ed integrativi: un insegnamento a scelta tra i due - (visualizza)
|
6
|
|
|
|
|
|
|
|
1027171 -
NETWORK INFRASTRUCTURES
(obiettivi)
Descrittori NETWORK INFRASTRUCTURES Obiettivi Generali: Il corso presenta i concetti di base, i protocolli e le architetture delle attuali infrastrutture di rete. Particolare attenzione è dedicata alla rete di accesso a larga banda larga e alle reti wireless di nuova generazione. Verranno trattate tecnologie quali l’ xDSL, PON, LTE, 5G, SDH, OTN, SDN. Inoltre si presenterà come configurare ed analizzare reti IP e relativi protocolli a vari livelli (di rete ed applicativi) mediante la piattaforma Netkit. Aspetti specifici su Netkit riguarderanno: l’istradamento dinamico, il DNS, l’SSH, le VPN, Firewall e aspetti di sicurezza.
Obiettivi specifici:
A) Conoscenza e capacità di comprensione - Conoscenze sulle principali infrastrutture di rete sia cablate (in rame ed in fibra) che in tecnologie wireless. Capacità di comprensione dei requisiti per la pianificazione di una infrastruttura di rete per servizi digitali di nuova generazione con enfasi sulla qualità di servizio e sicurezza.
B) Capacità di applicare conoscenza e comprensione - Essere in grado di risolvere problemi di pianificazione ed analisi di infrastrutture digitali e relativi requisiti, inseriti in contesti applicativi differenti (larga banda, wireless LTE e 5G, Software Defined Networks e IoT).
C) Autonomia di giudizio -Essere in grado, integrando le conoscenze a livello di rete e applicative, di capire la complessità di una infrastruttura di rete e il tipo di servizio che questa puo’ offrire; essere in grado di analizzare il funzionamento e le prestazioni di differenti protocolli di rete.
D) Abilità comunicative - Le attività progettuali e le esercitazioni di laboratorio del corso permettono allo studente di essere in grado di discutere casi d’uso di piattaforme di rete in contesi applicativi differenti e di presentarne le potenzialità, i limiti e le prestazioni.
E) Capacità di apprendimento - Le attività progettuali ed il laboratorio netkit stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso, al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche di rete apprese durante il corso.
|
6
|
ING-INF/03
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1022870 -
NEURAL NETWORKS
(obiettivi)
Obiettivi del modulo e capacità acquisite dallo studente Il corso introduce le reti neurali (NN), e i alcuni metodi detti ‘soft computing’ (SC) che, a differenza delle tradizionali procedure di calcolo numerico esatto, sono tolleranti a imprecisioni, incertezze, rumore e a verità parziali. Gli obiettivi formativi consistono nell’acquisizione delle seguenti conoscenze e competenze specifiche: 1) principali modelli di reti neurali e reti a ispirazioni anche non biologica: architetture, proprietà matematiche e algoritmi di apprendimento; 2) filtraggio adattativo e modellazione di fenomeni dinamici e statici; 3) rappresentazione parsimoniosa di dati ed estrazione dell’informazione non ridondante; 4) architetture e apprendimento di reti neurali profonde con metodi a forte regolarizzazione; 5) algoritmi per i metodi SC. Sono discusse applicazioni di: analisi e modellazione di dati non strutturati: modellazione, filtraggio e predizione; il riconoscimento di configurazioni; cluster analysis; metodi per la fusione dati da sensori multipli; la separazione miopica di segnali.
Risultati di apprendimento attesi: Lo studente del corso Neural Networks acquisisce conoscenze e competenze di base e specifiche relative alla disciplina. E' in grado di implementare (e valutare le prestazioni) dei vari modelli neurali, dei relativi algoritmi di apprendimento supervisionati e non supervisionati per: per la estrazione di caratteristiche, pattern recognition, clustering e l’elaborazione dei dati con dipendenze temporali. Lo studente acquisisce una chiara ed efficace comprensione dei metodi di apprendimento a ispirazione biologica. Sviluppa la capacità di progettare sistemi adattativi che imparano da dati reali con almeno una delle seguenti caratteristiche: dati non strutturati, rumorosi, incompleti, eterogenei, di alta dimensionale, distribuiti.
|
6
|
ING-IND/31
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
|
Secondo semestre
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
1022797 -
DATA MANAGEMENT
(obiettivi)
Obiettivi generali: L'obiettivo del corso è l'indagine sui concetti di base dei sistemi di gestione dei dati, facendo riferimento in particolare al modello relazionale. Vengono affrontate diverse questioni fondamentali relative alla teoria e alla progettazione di sistemi di gestione dei dati relazionali, tra cui controllo della concorrenza, ripristino, organizzazioni di file e indici, elaborazione delle query, OLAP e OLTP. È richiesta una buona conoscenza dei fondamenti di strutture di programmazione, linguaggi di programmazione e database (SQL, modello di dati relazionali, modello di dati Entità-Relazione, progettazione di database concettuali e logici).
Conoscenza e comprensione: Lo studente avrà una buona conoscenza di come funziona un sistema di gestione dei dati, di come è strutturato e di come è progettato. Inoltre, lo studente acquisirà conoscenza dell'architettura di un sistema di gestione di database e dei suoi moduli principali (gestore delle transazioni, gestore di recupero, analizzatore di query). Lo studente acquisirà inoltre una buona conoscenza di come progettare l'organizzazione fisica delle relazioni (file e indici) e di come funziona l'ottimizzatore di query di un sistema di gestione dati.
Applicare conoscenza e comprensione: Gli studenti saranno in grado di progettare il proprio sistema di gestione dei dati, incluso il modulo di controllo della concorrenza, il modulo di ripristino, il modulo per i metodi accesso ai file e l'ottimizzatore di query.
Capacità critiche e di giudizio: Lo studente sarà in grado di valutare le caratteristiche e la qualità di un sistema di gestione dei dati e sarà in grado di scegliere la tecnica giusta per gestire la concorrenza, il recupero e l'elaborazione delle query in contesti applicativi specifici.
Capacità comunicativa: Gli studenti acquisiranno una buona conoscenza su come illustrare gli algoritmi e le tecniche alla base di un moderno Data Manager.
Capacità di apprendimento: Lo studente sarà in grado di comprendere qualsiasi nuova architettura e approccio alla gestione dei dati che si affermerà in futuro.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1022891 -
SOFTWARE ENGINEERING
(obiettivi)
Il corso analizza il processo di sviluppo del software e presenta le metodologia, gli standard di qualità, le metriche e le tecniche comunemente usate per la stima economica, la pianificazione ed il test di applicazioni software di qualità professionale. Al fine di interpretare correttamente le misure utilizzate nel contesto dell'assicurazione della qualità del software, il corso presenta le nozioni di base della teoria della misura e della verifica di esperimenti tramite l'analisi della varianza.Risultati di apprendimento attesi: Alla fine del corso lo studente sarà in grado di: -scegliere un modello per lo sviluppo di una applicazione software, stimarne il costo, pianificare le attività di progetto, progettare i test ed indicare delle metriche per l'assicurazione qualità, nonchè valutare la significatività statistica di esperimenti basati sulla raccolta di campioni numerici.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
Gruppo opzionale:
Insegnamenti Caratterizzanti - 4 Insegnamenti a scelta - (visualizza)
|
24
|
|
|
|
|
|
|
|
1038133 -
FORMAL METHODS
(obiettivi)
Obiettivi generali:
L'obiettivo del corso è lo studio e l'approfondimento della qualità più importante del software: la correttezza. Lo studio della correttezza verrà affrontato con riferimento ad aspetti concettuali e realizzativi affrontando la modellazione e la verifica sia di aspetti statici che di aspetti dinamici. Gli argomenti vengono trattati dando enfasi ad aspetti metodologici e ad aspetti sperimentali utilizzando varie forme di logica (logica del prim'ordine, logiche dinamiche e logiche temporali) e vari strumenti per la verifica automatica. Risultati di apprendimento attesi: Alla fine del corso lo studente dovrebbe avere acquisito tecniche e metodi per la dimostrazione della correttezza dei programmi e degli schemi concettuali.
Obiettivi specifici:
Conoscenza e comprensione: I principali fondamentali dei metodi formali. L'uso di specifiche rigorose e formali e la loro verifica. Principi fondanti della logica per l'informatica, verifica formale di proprieta' dei dati e dei processi.
Applicare conoscenza e comprensione: Essere in grado di affrontare l'analisi di correttezza di programmi attraverso metodi rigorosi e formali, sia relativamente ad aspetti relativi ai dati che ai processi.
Capacità critiche e di giudizio: Essere in grado di valutare il rigore di una data argomentazione di correttezza dei programmi. Orientarsi nella scelta degli strumenti concettuali forniti dalla logica e i metodi formali per la verifica di proprieta' sia statiche che dinamiche.
Capacità comunicative: Le attività di gruppo in classe e le esercitazioni del corso permettono allo studente di essere in grado di comunicare/condividere le conoscenze acquisite e confrontarsi con gli altri sui temi del corso.
Capacità di apprendimento: Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, le modalità di svolgimento del corso, stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso, al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1038134 -
HUMAN COMPUTER INTERACTION
(obiettivi)
Obiettivi Generali: Obiettivo del corso è la presentazione dei principi fondamentali della interazione persona-calcolatore e dell’usabilità dei sistemi interattivi. Gli argomenti verranno trattati da vari punti di vista, coprendo aspetti teorici, metodologici, tecnologici ed applicativi, con riferimento sia alla situazione esistente, che ad aspetti avanzati in via di sviluppo. Alcuni aspetti avanzati dell’interazione, quali ambienti cooperativi, sistemi immersivi, interfacce intelligenti, ecc., vengono trattati in modo seminariale. Alla fine del corso lo studente dovrebbe aver acquisito non soltanto le conoscenze teoriche sulla materia, ma anche le tecniche e gli strumenti metodologici sufficienti per affrontare e condurre a termine il progetto di un sistema interattivo secondo un punto di vista centrato sull’utente finale (user-centered design).
Obiettivi specifici: Conoscenza e comprensione: Metodologia di progettazione del software centrata sull’utente finale (user-centered design, UCD). In particolare, nel corso verranno analizzate tecniche avanzate per la raccolta ed analisi dei requisiti, modelli degli obiettivi (goals) e compiti (tasks) dell’utente, modelli dell’interazione e del sistema, tecniche e metodologie per la valutazione di usabilità.
Applicare conoscenza e comprensione: Comprendere i concetti di interazione persona-calcolatore (o strumento in genere) e di usabilità. Essere in grado di condurre un progetto completo di sistema interattivo seguendo la metodologia UCD.
Capacità critiche e di giudizio: Essere in grado di valutare l’usabilità di un sistema interattivo e la sua adeguatezza rispetto a compiti ed obiettivi degli utenti finali e dei committenti.
Capacità comunicative: Le attività progettuali e le esercitazioni del corso permettono allo studente di essere in grado di comunicare/condividere i requisiti di un sistema interattivo, nonché le scelte progettuali e le metodologie di progettazione e sviluppo.
Capacità di apprendimento: Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, le modalità di svolgimento del corso, in particolare le attività progettuali, stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso, al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1044414 -
ADVANCED OPERATING SYSTEMS AND VIRTUALIZATION
(obiettivi)
Obiettivi generali:
Gli obiettivi del corso Advanced Operating Systems and Virtualization sono legati all'acquisizione di metodologie teoriche e pratiche legate alla progettazione ed allo sviluppo di sistemi operativi moderni. Gli argomenti trattati sono calati all'interno dell'architettura hardware x86, con l'obiettivo di fornire allo studente competenze facilmente spendibili su architetture di elaborazione moderne e largamente diffuse. Le idiosincrasie dell'architettura x86 consentono di introdurre concetti legati alla portabilità del codice dei sistemi operativi e della loro modularizzazione interna, permettendo quindi di applicare i concetti e le competenze di più alto livello anche su altre architetture. Il caso di studio è il kernel Linux, di cui verranno mostrati gli internals di un numero non minimale di sottosistemi e relative strutture dati. In questo modo, lo studente potrà imparare le best practice per la progettazione e lo sviluppo di sistemi operativi.
Durante tutto il corso, in maniera trasversale, verranno mostrati in maniera teorica e pratica aspetti legati alla sicurezza interna ed esterna dei sistemi operativi. In questo modo, lo studente avrà la possibilità di accrescere le proprie competenze in termini di sicurezza, potendo anche arrivare all'identificazione dei correnti limiti delle politiche di sicurezza dei sistemi, ed eventualmente di ragionare su modalità per estendere le stesse.
Il corso ha anche come obiettivo quello di mostrare le tecniche e le metodologie atte a supportare la virtualizzazione di sistemi, sia sfruttando facility hardware che supporti software.
La realizzazione di un progetto in tecnologia C che estenda l'attuale implementazione del kernel Linux permetterà agli studenti anche di migliorare le proprie competenze di programmazione in C.
Obiettivi specifici:
Conoscenza e comprensione: Lo studente acquisirà la capacità di leggere e comprendere il codice sorgente del kernel Linux. Questa capacità riflette la conoscenza degli aspetti teorici legati al funzionamento dei sistemi operativi, e delle necessità di sviluppo legate alle moderne architetture hardware.
Applicare conoscenza e comprensione: Lo studente sarà in grado di progettare ed implementare nuovi sottosistemi all'interno del kernel Linux.
Capacità critiche e di giudizio: Lo studente sarà in grado di valutare la qualità di un implementazione di un sistema software complesso, dal punto di vista della correttezza, delle performance e degli standard di sicurezza.
Capacità comunicative: Lo studente sarà in grado di realizzare documentazioni di qualità elevata di sistemi software complessi e di utilizzare strumenti di sviluppo collaborativo. Inoltre, lo studente acquisirà proprietà di linguaggio tali da descrivere problematiche di correttezza e performance di sistemi software complessi.
Capacità di apprendimento: Lo studente sarà in grado di leggere e comprendere sistemi software complessi e di identificare possibili problematiche di sicurezza. Questo consentirà di progettare e realizzare nuovi sistemi software complessi, di identificare politihche di mitigazione di attacchi, di studiare in maniera autonoma il funzionamento di altri sistemi software complessi.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1022780 -
CAPACITY PLANNING
(obiettivi)
Obiettivi generali:
Obiettivo del corso è fornire le metodologie per la modellazione e valutazione degli impianti di elaborazione, relativamente al dimensionamento in fase di progettazione e al tuning in fase di esercizio. Il corso si propone di rendere disponibili gli strumenti necessari a un ingegnere per operare delle scelte tra più soluzioni architetturali, in considerazione sia delle prestazioni che del costo. Preliminarmente alle suddette metodologie vengono forniti gli elementi architetturali necessari al perfezionamento delle conoscenze sulle infrastrutture di elaborazione distribuite ad alte prestazioni, ad alta affidabilità e disponibilità. Risultati di apprendimento attesi: Alla fine del corso gli studenti saranno in grado di dimensionare un sistema di elaborazione con l'obiettivo di soddisfare i Service Level Agreement (SLA) fissati, SLA basati sia su indici tipici delle prestazioni che della dependability.
Obiettivi specifici:
Conoscenza e comprensione: Tecniche di tolleranza ai guasti, modellazione di sistemi di elaborazione per valutare la dependability e le prestazioni dei sistemi di elaborazione
Applicare conoscenza e comprensione: Essere in grado di progettare e dimensionare un sistema di elaborazione complesso.
Capacità critiche e di giudizio: Essere in grado di valutare la qualità di un sistema di elaborazione e verificarne la capacità a soddisfare le esigenze dei clienti e dei gestori.
Capacità comunicative: Le attività progettuali e le esercitazioni del corso permettono allo studente di essere in grado di lavorare in un gruppo di progettisti multidisciplinare.
Capacità di apprendimento: L’identificazione di modelli di sistemi reali permette agli studenti di apprendere in profondità da una parte le interazioni dei suoi componenti e dall’altra di capire il valore della rappresentazione dei sistemi di elaborazione.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1038137 -
WEB INFORMATION RETRIEVAL
(obiettivi)
Obiettivi generali:
Conoscenza dei principali scenari applicativi di interesse nell'analisi di collezioni di dati di grandi dimensioni. Conoscenza e comprensione dei principali problemi metodologici e di analisi posti dalla dimensione crescente dei dati. Conoscenza delle principali tecniche di soluzione e dei principali strumenti a disposizione per implementarle. Comprensione degli aspetti teorici e fondazionali delle principali tecniche per l'analisi di collezioni di dati di grandi dimensioni Capacità di tradurre le nozioni acquisite in programmi per la soluzione di problemi specifici. Conoscenza delle principali tecniche di valutazione e loro applicazione a scenari specifici.
Obiettivi specifici: Capacità di: - individuare le tecniche più adatte a un problema di analisi di dati di grandi dimensioni; - implementare la soluzione proposta, individuando gli strumenti più adatti a raggiungere lo scopo tra quelli disponibili; - progettare e realizzare scenari sperimentali per valutare le soluzioni proposte in condizioni realistiche;
Conoscenza e comprensione: - conoscenza dei principali scenari applicativi; - conoscenza delle principali tecniche di analisi; - comprensione dei presupposti teorici e metodologici alla base delle tecniche principali - conoscenza e comprensione delle principali tecniche e indici di valutazione delle prestazioni
Applicare conoscenza e comprensione: - essere in grado di tradurre esigenze applicative in problemi concreti di analisi dei dati; - essere in grado di identificare gli aspetti del problema, se presenti, che potrebbero rendere la dimensione (o dimensionalità) dei dati un fattore critico; - essere in grado di individuare le tecniche e gli strumenti più adatti alla soluzione dei problemi concreti di cui sopra; - essere in grado di stimare a priori, almeno qualitativamente, la scalabilità delle soluzioni proposte;
Capacità critiche e di giudizio: Essere in grado di valutare, anche sperimentalmente, l'efficacia, l'efficienza e la scalabilità delle soluzioni proposte
Capacità comunicative: Essere in grado di descrivere in modo efficace le specifiche di un problema e di comunicare ad altri le scelte adottate e le motivazioni sottostanti a tali scelte.
Capacità di apprendimento: Il corso consentirà lo sviluppo di capacità di approfondimento autonomo su argomenti del corso o ad essi correlati. Metterà lo studente nelle condizioni di individuare e consultare in modo critico manuali avanzati o letteratura scientifica per affrontare scenari nuovi oppure per applicare tecniche alternative a scenari noti.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1044415 -
MOBILE APPLICATIONS AND CLOUD COMPUTING
|
Erogato in altro semestre o anno
|
1052057 -
VISUAL ANALYTICS
|
Erogato in altro semestre o anno
|
1038138 -
DATA MINING
|
Erogato in altro semestre o anno
|
1041706 -
KNOWLEDGE REPRESENTATION AND SEMANTIC TECHNOLOGIES
|
Erogato in altro semestre o anno
|
1044410 -
SYSTEM AND ENTERPRISE SECURITY
|
Erogato in altro semestre o anno
|
1044408 -
LARGE-SCALE DATA MANAGEMENT
|
Erogato in altro semestre o anno
|
1044406 -
BIG DATA COMPUTING
|
Erogato in altro semestre o anno
|
1044404 -
WEB SECURITY AND PRIVACY
|
Erogato in altro semestre o anno
|
1055061 -
SECURITY GOVERNANCE
|
Erogato in altro semestre o anno
|
10589747 -
INTERNET OF THINGS
(obiettivi)
Il corso è rivolto principalmente a ingegneri informatici e mira a fornire le competenze di base per progettare, implementare e testare un sistema pervasivo, vale a dire un sistema che consenta agli utenti di accedere ai servizi d'interesse sempre ed ovunque. Discuteremo le tecnologie, i protocolli, le funzionalità e algoritmi per realizzare un sistema pervasivo in grado di fornire servizi specifici (ad esempio servizi per gli utenti mobili, servizi per l'internet degli oggetti, ecc) soggetto ai vincoli tipici dei collegamenti wireless e alle risorse limitate del dispositivi che lo compongono (es. vincoli di energia, mobilità, rumore, potenza della CPU limitato, larghezza di banda limitata, ecc)
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
10589744 -
PROCESS MANAGEMENT AND MINING
|
Erogato in altro semestre o anno
|
|
Gruppo opzionale:
Insegnamenti affini ed integrativi - 1 insegnamento a scelta - (visualizza)
|
6
|
|
|
|
|
|
|
|
10593010 -
ARTIFICIAL INTELLIGENCE II
(obiettivi)
Obiettivi generali:
Complementare le conoscenze acquisite nei corsi di Artificial Intelligence 1(6 ECTS) e Machine Learning (6 ECTS) con approfondimenti ed attività progettuali.
Conoscere i principi fondamentali della interazione tra agenti intelligenti ed in particolare tra agente intelligente e uomo, attraverso il linguaggio parlato. Conoscere i principi dei modelli probabilistici di sistemi dinamici e i metodi e gli algoritmi di apprendimento per rinforzo.
Obiettivi specifici:
Conoscenza e comprensione: Cooperazione e coordinamento tra agenti intelligenti, distribuzione di compiti, soddisfacimento distribuito di vincoli, analisi lessicale, sintattica e semantica del linguaggio parlato. Rappresentazione probabilistica di sistemi dinamici, ragionamento e apprendimento di comportamenti decisionali.
Applicare conoscenza e comprensione: Progetto e realizzazione di sistemi per l'interazione tra molti agenti. Progetto e realizzazione di sistemi di apprendimento automatico per rinforzo in ambienti dinamici.
Capacità critiche e di giudizio: Analisi e valutazione degli elementi salienti della interazione tra molti agenti e dell'apprendimento per rinforzo.
Capacità comunicative: Le capacità comunicative vengono consolidate attraverso la presentazione di progetti, realizzati anche in gruppo, e di report scritti ad essi associati.
Capacità di apprendimento: Il progetto e la realizzazione di prototipi di sistemi di interazione e di apprendimento contribuiscono all'apprendimento della capacità di lavorare in gruppo.
|
|
-
MODULO II: MACHINE LEARNING II
|
Erogato in altro semestre o anno
|
-
MODULO I: ARTIFICIAL INTELLIGENCE II
|
Erogato in altro semestre o anno
|
1044398 -
INTERACTIVE GRAPHICS
(obiettivi)
Obiettivi generali:
Far acquisire allo studente le basi della programmazione in grafica 3D con particolare enfasi sulle tecniche di animazione e visualizzazione interattiva. In particolare gli argomenti trattati includono: Fondamenti della grafica computerizzata, rendering interattivo e animazione, la pipeline grafica, trasformazioni, visualizzazioni, rasterizzazione, illuminazione e shading, texture-mapping, tecniche di animazione basate su keyframes, simulazioni fisiche, sistemi di particelle ed animazione di personaggi. Verrà inoltre fornita un’introduzione alla computazione su hardware specializzato per la grafica (GPGU).
Obiettivi specifici:
Far acquisire allo studente familiarità con le tecniche matematiche alla base della grafica 3D, oltre che la capacità di programmare ambienti complessi ed interattivi in grafica 3D usando la libreria OpenGL o una delle sue varianti
Conoscenza e comprensione:
Approfondimento del funzionamento di un sistema per la grafica 3D nelle sue componenti hardware e software. Conoscenza dello standard HTML5 e del linguaggio Javascript, applicazione della libreria WebGL e di alcune librerie di più alto livello. Comprensione delle problematiche di efficienza e qualità visiva delle applicazioni in grafica 3D
Applicare conoscenza e comprensione:
Sviluppo di applicazioni interattive sul web in grafica 3D.
Capacità critiche e di giudizio:
Capacità di comprendere le complessità tecniche nella realizzazione di applicazioni interattive in grafica 3D. Capacità di analisi critica delle soluzioni presenti sul mercato ed analisi di punti di forza e debolezza.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1044415 -
MOBILE APPLICATIONS AND CLOUD COMPUTING
|
Erogato in altro semestre o anno
|
1052057 -
VISUAL ANALYTICS
|
Erogato in altro semestre o anno
|
1038137 -
WEB INFORMATION RETRIEVAL
(obiettivi)
Obiettivi generali:
Conoscenza dei principali scenari applicativi di interesse nell'analisi di collezioni di dati di grandi dimensioni. Conoscenza e comprensione dei principali problemi metodologici e di analisi posti dalla dimensione crescente dei dati. Conoscenza delle principali tecniche di soluzione e dei principali strumenti a disposizione per implementarle. Comprensione degli aspetti teorici e fondazionali delle principali tecniche per l'analisi di collezioni di dati di grandi dimensioni Capacità di tradurre le nozioni acquisite in programmi per la soluzione di problemi specifici. Conoscenza delle principali tecniche di valutazione e loro applicazione a scenari specifici.
Obiettivi specifici: Capacità di: - individuare le tecniche più adatte a un problema di analisi di dati di grandi dimensioni; - implementare la soluzione proposta, individuando gli strumenti più adatti a raggiungere lo scopo tra quelli disponibili; - progettare e realizzare scenari sperimentali per valutare le soluzioni proposte in condizioni realistiche;
Conoscenza e comprensione: - conoscenza dei principali scenari applicativi; - conoscenza delle principali tecniche di analisi; - comprensione dei presupposti teorici e metodologici alla base delle tecniche principali - conoscenza e comprensione delle principali tecniche e indici di valutazione delle prestazioni
Applicare conoscenza e comprensione: - essere in grado di tradurre esigenze applicative in problemi concreti di analisi dei dati; - essere in grado di identificare gli aspetti del problema, se presenti, che potrebbero rendere la dimensione (o dimensionalità) dei dati un fattore critico; - essere in grado di individuare le tecniche e gli strumenti più adatti alla soluzione dei problemi concreti di cui sopra; - essere in grado di stimare a priori, almeno qualitativamente, la scalabilità delle soluzioni proposte;
Capacità critiche e di giudizio: Essere in grado di valutare, anche sperimentalmente, l'efficacia, l'efficienza e la scalabilità delle soluzioni proposte
Capacità comunicative: Essere in grado di descrivere in modo efficace le specifiche di un problema e di comunicare ad altri le scelte adottate e le motivazioni sottostanti a tali scelte.
Capacità di apprendimento: Il corso consentirà lo sviluppo di capacità di approfondimento autonomo su argomenti del corso o ad essi correlati. Metterà lo studente nelle condizioni di individuare e consultare in modo critico manuali avanzati o letteratura scientifica per affrontare scenari nuovi oppure per applicare tecniche alternative a scenari noti.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1038133 -
FORMAL METHODS
(obiettivi)
Obiettivi generali:
L'obiettivo del corso è lo studio e l'approfondimento della qualità più importante del software: la correttezza. Lo studio della correttezza verrà affrontato con riferimento ad aspetti concettuali e realizzativi affrontando la modellazione e la verifica sia di aspetti statici che di aspetti dinamici. Gli argomenti vengono trattati dando enfasi ad aspetti metodologici e ad aspetti sperimentali utilizzando varie forme di logica (logica del prim'ordine, logiche dinamiche e logiche temporali) e vari strumenti per la verifica automatica. Risultati di apprendimento attesi: Alla fine del corso lo studente dovrebbe avere acquisito tecniche e metodi per la dimostrazione della correttezza dei programmi e degli schemi concettuali.
Obiettivi specifici:
Conoscenza e comprensione: I principali fondamentali dei metodi formali. L'uso di specifiche rigorose e formali e la loro verifica. Principi fondanti della logica per l'informatica, verifica formale di proprieta' dei dati e dei processi.
Applicare conoscenza e comprensione: Essere in grado di affrontare l'analisi di correttezza di programmi attraverso metodi rigorosi e formali, sia relativamente ad aspetti relativi ai dati che ai processi.
Capacità critiche e di giudizio: Essere in grado di valutare il rigore di una data argomentazione di correttezza dei programmi. Orientarsi nella scelta degli strumenti concettuali forniti dalla logica e i metodi formali per la verifica di proprieta' sia statiche che dinamiche.
Capacità comunicative: Le attività di gruppo in classe e le esercitazioni del corso permettono allo studente di essere in grado di comunicare/condividere le conoscenze acquisite e confrontarsi con gli altri sui temi del corso.
Capacità di apprendimento: Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, le modalità di svolgimento del corso, stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso, al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1044414 -
ADVANCED OPERATING SYSTEMS AND VIRTUALIZATION
(obiettivi)
Obiettivi generali:
Gli obiettivi del corso Advanced Operating Systems and Virtualization sono legati all'acquisizione di metodologie teoriche e pratiche legate alla progettazione ed allo sviluppo di sistemi operativi moderni. Gli argomenti trattati sono calati all'interno dell'architettura hardware x86, con l'obiettivo di fornire allo studente competenze facilmente spendibili su architetture di elaborazione moderne e largamente diffuse. Le idiosincrasie dell'architettura x86 consentono di introdurre concetti legati alla portabilità del codice dei sistemi operativi e della loro modularizzazione interna, permettendo quindi di applicare i concetti e le competenze di più alto livello anche su altre architetture. Il caso di studio è il kernel Linux, di cui verranno mostrati gli internals di un numero non minimale di sottosistemi e relative strutture dati. In questo modo, lo studente potrà imparare le best practice per la progettazione e lo sviluppo di sistemi operativi.
Durante tutto il corso, in maniera trasversale, verranno mostrati in maniera teorica e pratica aspetti legati alla sicurezza interna ed esterna dei sistemi operativi. In questo modo, lo studente avrà la possibilità di accrescere le proprie competenze in termini di sicurezza, potendo anche arrivare all'identificazione dei correnti limiti delle politiche di sicurezza dei sistemi, ed eventualmente di ragionare su modalità per estendere le stesse.
Il corso ha anche come obiettivo quello di mostrare le tecniche e le metodologie atte a supportare la virtualizzazione di sistemi, sia sfruttando facility hardware che supporti software.
La realizzazione di un progetto in tecnologia C che estenda l'attuale implementazione del kernel Linux permetterà agli studenti anche di migliorare le proprie competenze di programmazione in C.
Obiettivi specifici:
Conoscenza e comprensione: Lo studente acquisirà la capacità di leggere e comprendere il codice sorgente del kernel Linux. Questa capacità riflette la conoscenza degli aspetti teorici legati al funzionamento dei sistemi operativi, e delle necessità di sviluppo legate alle moderne architetture hardware.
Applicare conoscenza e comprensione: Lo studente sarà in grado di progettare ed implementare nuovi sottosistemi all'interno del kernel Linux.
Capacità critiche e di giudizio: Lo studente sarà in grado di valutare la qualità di un implementazione di un sistema software complesso, dal punto di vista della correttezza, delle performance e degli standard di sicurezza.
Capacità comunicative: Lo studente sarà in grado di realizzare documentazioni di qualità elevata di sistemi software complessi e di utilizzare strumenti di sviluppo collaborativo. Inoltre, lo studente acquisirà proprietà di linguaggio tali da descrivere problematiche di correttezza e performance di sistemi software complessi.
Capacità di apprendimento: Lo studente sarà in grado di leggere e comprendere sistemi software complessi e di identificare possibili problematiche di sicurezza. Questo consentirà di progettare e realizzare nuovi sistemi software complessi, di identificare politihche di mitigazione di attacchi, di studiare in maniera autonoma il funzionamento di altri sistemi software complessi.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1022780 -
CAPACITY PLANNING
(obiettivi)
Obiettivi generali:
Obiettivo del corso è fornire le metodologie per la modellazione e valutazione degli impianti di elaborazione, relativamente al dimensionamento in fase di progettazione e al tuning in fase di esercizio. Il corso si propone di rendere disponibili gli strumenti necessari a un ingegnere per operare delle scelte tra più soluzioni architetturali, in considerazione sia delle prestazioni che del costo. Preliminarmente alle suddette metodologie vengono forniti gli elementi architetturali necessari al perfezionamento delle conoscenze sulle infrastrutture di elaborazione distribuite ad alte prestazioni, ad alta affidabilità e disponibilità. Risultati di apprendimento attesi: Alla fine del corso gli studenti saranno in grado di dimensionare un sistema di elaborazione con l'obiettivo di soddisfare i Service Level Agreement (SLA) fissati, SLA basati sia su indici tipici delle prestazioni che della dependability.
Obiettivi specifici:
Conoscenza e comprensione: Tecniche di tolleranza ai guasti, modellazione di sistemi di elaborazione per valutare la dependability e le prestazioni dei sistemi di elaborazione
Applicare conoscenza e comprensione: Essere in grado di progettare e dimensionare un sistema di elaborazione complesso.
Capacità critiche e di giudizio: Essere in grado di valutare la qualità di un sistema di elaborazione e verificarne la capacità a soddisfare le esigenze dei clienti e dei gestori.
Capacità comunicative: Le attività progettuali e le esercitazioni del corso permettono allo studente di essere in grado di lavorare in un gruppo di progettisti multidisciplinare.
Capacità di apprendimento: L’identificazione di modelli di sistemi reali permette agli studenti di apprendere in profondità da una parte le interazioni dei suoi componenti e dall’altra di capire il valore della rappresentazione dei sistemi di elaborazione.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1041706 -
KNOWLEDGE REPRESENTATION AND SEMANTIC TECHNOLOGIES
|
Erogato in altro semestre o anno
|
1038138 -
DATA MINING
|
Erogato in altro semestre o anno
|
1044410 -
SYSTEM AND ENTERPRISE SECURITY
|
Erogato in altro semestre o anno
|
1047598 -
SOCIAL NETWORKS AND ON-LINE MARKETS
|
Erogato in altro semestre o anno
|
10589747 -
INTERNET OF THINGS
(obiettivi)
Il corso è rivolto principalmente a ingegneri informatici e mira a fornire le competenze di base per progettare, implementare e testare un sistema pervasivo, vale a dire un sistema che consenta agli utenti di accedere ai servizi d'interesse sempre ed ovunque. Discuteremo le tecnologie, i protocolli, le funzionalità e algoritmi per realizzare un sistema pervasivo in grado di fornire servizi specifici (ad esempio servizi per gli utenti mobili, servizi per l'internet degli oggetti, ecc) soggetto ai vincoli tipici dei collegamenti wireless e alle risorse limitate del dispositivi che lo compongono (es. vincoli di energia, mobilità, rumore, potenza della CPU limitato, larghezza di banda limitata, ecc)
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1038134 -
HUMAN COMPUTER INTERACTION
(obiettivi)
Obiettivi Generali: Obiettivo del corso è la presentazione dei principi fondamentali della interazione persona-calcolatore e dell’usabilità dei sistemi interattivi. Gli argomenti verranno trattati da vari punti di vista, coprendo aspetti teorici, metodologici, tecnologici ed applicativi, con riferimento sia alla situazione esistente, che ad aspetti avanzati in via di sviluppo. Alcuni aspetti avanzati dell’interazione, quali ambienti cooperativi, sistemi immersivi, interfacce intelligenti, ecc., vengono trattati in modo seminariale. Alla fine del corso lo studente dovrebbe aver acquisito non soltanto le conoscenze teoriche sulla materia, ma anche le tecniche e gli strumenti metodologici sufficienti per affrontare e condurre a termine il progetto di un sistema interattivo secondo un punto di vista centrato sull’utente finale (user-centered design).
Obiettivi specifici: Conoscenza e comprensione: Metodologia di progettazione del software centrata sull’utente finale (user-centered design, UCD). In particolare, nel corso verranno analizzate tecniche avanzate per la raccolta ed analisi dei requisiti, modelli degli obiettivi (goals) e compiti (tasks) dell’utente, modelli dell’interazione e del sistema, tecniche e metodologie per la valutazione di usabilità.
Applicare conoscenza e comprensione: Comprendere i concetti di interazione persona-calcolatore (o strumento in genere) e di usabilità. Essere in grado di condurre un progetto completo di sistema interattivo seguendo la metodologia UCD.
Capacità critiche e di giudizio: Essere in grado di valutare l’usabilità di un sistema interattivo e la sua adeguatezza rispetto a compiti ed obiettivi degli utenti finali e dei committenti.
Capacità comunicative: Le attività progettuali e le esercitazioni del corso permettono allo studente di essere in grado di comunicare/condividere i requisiti di un sistema interattivo, nonché le scelte progettuali e le metodologie di progettazione e sviluppo.
Capacità di apprendimento: Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, le modalità di svolgimento del corso, in particolare le attività progettuali, stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso, al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1038141 -
NATURAL LANGUAGE PROCESSING
|
Erogato in altro semestre o anno
|
|
- -
A SCELTA DELLO STUDENTE
|
6
|
|
24
|
36
|
-
|
-
|
Attività formative a scelta dello studente (art.10, comma 5, lettera a)
|
ENG |
Secondo anno
Primo semestre
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
Gruppo opzionale:
Insegnamenti Caratterizzanti - 4 Insegnamenti a scelta - (visualizza)
|
24
|
|
|
|
|
|
|
|
1038133 -
FORMAL METHODS
|
Erogato in altro semestre o anno
|
1038134 -
HUMAN COMPUTER INTERACTION
|
Erogato in altro semestre o anno
|
1044414 -
ADVANCED OPERATING SYSTEMS AND VIRTUALIZATION
|
Erogato in altro semestre o anno
|
1022780 -
CAPACITY PLANNING
|
Erogato in altro semestre o anno
|
1038137 -
WEB INFORMATION RETRIEVAL
|
Erogato in altro semestre o anno
|
1044415 -
MOBILE APPLICATIONS AND CLOUD COMPUTING
(obiettivi)
Conoscenza e capacità di comprensione.
Il corso mira a fornire le conoscenze necessarie per la comprensione: (i) delle specificità delle app mobile rispetto a app desktop; (ii) dei principali pattern di progettazione per le app mobili; (iii) le principali problematiche legate alla sicurezza; (iv) dell’utilizzo dei principali servizi cloud di backend per applicazioni mobili; (v) delle metodologie di progettazione e sviluppo di semplici servizi di backend dispiegati su cloud; (vi) della classificazione dei modelli di servizio cloud
Capacità di applicare conoscenza e comprensione.
Lo studente dovrà essere in grado di progettare, sviluppare e testare applicazioni native per sistemi operativi android che interagiscano con servizi cloud usando i principali strumenti di sviluppo, test e progettazione ufficiali. Lo studente dovrà essere inoltre in grado di progettare/sviluppare e testare propri semplici servizi dispiegati su piattaforme cloud, di supporto alle applicazioni mobili
Autonomia di giudizio.
In base alle competenze acquisite, lo studente dovrà essere in grado di valutare i vantaggi gli svantaggi delle tecnologie con cui è possibile sviluppare app (applicazioni native, ibride e web based), valutare/ scegliere in modo ottimale e critico le funzionalità di supporto cloud per il funzionamento di applicazioni mobili; giudicare la fattibilità, complessità e le implicazioni di nuove possibili applicazioni, anche indicate da terzi. Inoltre, dovrà essere in grado di aggiornarsi autonomamente in base alle possibili future tecnologie relative ad app mobili o servizi cloud.
Abilità comunicative.
Lo studente dovrà essere in grado di motivare le scelte tecnologiche, metodologiche ed architetturali ad altre persone del settore, nonché di presentare, anche a persone non esperte, il funzionamento e le caratteristiche di possibili nuove applicazioni
Capacità di apprendimento.
Per stimolare la capacità di apprendimento verranno effettuati esercitazioni pratiche sui diversi argomenti trattati e verrà richiesto di usare criticamente informazioni disponibili per specifici problemi su varie piattaforme di discussione (es. Stack Overflow, siti ufficiali, blog, etc.)
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1052057 -
VISUAL ANALYTICS
(obiettivi)
L'obbiettivo del corso è di fornire una introduzione alle tecniche di Information Visualization e Visual Analytics correntemente utilizzate. In particolare, verranno analizzate le metodologie di visualizzazione di dati puramente numerici (tabelle, diagrammi) e le tecniche di rappresentazione (mapping di attributi del dataset rappresentato in attributi visuali), fornendo le competenze pratiche per implementarle in d3.js e integrarle con soluzioni algoritmiche standard di Visual Analytics. Successivamente, verranno introdotte le tecniche di dimensionality reduction, con particolare attenzione a PCA, MDS e t-SNE, presentando soluzioni pratiche in Python. Infine, verrà introdotto il problema della presentazione delle tecniche descritte, acquisendo competenze su come superare limiti di spazio e di tempo nelle visualizzazioni, e fornendo indicazioni sulle principali tecniche di interazione.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1038138 -
DATA MINING
(obiettivi)
L'obiettivo del corso è duplice. In primo luogo, esso presenterà la teoria principale dietro l'analisi dei dati. In secondo luogo, sarà hands-on e alla fine gli studenti potranno acquisire familiarità con varie state-of-the-art strumenti e tecniche per l'analisi dei dati. Useremo Python per scaricare i dati così come le ricche biblioteche machine-learning, l'ambiente R per l'elaborazione statistica, e il quadro MapReduce per l'estrazione di dati su larga scala.
|
6
|
ING-INF/05
|
24
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1041706 -
KNOWLEDGE REPRESENTATION AND SEMANTIC TECHNOLOGIES
(obiettivi)
Obiettivi generali:
Conoscere i linguaggi di riferimento delle tecnologie semantiche attuali, in particolare le famiglie dei linguaggi di rappresentazione della conoscenza basate sul concetto di classe (class-based) e sul concetto di regola (rule-based), e le principali tecniche di ragionamento per tali linguaggi. Conoscere le tecnologie semantiche standard basate su tali formalismi di rappresentazione della conoscenza, in particolare i linguaggi RDF e OWL, con l'obiettivo di progettare e gestire una base di conoscenza ontologica. Conoscere gli elementi di base della rappresentazione di azioni e ragionamento su azioni.
Obiettivi specifici:
Conoscenza e comprensione: Le logiche descrittive, i principali formalismi per la rappresentazione della conoscenza basati sul concetto di classe, e i linguaggi basati su regole, con particolare riferimento a Datalog e alcune sue estensioni. I principali standard Web per le tecnologie semantiche, in particolare i linguaggi RDF, SPARQL e OWL.
Applicare conoscenza e comprensione: Essere in grado di progettare una base di conoscenza, scegliendo il formalismo e le tecnologie di gestione più appropriati per il contesto applicativo in esame.
Capacità critiche e di giudizio: Essere in grado di valutare gli aspetti semantici salienti di una base di conoscenza e di una applicazione basata sulla conoscenza. Essere in grado di scegliere la migliore tecnologia disponibile per il processamento di una base di conoscenza.
Capacità comunicative: Le attività progettuali e le esercitazioni del corso permettono allo studente di essere in grado di comunicare e condividere i requisiti di una applicazione che richiede la costruzione e la gestione di una base di conoscenza e/o l'uso delle tecnologie semantiche standard.
Capacità di apprendimento: Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, le modalità di svolgimento del corso, in particolare le attività progettuali, stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso, al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1044410 -
SYSTEM AND ENTERPRISE SECURITY
(obiettivi)
Gli odierni scenari legati alla cyber security ci testimoniano la sempre più pervasiva presenza di software malevolo utilizzato per perpetrare attacchi informatici. Il corso si propone di fornire agli studenti le conoscenze, i metodi e gli strumenti di base per analizzare, identificare, categorizzare e comprendere il comportamento dei software malevoli. Il corso adotterà un approccio pratico, con una importante componente di applicazione a casi reali.
Risultati di apprendimento attesi Lo studente sarà in grado di analizzare sia in modo manuale, che tramite l'uso di strumenti automatizzati software malevolo di diversa natura per identificarne tutte le caratteristiche salienti. Sarà in grado di estrarne queste caratteristiche e relazionarle tra loro per associarle a comportamenti noti di questa categoria di software.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1044408 -
LARGE-SCALE DATA MANAGEMENT
|
Erogato in altro semestre o anno
|
1044406 -
BIG DATA COMPUTING
(obiettivi)
Obiettivi generali: Conoscenza dei principali scenari applicativi di interesse nell'analisi di collezioni di dati di grandi dimensioni. Conoscenza e comprensione dei principali problemi metodologici e di analisi posti dalla dimensione crescente dei dati. Conoscenza delle principali tecniche di soluzione e dei principali strumenti a disposizione per implementarle. Comprensione degli aspetti teorici e fondazionali delle principali tecniche per l'analisi di collezioni di dati di grandi dimensioni Capacità di tradurre le nozioni acquisite in programmi per la soluzione di problemi specifici. Conoscenza delle principali tecniche di valutazione e loro applicazione a scenari specifici.
Obiettivi specifici: Capacità di: - individuare le tecniche più adatte a un problema di analisi di dati di grandi dimensioni; - implementare la soluzione proposta, individuando gli strumenti più adatti a raggiungere lo scopo tra quelli disponibili; - progettare e realizzari scenari sperimentali per valutare le soluzioni proposte in condizioni realistiche;
Conoscenza e comprensione: - conoscenza dei principali scenari applicativi; - conoscenza delle principali tecniche di analisi; - comprensione dei presupposti teorici e metodologici alla base delle tecniche principali - conoscenza e comprensione delle principali tecniche e indici di valutazione delle prestazioni
Applicare conoscenza e comprensione: - essere in grado di tradurre esigenze applicative in problemi concreti di analisi dei dati; - essere in grado di identificare gli aspetti del problema, se presenti, che potrebbero rendere la dimensione (o dimensionalità) dei dati un fattore critico; - essere in grado di individuare le tecniche e gli strumenti più adatti alla soluzione dei problemi concreti di cui sopra; - essere in grado di stimare a priori, almeno qualitativamente, la scalabilità delle soluzioni proposte;
Capacità critiche e di giudizio: Essere in grado di valutare, anche sperimentalmente, l'efficacia, l'efficienza e la scalabilità delle soluzioni proposte
Capacità comunicative: Essere in grado di descrivere in modo efficace le specifiche di un problema e di comunicare ad altri le scelte adottate e le motivazioni sottostanti a tali scelte.
Capacità di apprendimento: Il corso consentirà lo sviluppo di capacità di approfondimento autonomo su argomenti del corso o ad essi correlati. Metterà lo studente nelle condizioni di individuare e consultare in modo critico manuali avanzati o letteratura scientifica per affrontare scenari nuovi oppure per applicare tecniche alternative a scenari noti.
INGLESE
Knowledge of main application scenarios in Big Data Computing. Knowledge and understanding of main algorithms and approaches in Big Data Computing. Knowledge of main tools to implement them. Understanding of theoretical foundations underlying main techniques of analysis Ability to implement the aforementioned algorithms, approaches and techniques and to apply them to specific problems and scenarios. Knowledge of main evaluation techniques and their application to practical scenarios.
Specific objectives: Ability to: - identify the most suitable techniques to address a data analysis problem where data dimensionality is concern; - implement the proposed solution, identifying the most appropriate design and implementation tools, among available ones; - Design and implement experiments to evaluate proposed solutions in realistic settings;
Knowledge and understanding: - knowledge of main application scenarios; - knowledge of main techniques of analysis; - understanding of methodological and theoretical foundations of main analysis techniques; - knowledge and understanding of main evalutation techniques and corresponding performance indices
Apply knowledge and understanding: - being able to translate application needs into specific data analysis problems; - being able to identify aspects of the problem for which data dimensionality might play a critical role; - being able to identify the most suitable techniques and tools to addresse the aforementioned problems; - being able to estimate in advance, at least qualitatively, the degree of scalability of proposed solutions;
Critical and judgment skills: Being able to evaluate, also experimentally, the effectiveness and efficiency of proposed solutions
Communication skills: Being able to effectively describe the requirements of a problem and provide to third parties the relative specifications, design choices and the reasons underlying these choices.
Learning ability: The course will facilitate the development of skills for the independent study of topics related to the course. It will also allow students to identify and critically examine material contained in andvanced manuals and/or scientific literature, allowing them to face new application scenarios and/or apply alternative techniques to known ones.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1044404 -
WEB SECURITY AND PRIVACY
(obiettivi)
Obiettivi generali Il corso fornisce la conoscenza necessaria per affrontare consapevolmente tutti i temi relativi alla sicurezza delle applicazioni Web e le problematiche relative alla protezione della privacy. Per quanto riguarda la sicurezza delle applicazioni Web sarà presentata la classificazione delle minacce, delle tecniche di attacco e degli obiettivi degli attaccanti. Il corso presenta anche le strategie di base e una panoramica delle risorse a sostegno del progettista/sviluppatore al fine di conseguire la sicurezza "by-design". Particolare attenzione viene dedicata alla sicurezza dell'e-mail studiando minacce e contromisure. Il corso inoltre fornisce le conoscenze per la protezione della privacy, intesa secondo la moderna accezione e in riferimento a quanto previsto dal GDPR. Sono considerate le tecniche e gli strumenti realizzati per violare la privacy e relative contromisure. Altri temi di rilievo sono l’anonimato nelle transizioni economiche, nel rilascio di dati statisitici, nelle reti sociali e nelle reti in generale. Sono infine considerati gli aspetti economici e psicologici relativi all’utilizzo e alla cessione di dati sensibili e gli aspetti normativi relativi.
Obiettivi specifici Capacità di - mettere in sicurezza le comunicazioni basata su email; - analizzare e valutare l'attendibilità di un messaggio email; - comprendere le minacce contro la sicurezza delle applicazioni web - comprendere e contrastare il tracking di utenti web - progettare applicazioni web nel rispetto delle linee guida OWASP - progettare applicazioni che proteggano adeguatamente dati personali e sensibili - effettuare transazioni economiche in anonimato - valutare l'adeguatezza delle misure di protezione dati in riferimento alla normativa nazionale ed europea
Conoscenza e comprensione Conoscenza delle minacce contro le applicazioni web e l'email. Conoscenza delle minacce contro la privacy di utenti web. Comprensione del fenomeno del dark web
Applicare conoscenza e comprensione Selezionare ed usare standard efficaci per mitigare le minacce alle applicazioni web e all'email. Progettare applicazioni che proteggono efficacemente dati personali, sensibili, aziendali, segreti industriali ecc.
Capacità critiche e di giudizio: Essere in grado di valutare l'adeguatezza delle misure di sicurezza delle applicazioni e di protezione dei dati impiegate da una piccola/media impresa.
Capacità comunicative: Essere in grado di interagire agevolmente ed efficacemente con specialisti di domini industriali e ICT per tutte le problematiche connesse alla sicurezza delle applicazioni, esigenze di anonimato e protezione dati. Saper motivare valutazioni e requisiti.
Capacità di apprendimento: Saper leggere e comprendere documenti con standard tecnici e materiali relativi alla divulgazione di nuove minacce IT. Apprendere i diversi scenari di protezione dei dati che occorrono nella rete globale.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1055061 -
SECURITY GOVERNANCE
(obiettivi)
- Conoscenza e comprensione
L’obiettivo principale dell'insegnamento è di fornire un’introduzione a tutte le tematiche relative alla gestione della cybersecurity. In particolare, verrà mostrato allo studente come il problema della cybersecurity sia verticale rispetto all'organizzazione aziendale e che per tanto la sua gestione ne impatta diversi livelli. Verranno analizzati aspetti legati alle normative, ai regolamenti e agli standard sia Internazionali che Nazionali. Verrà poi discusso come, dal punto di vista metodologico, questi aspetti vengano recepiti e messi in atto attraverso la definizione di appositi framework per la gestione della cybersecurity.
- Applicare conoscenza e comprensione
Un altro aspetto fondamentale del corso sarà quello di fornire allo studente metodologie e strumenti per poter affrontare problemi aperti rispetto all'analisi, verifica e certificazione della cybersecurity.
- Capacità critiche e di giudizio
Lo studente acquisirà gli strumenti necessari per poter analizzare, valutare e comparare diverse situazioni e progettare le opportune contromisure per migliorare lo stato di sicurezza della realtà analizzata.
- Capacità comunicative
Lo studente apprenderà il linguaggio specifico del settore.
- Capacità di apprendimento
Lo studente sarà in grado di far proprie e riapplicare tutte le metodologie discusse durante il corso
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
10589747 -
INTERNET OF THINGS
|
Erogato in altro semestre o anno
|
10589744 -
PROCESS MANAGEMENT AND MINING
(obiettivi)
Il corso introduce principi e metodi per la modellazione e analisi di processi e servizi. Il corso enfatizza il ruolo della modellazione concettuale come strumento per comprendere ed analizzare i processi e i servizi di interesse in sistemi informativi di varia natura. Il corso si focalizza si modelli eseguibili, cioe' modelli che siano sufficientemente formali da definire una nozione precisa di esecuzione e da permettere l'analiso formale e la verifica delle proprieta' dinamiche delle stesse. Il corso introduce anche la nozione di composizione e orchestrazione di processi e servizi.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
|
Gruppo opzionale:
Insegnamenti affini ed integrativi - 1 insegnamento a scelta - (visualizza)
|
6
|
|
|
|
|
|
|
|
10593010 -
ARTIFICIAL INTELLIGENCE II
(obiettivi)
Obiettivi generali:
Complementare le conoscenze acquisite nei corsi di Artificial Intelligence 1(6 ECTS) e Machine Learning (6 ECTS) con approfondimenti ed attività progettuali.
Conoscere i principi fondamentali della interazione tra agenti intelligenti ed in particolare tra agente intelligente e uomo, attraverso il linguaggio parlato. Conoscere i principi dei modelli probabilistici di sistemi dinamici e i metodi e gli algoritmi di apprendimento per rinforzo.
Obiettivi specifici:
Conoscenza e comprensione: Cooperazione e coordinamento tra agenti intelligenti, distribuzione di compiti, soddisfacimento distribuito di vincoli, analisi lessicale, sintattica e semantica del linguaggio parlato. Rappresentazione probabilistica di sistemi dinamici, ragionamento e apprendimento di comportamenti decisionali.
Applicare conoscenza e comprensione: Progetto e realizzazione di sistemi per l'interazione tra molti agenti. Progetto e realizzazione di sistemi di apprendimento automatico per rinforzo in ambienti dinamici.
Capacità critiche e di giudizio: Analisi e valutazione degli elementi salienti della interazione tra molti agenti e dell'apprendimento per rinforzo.
Capacità comunicative: Le capacità comunicative vengono consolidate attraverso la presentazione di progetti, realizzati anche in gruppo, e di report scritti ad essi associati.
Capacità di apprendimento: Il progetto e la realizzazione di prototipi di sistemi di interazione e di apprendimento contribuiscono all'apprendimento della capacità di lavorare in gruppo.
|
|
-
MODULO II: MACHINE LEARNING II
|
Erogato in altro semestre o anno
|
-
MODULO I: ARTIFICIAL INTELLIGENCE II
|
Erogato in altro semestre o anno
|
1044398 -
INTERACTIVE GRAPHICS
|
Erogato in altro semestre o anno
|
1044415 -
MOBILE APPLICATIONS AND CLOUD COMPUTING
(obiettivi)
Conoscenza e capacità di comprensione.
Il corso mira a fornire le conoscenze necessarie per la comprensione: (i) delle specificità delle app mobile rispetto a app desktop; (ii) dei principali pattern di progettazione per le app mobili; (iii) le principali problematiche legate alla sicurezza; (iv) dell’utilizzo dei principali servizi cloud di backend per applicazioni mobili; (v) delle metodologie di progettazione e sviluppo di semplici servizi di backend dispiegati su cloud; (vi) della classificazione dei modelli di servizio cloud
Capacità di applicare conoscenza e comprensione.
Lo studente dovrà essere in grado di progettare, sviluppare e testare applicazioni native per sistemi operativi android che interagiscano con servizi cloud usando i principali strumenti di sviluppo, test e progettazione ufficiali. Lo studente dovrà essere inoltre in grado di progettare/sviluppare e testare propri semplici servizi dispiegati su piattaforme cloud, di supporto alle applicazioni mobili
Autonomia di giudizio.
In base alle competenze acquisite, lo studente dovrà essere in grado di valutare i vantaggi gli svantaggi delle tecnologie con cui è possibile sviluppare app (applicazioni native, ibride e web based), valutare/ scegliere in modo ottimale e critico le funzionalità di supporto cloud per il funzionamento di applicazioni mobili; giudicare la fattibilità, complessità e le implicazioni di nuove possibili applicazioni, anche indicate da terzi. Inoltre, dovrà essere in grado di aggiornarsi autonomamente in base alle possibili future tecnologie relative ad app mobili o servizi cloud.
Abilità comunicative.
Lo studente dovrà essere in grado di motivare le scelte tecnologiche, metodologiche ed architetturali ad altre persone del settore, nonché di presentare, anche a persone non esperte, il funzionamento e le caratteristiche di possibili nuove applicazioni
Capacità di apprendimento.
Per stimolare la capacità di apprendimento verranno effettuati esercitazioni pratiche sui diversi argomenti trattati e verrà richiesto di usare criticamente informazioni disponibili per specifici problemi su varie piattaforme di discussione (es. Stack Overflow, siti ufficiali, blog, etc.)
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1052057 -
VISUAL ANALYTICS
(obiettivi)
L'obbiettivo del corso è di fornire una introduzione alle tecniche di Information Visualization e Visual Analytics correntemente utilizzate. In particolare, verranno analizzate le metodologie di visualizzazione di dati puramente numerici (tabelle, diagrammi) e le tecniche di rappresentazione (mapping di attributi del dataset rappresentato in attributi visuali), fornendo le competenze pratiche per implementarle in d3.js e integrarle con soluzioni algoritmiche standard di Visual Analytics. Successivamente, verranno introdotte le tecniche di dimensionality reduction, con particolare attenzione a PCA, MDS e t-SNE, presentando soluzioni pratiche in Python. Infine, verrà introdotto il problema della presentazione delle tecniche descritte, acquisendo competenze su come superare limiti di spazio e di tempo nelle visualizzazioni, e fornendo indicazioni sulle principali tecniche di interazione.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1038137 -
WEB INFORMATION RETRIEVAL
|
Erogato in altro semestre o anno
|
1038133 -
FORMAL METHODS
|
Erogato in altro semestre o anno
|
1044414 -
ADVANCED OPERATING SYSTEMS AND VIRTUALIZATION
|
Erogato in altro semestre o anno
|
1022780 -
CAPACITY PLANNING
|
Erogato in altro semestre o anno
|
1041706 -
KNOWLEDGE REPRESENTATION AND SEMANTIC TECHNOLOGIES
(obiettivi)
Obiettivi generali:
Conoscere i linguaggi di riferimento delle tecnologie semantiche attuali, in particolare le famiglie dei linguaggi di rappresentazione della conoscenza basate sul concetto di classe (class-based) e sul concetto di regola (rule-based), e le principali tecniche di ragionamento per tali linguaggi. Conoscere le tecnologie semantiche standard basate su tali formalismi di rappresentazione della conoscenza, in particolare i linguaggi RDF e OWL, con l'obiettivo di progettare e gestire una base di conoscenza ontologica. Conoscere gli elementi di base della rappresentazione di azioni e ragionamento su azioni.
Obiettivi specifici:
Conoscenza e comprensione: Le logiche descrittive, i principali formalismi per la rappresentazione della conoscenza basati sul concetto di classe, e i linguaggi basati su regole, con particolare riferimento a Datalog e alcune sue estensioni. I principali standard Web per le tecnologie semantiche, in particolare i linguaggi RDF, SPARQL e OWL.
Applicare conoscenza e comprensione: Essere in grado di progettare una base di conoscenza, scegliendo il formalismo e le tecnologie di gestione più appropriati per il contesto applicativo in esame.
Capacità critiche e di giudizio: Essere in grado di valutare gli aspetti semantici salienti di una base di conoscenza e di una applicazione basata sulla conoscenza. Essere in grado di scegliere la migliore tecnologia disponibile per il processamento di una base di conoscenza.
Capacità comunicative: Le attività progettuali e le esercitazioni del corso permettono allo studente di essere in grado di comunicare e condividere i requisiti di una applicazione che richiede la costruzione e la gestione di una base di conoscenza e/o l'uso delle tecnologie semantiche standard.
Capacità di apprendimento: Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, le modalità di svolgimento del corso, in particolare le attività progettuali, stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso, al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1038138 -
DATA MINING
(obiettivi)
L'obiettivo del corso è duplice. In primo luogo, esso presenterà la teoria principale dietro l'analisi dei dati. In secondo luogo, sarà hands-on e alla fine gli studenti potranno acquisire familiarità con varie state-of-the-art strumenti e tecniche per l'analisi dei dati. Useremo Python per scaricare i dati così come le ricche biblioteche machine-learning, l'ambiente R per l'elaborazione statistica, e il quadro MapReduce per l'estrazione di dati su larga scala.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1044410 -
SYSTEM AND ENTERPRISE SECURITY
(obiettivi)
Gli odierni scenari legati alla cyber security ci testimoniano la sempre più pervasiva presenza di software malevolo utilizzato per perpetrare attacchi informatici. Il corso si propone di fornire agli studenti le conoscenze, i metodi e gli strumenti di base per analizzare, identificare, categorizzare e comprendere il comportamento dei software malevoli. Il corso adotterà un approccio pratico, con una importante componente di applicazione a casi reali.
Risultati di apprendimento attesi Lo studente sarà in grado di analizzare sia in modo manuale, che tramite l'uso di strumenti automatizzati software malevolo di diversa natura per identificarne tutte le caratteristiche salienti. Sarà in grado di estrarne queste caratteristiche e relazionarle tra loro per associarle a comportamenti noti di questa categoria di software.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
1047598 -
SOCIAL NETWORKS AND ON-LINE MARKETS
|
Erogato in altro semestre o anno
|
10589747 -
INTERNET OF THINGS
|
Erogato in altro semestre o anno
|
1038134 -
HUMAN COMPUTER INTERACTION
|
Erogato in altro semestre o anno
|
1038141 -
NATURAL LANGUAGE PROCESSING
|
Erogato in altro semestre o anno
|
|
- -
A SCELTA DELLO STUDENTE
|
6
|
|
24
|
36
|
-
|
-
|
Attività formative a scelta dello studente (art.10, comma 5, lettera a)
|
ENG |
Secondo semestre
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
AAF1788 -
SEMINARS IN ADVANCED TOPICS IN COMPUTER SCIENCE ENGINEERING
(obiettivi)
Obiettivi generali:
L'obiettivo del corso è offrire agli studenti una serie di seminari, tenuti da un insieme di docenti e/o esperti nelle singole tematiche, sui più recenti trend nella ricerca e nella pratica dell'ingegneria informatica.
Obiettivi specifici:
Conoscenza e comprensione: Apprendere le ultime soluzioni della ricerca e dei prodotti commerciali del mondo ICT
Applicare conoscenza e comprensione: Essere in grado di comparare soluzioni avanzate e prodotti commerciali
Capacità critiche e di giudizio: Essere in grado di capire le differenze metodologiche tra le tematiche di ricerca nel campo ICT
Capacità comunicative: Le attività seminariali del corso permettono allo studente di essere in grado di lavorare in un gruppo di progettisti multidisciplinare.
Capacità di apprendimento: Apprendere le differenze metodologiche tra le tematiche di ricerca nel campo ICT permette agli studenti di apprendere le basi dell’innovazione tecnologica.
|
6
|
|
24
|
36
|
-
|
-
|
Ulteriori attività formative (art.10, comma 5, lettera d)
|
ENG |
Gruppo opzionale:
Insegnamenti Caratterizzanti - 4 Insegnamenti a scelta - (visualizza)
|
24
|
|
|
|
|
|
|
|
1038133 -
FORMAL METHODS
|
Erogato in altro semestre o anno
|
1038134 -
HUMAN COMPUTER INTERACTION
|
Erogato in altro semestre o anno
|
1044414 -
ADVANCED OPERATING SYSTEMS AND VIRTUALIZATION
|
Erogato in altro semestre o anno
|
1022780 -
CAPACITY PLANNING
|
Erogato in altro semestre o anno
|
1038137 -
WEB INFORMATION RETRIEVAL
|
Erogato in altro semestre o anno
|
1044415 -
MOBILE APPLICATIONS AND CLOUD COMPUTING
|
Erogato in altro semestre o anno
|
1052057 -
VISUAL ANALYTICS
|
Erogato in altro semestre o anno
|
1038138 -
DATA MINING
|
Erogato in altro semestre o anno
|
1041706 -
KNOWLEDGE REPRESENTATION AND SEMANTIC TECHNOLOGIES
|
Erogato in altro semestre o anno
|
1044410 -
SYSTEM AND ENTERPRISE SECURITY
|
Erogato in altro semestre o anno
|
1044408 -
LARGE-SCALE DATA MANAGEMENT
(obiettivi)
Obiettivi generali: L'obiettivo del corso è di comunicare agli studenti i concetti di base della gestione dei sistemi informativi a larga scala. Verranno esaminati in dettaglio due argomenti specifici, vale a dire i modelli informativi per la gestione dei Big Data e l'integrazione delle informazioni. Entrambi gli argomenti sono estremamente rilevanti nella società basata sui dati, in cui praticamente tutti i sistemi informativi di organizzazioni di dimensioni ragionevoli devono sia gestire grandi set di dati sia interagire con diverse fonti di dati.
Obiettivi specifici: Studiare i modelli di dati utilizzati nella gestione di Big Data, in particolare i modelli di dati NoSQL, che includono i modelli di dati basati sui grafi, su XML, su colonne, su coppie chiave-valore e su documenti, e acquisire familiarità con le nozioni e le tecniche per l'integrazione delle informazioni.
Conoscenza e comprensione: Dopo il corso lo studente avrà una buona conoscenza delle differenze e delle somiglianze tra il modello relazionale e le varie classi di modelli di dati NoSQL. Inoltre, gli studenti capiranno le questioni teoriche relative all'integrazione e allo scambio dei dati e avranno una buona conoscenza delle varie architetture dei sistemi di integrazione delle informazioni.
Applicare conoscenza e comprensione: Gli studenti saranno in grado di progettare il proprio repository Big Data utilizzando uno dei modelli di dati adottati nella pratica, di scegliere un'architettura appropriata per l'integrazione delle informazioni e di costruire e mantenere un sistema di integrazione delle informazioni strutturato in base all'architettura scelta.
Capacità critiche e di giudizio: Lo studente sarà in grado di valutare i requisiti per un sistema di gestione di Big Data e sarà in grado di scegliere il giusto modello di dati e l'infrastruttura adeguata. Analogamente, lo studente sarà in grado di comprendere i requisiti per uno specifico sistema di integrazione delle informazioni e scegliere gli approcci e le tecniche appropriate per la progettazione di una soluzione di alta qualità.
Capacità comunicativa: Gli studenti acquisiranno una buona conoscenza su come illustrare i risultati di un processo di progettazione, sia nel contesto della gestione dei Big Data, sia nel contesto dei sistemi di integrazione delle informazioni.
Capacità di apprendimento: Lo studente sarà in grado di comprendere qualsiasi nuova architettura e approccio alla gestione dei Big Data e all'integrazione delle informazioni che diventeranno popolari in futuro.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
1044406 -
BIG DATA COMPUTING
|
Erogato in altro semestre o anno
|
1044404 -
WEB SECURITY AND PRIVACY
|
Erogato in altro semestre o anno
|
1055061 -
SECURITY GOVERNANCE
|
Erogato in altro semestre o anno
|
10589747 -
INTERNET OF THINGS
|
Erogato in altro semestre o anno
|
10589744 -
PROCESS MANAGEMENT AND MINING
|
Erogato in altro semestre o anno
|
|
Gruppo opzionale:
Insegnamenti affini ed integrativi - 1 insegnamento a scelta - (visualizza)
|
6
|
|
|
|
|
|
|
|
10593010 -
ARTIFICIAL INTELLIGENCE II
(obiettivi)
Obiettivi generali:
Complementare le conoscenze acquisite nei corsi di Artificial Intelligence 1(6 ECTS) e Machine Learning (6 ECTS) con approfondimenti ed attività progettuali.
Conoscere i principi fondamentali della interazione tra agenti intelligenti ed in particolare tra agente intelligente e uomo, attraverso il linguaggio parlato. Conoscere i principi dei modelli probabilistici di sistemi dinamici e i metodi e gli algoritmi di apprendimento per rinforzo.
Obiettivi specifici:
Conoscenza e comprensione: Cooperazione e coordinamento tra agenti intelligenti, distribuzione di compiti, soddisfacimento distribuito di vincoli, analisi lessicale, sintattica e semantica del linguaggio parlato. Rappresentazione probabilistica di sistemi dinamici, ragionamento e apprendimento di comportamenti decisionali.
Applicare conoscenza e comprensione: Progetto e realizzazione di sistemi per l'interazione tra molti agenti. Progetto e realizzazione di sistemi di apprendimento automatico per rinforzo in ambienti dinamici.
Capacità critiche e di giudizio: Analisi e valutazione degli elementi salienti della interazione tra molti agenti e dell'apprendimento per rinforzo.
Capacità comunicative: Le capacità comunicative vengono consolidate attraverso la presentazione di progetti, realizzati anche in gruppo, e di report scritti ad essi associati.
Capacità di apprendimento: Il progetto e la realizzazione di prototipi di sistemi di interazione e di apprendimento contribuiscono all'apprendimento della capacità di lavorare in gruppo.
|
|
-
MODULO II: MACHINE LEARNING II
|
Erogato in altro semestre o anno
|
-
MODULO I: ARTIFICIAL INTELLIGENCE II
|
Erogato in altro semestre o anno
|
1044398 -
INTERACTIVE GRAPHICS
|
Erogato in altro semestre o anno
|
1044415 -
MOBILE APPLICATIONS AND CLOUD COMPUTING
|
Erogato in altro semestre o anno
|
1052057 -
VISUAL ANALYTICS
|
Erogato in altro semestre o anno
|
1038137 -
WEB INFORMATION RETRIEVAL
|
Erogato in altro semestre o anno
|
1038133 -
FORMAL METHODS
|
Erogato in altro semestre o anno
|
1044414 -
ADVANCED OPERATING SYSTEMS AND VIRTUALIZATION
|
Erogato in altro semestre o anno
|
1022780 -
CAPACITY PLANNING
|
Erogato in altro semestre o anno
|
1041706 -
KNOWLEDGE REPRESENTATION AND SEMANTIC TECHNOLOGIES
|
Erogato in altro semestre o anno
|
1038138 -
DATA MINING
|
Erogato in altro semestre o anno
|
1044410 -
SYSTEM AND ENTERPRISE SECURITY
|
Erogato in altro semestre o anno
|
1047598 -
SOCIAL NETWORKS AND ON-LINE MARKETS
(obiettivi)
L'obiettivo del corso è la presentazione di concetti per lo studio di reti sociali e di mercati online. Useremo delle teorie delle aree di algoritmi, statistica, economia e sociologia per studiare la struttura di reti complesse e per presentare modelli che ci permettano di capire come varie entità interagiscono fra di loro e dei fenomeni che si verificano da tale interazioni.
|
6
|
ING-INF/05
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
10589747 -
INTERNET OF THINGS
|
Erogato in altro semestre o anno
|
1038134 -
HUMAN COMPUTER INTERACTION
|
Erogato in altro semestre o anno
|
1038141 -
NATURAL LANGUAGE PROCESSING
(obiettivi)
Knowledge and understanding The student will understand the fundamentals of how to process natural language automatically at the different levels of morphology, syntax, and semantics. Machine translation and other applications will also be introduced.
Applying knowledge and understanding The student will be able to use and implement systems that perform language modeling, morphological analysis, syntactic parsing, semantic analysis and machine translation.
|
6
|
INF/01
|
24
|
36
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
|
AAF1028 -
PROVA FINALE
(obiettivi)
La prova finale consiste nella presentazione e discussione di un attività progettuale e di una relazione, supervisionata da un docente, nella quale lo studente dimostra di aver raggiunto una padronanza delle metodologie proprie dell'Ingegneria Informatica e/o della loro applicazione.
|
30
|
|
50
|
-
|
90
|
-
|
Per la prova finale e la lingua straniera (art.10, comma 5, lettera c)
|
ENG |