1038133 - FORMAL METHODS |
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, lodiche descrittive, 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. |
Primo anno |
Primo semestre |
6 |
ING-INF/05 |
|
1044415 - MOBILE APPLICATIONS AND CLOUD COMPUTING |
Il corso è concettualmente diviso in due parti. La prima relativa allo sviluppo di applicazioni mobile, la seconda dedicata allo studio di sistemi di tipo cloud.
Per quanto riguarda il primo punto, il corso ha l’obiettivo di insegnare la programmazione di dispostivi portabili basati su sistemi Android. Lo sviluppo di tali applicazioni richiede particolari skills relativi per esempio alla progettazione dell’interfaccia utente ed alla adozione di specifici pattern di programmazione. Questi aspetti saranno trattati nel corso. Per quando concerne i sistemi cloud, verranno illustrati i tre tipi fondamentali di cloud: Infrastructure as a Service, Platform as a Service e Software as a Service con l’obiettivo di fornire allo studente gli strumenti concettuali per valutare ad esempio i pro ed i contro di un sistema cloud rispetto ai normali sistemi dell’ICT. Allo studente verrà infine insegnato come collegare applicazioni mobili a sistemi cloud. |
Primo anno |
Primo semestre |
6 |
ING-INF/05 |
|
1022780 - CAPACITY PLANNING |
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. |
Primo anno |
Secondo semestre |
6 |
ING-INF/05 |
|
1022891 - SOFTWARE ENGINEERING |
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. |
Primo anno |
Secondo semestre |
6 |
ING-INF/05 |
|
1038134 - HUMAN COMPUTER INTERACTION |
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., verranno trattati nella parte finale del corso.Risultati di apprendimento attesi: 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). |
Primo anno |
Secondo semestre |
6 |
ING-INF/05 |
|
1044414 - ADVANCED OPERATING SYSTEMS AND VIRTUALIZATION |
Il corso Advanced Operating Systems and Virtualization ha come obiettivo quello di presentare metodologie e tecniche avanzate alla base della progettazione e della realizzazione dei sistemi operativi moderni. Gli argomenti trattati vengono calati in studi di caso orientati ad architetture LINUX e processori x86 compatibili. La profonda conoscenza della struttura interna dei moderni sistemi operativi offerta dal corso costituira’ anche la base per analizzare argomenti relativi alla virtualizzazione delle macchine e dei sistemi operativi stessi. Come prerequisiti si elencano conoscenze di base sulla struttura e le funzionalita' dei sistemi operativi, conoscenze ed esperienze di programmazione in tecnologia C. |
Primo anno |
Secondo semestre |
6 |
ING-INF/05 |
|
1052057 - VISUAL ANALYTICS |
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. |
Primo anno |
Secondo semestre |
6 |
ING-INF/05 |
|
1044413 - PERVASIVE SYSTEMS |
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) |
Primo anno |
Secondo semestre |
6 |
ING-INF/05 |
|
1038137 - WEB INFORMATION RETRIEVAL |
Obiettivo del corso e' illustrare le metodologie e le teconologie per lo sviluppo dei motori di ricerca e piu' in generale della gestione dell'informazione nel web.Risultati di apprendimento attesi: Lo studente acquisisce le capacita' di progettare e sviluppare un sistema di information retrieval a larga scala e di affrontare le questioni fondamentali per il progetto di sistemi di motori di ricerca, sistemi di analisi e organizzazione di informazioni nel web e in applicazioni di reti sociali. |
Primo anno |
Secondo semestre |
6 |
ING-INF/05 |
|
1041706 - KNOWLEDGE REPRESENTATION AND SEMANTIC TECHNOLOGIES |
L'obiettivo del corso è di fornire una introduzione alla rappresentazione della conoscenza, con particolare attenzione riguardo ai linguaggi che sono il riferimento delle tecnologie semantiche attuali. In particolare, verranno analizzate le famiglie dei linguaggi di rappresentazione della conoscenza basate sul concetto di classe (class-based) e sul concetto di regola (rule-based), e verranno presentate le principali tecniche di ragionamento per tali linguaggi. Successivamente, verranno introdotte le tecnologie semantiche standard basate su tali formalismi di rappresentazione della conoscenza, in particolare i linguaggi RDF, OWL e RIF. Infine, verrà introdotto il concetto di azione e verranno presentate le principali forme di ragionamento su azioni. |
Primo anno |
Secondo semestre |
6 |
ING-INF/05 |
|
1038138 - DATA MINING |
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. |
Secondo anno |
Primo semestre |
6 |
ING-INF/05 |
|
1044410 - SYSTEM AND ENTERPRISE SECURITY |
Il corso introduce lo studente alle problematiche legate alla sicurezza dei sistemi informatici complessi. Dopo una prima parte dedicata alla definizione dei più comuni modelli di attacco, verranno analizzate le tecniche oggi in uso per per intrusion detection e intrusion tolerance. Una seconda parte sarà invece dedicata alla analisi delle moderne metodologie per la gestione della sicurezza e del rischio ad essa collegata in ambiente enterprise. |
Secondo anno |
Primo semestre |
6 |
ING-INF/05 |
|
1044402 - PROCESS AND SERVICE MODELING AND ANALYSIS |
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. |
Secondo anno |
Primo semestre |
6 |
ING-INF/05 |
|
1044406 - BIG DATA COMPUTING |
L'analisi di grandi volumi di dati è un compito che è diventato sempre più importante. Nuovi algoritmi e Architetture sono necessarie per processare le grandi moli di dati che saranno disponibili.
L'obiettivo di questo corso e' di familiarizzare con le tecniche algoritmiche e framework per l'elaborazione, l'analisi e aggregazione dei dati di grandi dimensioni. |
Secondo anno |
Primo semestre |
6 |
ING-INF/05 |
|
1044404 - WEB SECURITY AND PRIVACY |
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 sara’ 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 e analizzando benefici. Il corso inoltre fornisce le conoscenze per la protezione della privacy attuali. Saranno considerate le tecniche e gli strumenti realizzati per violare la privacy e per mantenere l’anonimato nelle transizioni economiche, nel rilascio di dati statisitici, nelle reti sociali. Saranno inoltre considerati gli aspetti economici e psicologici relativi all’utilizzo e alla cessione di dati sensibili e gli aspetti normativi relativi. |
Secondo anno |
Primo semestre |
6 |
ING-INF/05 |
|
1055061 - SECURITY GOVERNANCE |
|
Secondo anno |
Primo semestre |
6 |
ING-INF/05 |
|
1044408 - LARGE-SCALE DATA MANAGEMENT |
Diversi scenari applicativi richiedono di gestire grandi quantità di
dati, spesso collezionati da un gran numero di sorgenti, con formati
diversi e con grandi velocità di acquisizione. Questi scenari richiedono
nuovi principi e nuove tecnologie per la gestione di dati. Un primo
obiettivo di questo corso è lo studio di tecnologie per manipolare,
memorizzare e analizzare "big data". In particolare, ci concentreremo
sulle architetture per applicazione data-intensive distribuite, su
soluzione di Data Warehouse, su sistemi NoSQL, compresi "RDF and graph
database". Un secondo obiettivo è lo studio di principi e metodologie
per l'integrazione di dati a larga scala, che è uno di maggiori problemi
nei moderni sistemi informativi. |
Secondo anno |
Secondo semestre |
6 |
ING-INF/05 |
|
1044399 - DATA CENTERS AND HIGH PERFORMANCE COMPUTING |
Il corso Data Centers and High Performance Computing ha come obiettivo quello di presentare i concetti relativi alla strutturazione ed agli approcci di programmazione per sistemi “high-end”. La parte architetturale avra’ come obiettivo quello di introdurre le organizzazioni tipiche dei “data center” destinati ad ospitare applicazioni generiche (quali applicazioni web e di gestione dati) nonché i processi alla base della loro progettazione e conduzione. Particolare enfasi verra’ data alla relazione tra tale strutturazione ed il paradigma Cloud Computing. La parte orientata al calcolo ad alte prestazioni avra’ invece l’obiettivo di introdurre paradigmi per la programmazione orientati allo sfruttamento di architetture massivamente parallele. Nell’ambito del corso verranno affrontati anche aspetti relativi alla trasparenza del parallelismo e della distribuzione. |
Secondo anno |
Secondo semestre |
6 |
ING-INF/05 |
|
1047598 - SOCIAL NETWORKS AND ON-LINE MARKETS |
|
Secondo anno |
Secondo semestre |
6 |
ING-INF/05 |
|