Corso di laurea magistrale - Area di Scienze MM.FF.NN. - Accesso libero con verifica di requisiti e preparazione in ingresso - Classe LM-18 (D.M. 270/2004)
Lingua: Italiano
Informazioni generali
o Classe di Laurea: LM (D.M. 270/04)
o Tipologia di corso: Laurea Magistrale
o Durata: 2 anni
o Tipo di accesso: Accesso libero con verifica di requisiti e preparazione in ingresso
o Area di afferenza: Scienze Matematiche, Fisiche e Naturali
o Dipartimento: Ingegneria dell’Impresa Mario Lucertini
o Codice corso: J65
Descrizione e obiettivi formativi
Gli studenti acquisiscono una solida e ampia preparazione culturale rispetto ai fondamenti logico - matematici dell'Informatica; sono in grado di applicare con sicurezza il metodo scientifico; possiedono significative competenze di tipo matematico-computazionale e statistico; padroneggiano con sicurezza le metodologie di rappresentazione, gestione, trattamento e comunicazione dell'informazione tipiche dell'informatica; hanno specifiche capacità per l'analisi e modellazione di problemi complessi e per la loro soluzione attraverso metodi informatici e logico matematici; sono in grado di effettuare la pianificazione, la progettazione, lo sviluppo, la direzione di lavori, la stima, il collaudo e la gestione in sicurezza di impianti e sistemi complessi o innovativi per la generazione, la trasmissione e l'elaborazione delle informazioni.
Sbocchi professionali
Il laureato sarà in grado sia di individuare nuovi sviluppi teorici delle discipline informatiche e dei relativi campi di applicazione, sia di operare a livello progettuale e decisionale in tutte le aree dell'informatica, anche in contesti internazionali; svolgerà attività professionali in diversi ambiti, sia nella libera professione, che nell'impresa, nei servizi e nella pubblica amministrazione.
In particolare, al termine degli studi lo studente sarà in grado di ideare e di effettuare la pianificazione, la progettazione, lo sviluppo, la direzione dei lavori, la stima, il collaudo, la definizione delle infrastrutture applicative e di sicurezza su reti eterogenee e la gestione di impianti e sistemi complessi o innovativi per la generazione, la trasmissione, l'estrazione, la protezione, l'archiviazione digitale di documenti e la elaborazione delle informazioni, con specifico riferimento alle informazioni di carattere multimediale, anche quando implichino l'uso di metodologie avanzate innovative e sperimentali e quando i requisiti di sicurezza, privatezza e riservatezza siano prevalenti sugli altri aspetti tecnologici.
Condizione occupazionale (indicatori di efficacia e livello di soddisfazione dei laureandi):
http://statistiche.almalaurea.it/universita/statistiche/trasparenza?CODICIONE=0580207301900001
Valutazione della didattica - Studenti
Anno accademico precedente
Riferimenti web e contatti
Sito Web: http://www.informatica.uniroma2.it/index2.htm
Coordinatore del Corso: Prof. Roberto Basili
e-mail: basili@info.uniroma2.it
Segreteria didattica:
Sig. Francesco Stillitano (Dipartimento Ingegneria dell'Impresa)
tel.: +39 06 7259 7503
email: segreteriadidattica.informatica@uniroma2.it
Il Corso di Laurea Magistrale in Informatica non è ad accesso programmato.
Per essere ammessi al corso occorre essere in possesso della laurea o del diploma universitario di durata triennale, ovvero di un altro titolo di studio conseguito all'estero riconosciuto idoneo.
La natura interdisciplinare dell’informatica rende possibile anche a studenti che abbiano conseguito la laurea in altri settori di accedere alla laurea magistrale in Informatica, purché in possesso dei necessari requisiti, la cui sussistenza andrà verificata nei singoli casi. Le modalità di ammissione sono formulate nel Regolamento del Corso di Laurea Magistrale in Informatica disponibile sul sito web del corso di laurea: http://www.informatica.uniroma2.it/index2.htm
Il Corso di Laurea Magistrale in Informatica è caratterizzato da una marcata attività progettuale autonoma dello studente, al fine di svilupparne la capacità di giudizio e risoluzione dei problemi.
L'obiettivo specifico del corso di laurea magistrale è quello di formare figure professionali di alto livello che sappiano coniugare le conoscenze sui fondamenti della disciplina e le relative capacità metodologiche con le conoscenze e le capacita' necessarie alla progettazione di tecnologie innovative. Il laureato magistrale in Informatica dovra` acquisire una mentalita` aperta e flessibile predisposta alla risoluzione di problemi ed al rapido apprendimento di metodologie e tecnologie innovative.
Inoltre potra` accedere ad attivita` lavorative che richiedano la conoscenza del metodo scientifico.
Queste conoscenze e capacità non riguardano soltanto la disciplina informatica.
Un aspetto caratterizzante del corso di laurea' è infatti l' obiettivo di formare competenze e capacità fortemente interdisciplinari rispondendo così alle esigenze sia della ricerca più avanzata, sia del mercato del lavoro.
Il carattere pervasivo dell'informatica richiede infatti figure professionali capaci di applicarla in molteplici settori produttivi, e di comprenderne gli impatti in un più ampio contesto culturale, sociale ed economico. Il nucleo delle competenze e conoscenze acquisite corrisponde agli obiettivi generali della classe di laurea magistrale, cioè ai settori scientifico-disciplinari caratterizzanti INF/01 e ING-INF/05.
L'ampiezza di questi settori consente ricche possibilità di scelta, che saranno indirizzate ponendo particolare attenzione alle metodologie e tecnologie informatiche emergenti.
Il laureato magistrale estende e rafforza le conoscenze teoriche, metodologiche, sistemistiche e tecnologiche, in tutte le discipline che costituiscono gli elementi culturali fondamentali dell'informatica già presenti nel primo ciclo (laurea di classe L-31).
Il laureato magistrale sarà quindi in grado di ideare e di effettuare la pianificazione, la progettazione, lo sviluppo, la direzione lavori, la stima, il collaudo, la definizione delle infrastrutture applicative e di sicurezza su reti eterogenee e la gestione di impianti e sistemi complessi e/o innovativi per la generazione, la trasmissione, l'estrazione, la protezione, l'archiviazione digitale di documenti e l'elaborazione delle informazioni, con specifico riferimento alle informazioni di carattere multimediale, anche quando implichino l'uso di metodologie avanzate, innovative o sperimentali e quando i requisiti di sicurezza, privatezza e riservatezza siano prevalenti sugli altri aspetti tecnologici. Il corso potrà essere articolato in curricula funzionali a specifiche esigenze formative. Ai fini indicati, i curricula del corso di laurea magistrale della classe prevedono in misura e forma adeguate agli specifici obiettivi: lezioni ed esercitazioni di laboratorio oltre a congrue attività progettuali autonome e congrue attività individuali in laboratorio; in relazione a obiettivi specifici, attività esterne come tirocini formativi presso aziende, strutture della pubblica amministrazione e laboratori, oltre a soggiorni di studio presso altre università italiane ed europee, anche nel quadro di accordi internazionali.
La determinazione dei requisiti curriculari che devono essere posseduti per l'ammissione verranno indicati nel regolamento didattico del corso di studio.
Le modalità per la verifica della personale preparazione sono rimandate al regolamento didattico del corso di studio.
In particolare considerato che gli obiettivi formativi della classe stabiliscono che 'I laureati nei corsi di laurea magistrale della classe devono essere in grado di utilizzare fluentemente, in forma scritta e orale almeno una lingua dell'Unione Europea oltre l'italiano, con riferimento anche ai lessici disciplinari', viene richiesto come requisito di accesso la conoscenza della lingua inglese.
Corsi e test di conoscenza della lingua inglese sono erogati agli studenti che intendono iscriversi.
L'obiettivo specifico del corso di laurea magistrale è quello di formare figure professionali di alto livello che sappiano coniugare le conoscenze sui fondamenti della disciplina e le relative capacità metodologiche con le conoscenze e le capacità necessarie alla progettazione di tecnologie innovative. Il laureato magistrale in Informatica dovrà, a tal fine, acquisire una mentalità aperta e flessibile predisposta alla risoluzione di problemi ed al rapido apprendimento di metodologie e tecnologie innovative.
Inoltre, dovrà entrare in possesso di una adeguata capacità di utilizzo del metodo scientifico. Queste conoscenze e capacità non riguardano soltanto la disciplina informatica: un aspetto caratterizzante del corso di laurea è infatti l'obiettivo di formare competenze e capacità fortemente interdisciplinari, rispondendo così alle esigenze sia della ricerca più avanzata, sia del mercato del lavoro: il carattere pervasivo dell'informatica richiede infatti figure professionali capaci di applicarla in molteplici settori produttivi, e di comprenderne gli impatti in un più ampio contesto culturale, sociale ed economico. Il nucleo delle competenze e conoscenze acquisite corrisponde agli obiettivi generali della classe di laurea magistrale, cioè ai settori scientifico-disciplinari caratterizzanti INF/01 e ING-INF/05.
L'ampiezza di questi settori consente ricche possibilità di scelta, che saranno indirizzate ponendo particolare attenzione alle metodologie e tecnologie informatiche emergenti.
Il laureato magistrale estende e rafforza le conoscenze teoriche, metodologiche, sistemistiche e tecnologiche, in tutte le discipline che costituiscono gli elementi culturali fondamentali dell'informatica già presenti nel primo ciclo (laurea di classe L-31). Il Corso di Laurea Magistrale in Informatica è inoltre caratterizzato da una marcata attività progettuale autonoma dello studente, stimolata dai diversi Corsi previsti verso domini diverse delle copetenze.
Questo consente allo studente di rafforzare le sue capacità realizzative ed al contempo di svilupparne la capacità di giudizio e di risoluzione di problemi. Dall'anno accedemico 2022-23 è stato lanciata la Scuola di Dottorato di Ateneo in 'Data Science' iniziativa che si considera decisiva per un consolidamento della capacità attrattiva del Corso di Laurea Magistrale in Informatica in grado di fornire con il Titolo di Dottore di Ricerca in 'Data Science' l'ulteriore passo di specializzazione ambito dagli studenti di Magistrale.
PARTE 1 - INTRODUZIONE Produzione industriale del software. Paradigmi di produzione: build&fix, waterfall, rapid prototyping, incremental, spiral. PARTE 2 - FASI DEL PROCESSO SOFTWARE Requisiti, specifica, progetto preliminare, progetto dettagliato, realizzazione, integrazione, uso e manutenzione. Qualità e fattori di qualità. PARTE 3 - TECNOLOGIE E STRUMENTI DI PRODUZIONE SOFTWARE Tecnologie per sistemi ad oggetti e componenti, tecnologie basate su architetture orientate ai servizi per sistemi eterogenei ed interoperabili. Strumenti di produzione, supporti alla notazione, specifica, progetto e documentazione di prodotti e servizi software. Model-driven Engineering (MDE) e approccio MDE basato su Model Driven Architecture (MDA). Standard MDA (MOF, XMI, etc.). Cenni su linguaggi e strumenti di model transformation (QVT, ATL, etc.).
Il corso fornisce un’introduzione alla costruzione ed alle proprietà delle funzioni spline nonché al loro utilizzo nell’ambito della grafica computerizzata, della progettazione del trattamento numerico di equazioni differenziali alle derivate parziali. Argomenti: Polinomi di Bernstein e curve di Bézier. B-spline: costruzione, proprietà analitiche e geometriche. Totale positività e sue conseguenze. Curve e superfici B-spline. Curve e superfici NURBS. Proprietà di approssimazione di spazi spline. Trattamento di problemi ellittici multidimensionali: fondamenti del metodo degli elementi finiti e dell'analisi isogeometrica
Richiami di statistica bayesiana e apprendimento bayesiano Modelli grafici e reti bayesiane Supervised learning Regressione (lineare e non) e regolarizzazione Feature selection, cenni Classificazione lineare: LDA di Fisher, perceptron Naive bayes Modelli generativi per la classificazione Modelli discriminativi per la classificazione, regressione logistica Support vector machines, kernel Multilayer perceptron Modelli non parametrici: knn e Parzen windows Processi gaussiani Alberi di decisione Ensemble models: bagging, boosting, random forests, Adaboost, Gradient boosting Unsupervised learning Clustering: k-means, mixture models Dimensionality reduction: Principal component analysis, Probabilistic principal component analysis, Factor analysis Testo, pair matrices e recommenders Latent semantic analysis Deep learning Convolutional networks Recurrent e LSTM networks
PROGRAMMA sul quale si svolge l'orale Processo di Poisson: perdita di memoria, merging e splitting, la coda M/G/infinito, il processo di Poisson e la distribuzione uniforme. Processi di Poisson non stazionari. processi di rinnovo: comportamento asintotico della funzione di rinnovo e del tempo di vita residua, la funzione tasso di rischio. Catene di Markov a tempo continuo: funzione di transizione e tassi di salto, catene di nascita e morte, misura invariante
- Introduzione e la sfida delle macchine parlanti - Il Linguaggio: modelli e teorie linguistiche - Modelli Linguistici e Sistemi - Come determinare che un modello è corretto e un sistema è efficace: inter-annotation agreement e statistical significance - Automi a stati finiti e trasduttori per la morfologia (appunti per la lezione): software Xerox Finite State Transducers - Elaborazione sintattica con le grammatiche context-free - Parsing con le grammatiche context-free - Feature Structures e Unificazione - Tree Adjoining Grammars - Modular and Lexicalized Parsing - Probabilistic context-free grammar - Semantica - Rappresentazione semantica simbolica: Introduzione a WordNet e FrameNet - Lambda Calcolo per la semantica del linguaggio naturale - Rappresentazione semantica distribuzionale - Textual Entailment Recognition - Cenni di Rappresentazione Simbolica Distribuita per Reti Neurali
- Il paradigma della simulazione centralizzata - Il paradigma della simulazione parallela - Il paradigma della simulazione distribuita - Distribuzione in rete locale e rete geografica - Middleware per la simulazione distribuita: High Level Architecture (HLA) - Progetto e Sviluppo di sistemi di simulazione distribuita in Java e HLA
PART 1 – INTRODUZIONE A SYSTEMS ENGINEERING Concetti di base di systems engineering. Modelli di ciclo di vita: waterfall, incremental, spiral. PART 2 – MODEL-BASED SYSTEMS ENGINEERING Modellazione di sistemi e linguaggi di modellazione (UML, SysML, BPMN, etc.). Applicazione allo sviluppo di sistemi software-intensive. PART 3 – MODEL-DRIVEN ENGINEERING Model-driven Engineering (MDE) e approccio MDE basato su Model Driven Architecture (MDA). Standard MDA (MOF, XMI, etc.). Linguaggi e strumenti di model transformation (QVT, ATL, etc.).
Contenuti (programma) del corso: Il corso fornisce gli elementi per comprendere i nuovi paradigmi economici e tecnologici alla base della trasformazione digitale del mondo del lavoro e della società. Inoltre, introduce le problematiche concorrenziali che spingono a regolamentare alcuni settori e delinea i principali principi della regolamentazione. In particolare, il corso coprirà i seguenti argomenti: • Elementi su grafi e reti • Introduzione alle reti sociali e infrastrutturali • Economia delle reti • Internet e economia • Informazione, mercati e folla • Economia della condivisione • Internet degli oggetti e Big data
- model-driven engineering (MDE) - approccio MDE basato su model-driven architecture (MDA) e relativi standard (MOF, XMI, etc.) - linguaggi e strumenti di model transformation - model-driven quality management
Programma 1° parte Macci Richiami di probabilita' elementare Calcoli con densita' congiunte discrete, continue e miste Trasformazioni invertibili di variabili aleatorie continue Distribuzioni Normali multivariate Statistica Classica e Bayesiana: statistiche sufficienti e stimatori per ciascuna impostazione Famiglie coniugate in Statistica Bayesiana Esempi di modelli statistici di uso comune 2° parte Dimitri Dipendenza probabilistica, probabilità condizionalità Varianza e decomposizione per condizionamento Entropia e decomposizione per condizionamento Causalità Verosimiglianza Teorema di Bayes La costruzione di un modello di apprendimento Le reti bayesiane : definizione ed esempi Inferenza attraverso le reti bayesiane Apprendimento di una rete bayesiana
Introduzione al problema dell'Information Retrieval Definizione della nozione di Inverted Indices Costruzione di Indici per l'Information Retrieval Algoritmi per la codifica e compressione dell'Informazione Funzione di Ranking documentale Introduzione al Vector Space Model Modello Probabilistici per l'Information Retrieval Valutazione dei Sistemi di IR Sviluppo efficiente e su larga scala di sistemi di IR Crawling e Detection di risorse duplicate Introduzione a Lucene/SOLR Introduzione a Map Reduce Modelli avanzati di Retrieval (Modello 2-Poisson, Dirichlet Language Model)
• Il modello elementare di una transazione tra due attori in rete • La complessità del controllo delle transazioni • I metodi di gestione delle anomalie • Modelli a terza parte ◦ L’uso di una terza parte passiva ◦ L’uso di una terza parte attiva sulla rete ◦ L’uso di una terza parte in un modello seriale (A TerzaParte B) ◦ L’uso di una terza parte in un modello triangolare (AB, A Terza parte, B Terza parte) • Il modello a Y nel WEB • Autenticazione e Autorizzazione nei sistemi complessi multiorganizzazione. • Uso della soluzione infrastrutturale VA • Blockchain e ledger distribuiti • I sistemi di criptovaluta • Le blockchain permissioned (hyperledger groupd) • Smart contract • Modello di funzionamento della blockchain Ethereum • Modello di funzionamento del ledger distribuito Hyperledger Fabric
- Modelli di computazione distribuiti: paradigmi, algoritmi, misure di complessità, comunicazione - Un processo epidemico: Il Broadcast e l'Information Spreading - Il problema del Wake-Up - Il problema dello Spanning Tree - Il problema del Leader Election - Il Modello Wireless: il fenomeno delle collisioni
- Introduzione alla sicurezza informatica (Ethical Hacking, Pentest, Defense) - modelli di attacco e minaccia, Kill chain, minacce persistenti avanzate (APTs) - Strumenti e best practice (Kali Linux) - Metasploit Framework - Information gathering: strumenti attivi e passivi - Vulnerabiltà e strumenti per Scanning - Test di penetrazione e valutazione della vulnerabilità - Vulnerabilità nell'autenticazione e Cracking delle password - Exploitation e penetrazione in reti fisse e reti wireless - Analisi di sicurezza di applicazioni web (sia frontend che backend) - database exploitation - Linux exploitation - Windows exploitation - Reverse engineering e cracking - Analisi di codice binario (e sfruttamento di stack e heap) - Privilege Escalation and Pivoting - Progettazione e scrittura di exploit personalizzati - Gestione degli incidenti (Post Exploitation e mantenimento dell'accesso) - Nozioni di base di analisi forense
1. Prerequisiti. Spazi di Banach, duale e topologia forte, debole e *-debole. Principio dell’uniforme limitatezza. Funzioni analitiche a valori spazi di Banach. Teorema di Tychonoff. Teorema di Alaoglu. 2. Algebre di Banach. Insieme risolvente e spettro di un elemento. Teorema di Mazur. Analicità del risolvente. Lo spettro di un elemento è compatto non-vuoto. Analiticità del risolvente e seie di Neumann. Formula del raggio spettrale. 3. Algebre di Banach commutative. Ideali massimali. Caratteri e spettro di un’algebra di Banach commutative. Caso di un’algebra con identità generata da un element o da un numero finito di elementi, spettro congiunto. Teorema dello spectral mapping per polinomi. Spettro di un elemento in una sottoalgebra abeliana massimale o minimale. 4. Calcolo funzionale analitico. Teorema dello spectral mapping per funzioni analitiche. Caso di spettro disconnnesso. Perturbazioni dello spettro, semicontinuità inferiore, esempi. Pertubazioni di proiettori. 5. Trasformazione di Gelfand. Elementi nilpotenti generalizzati. Caso dell’algebra l1(Z). Teorema dello spectral mapping per funzioni analitiche. 6. Algebre C*. Algebre involutive e norme C*. Lo spettro di un elemento autoaggiunto è reale; il raggio spettrale coincide con la norma. Lo spettro non dipende dalla sottoalgebra. 7. C*-algebre commutative. Teorema di Gelfand-Naimark. Calcolo funzionale continuo. La categoria delle C*-algebre abeliane con identità è duale alla categoria degli spazi compatti di Haudorff. 8. Calcolo funzionale Boreliano. Il teorema spettrale per operatori autoaggiunti su uno spazio di Hilbert. Misure basiche e calcolo funzionale L∞. 9. Algebre di von Neumann. Teoremi di densità di von Neumann e di Kaplanski. Topologia debole e forte. Compattezza debole della palla unitaria. Algebre abeliane massimali e loro caratterizzazione su uno spazio di Hilbert separabile. 10. Stati e rappresentazioni di una C*-algebra. Elementi positive, estensione di stati. La rappresentazione GNS. Caso dell’algebra C(X). Operatori di allacciamento, sotto-rappresentzaioni, rappresentazioni equivalenti e rappresentzioni disgiunte. Caso commutativo. 11. Il teorema di molteplicità spettrale. Rappresentazioni cicliche e rappresentazioni senza molteplicità (spazio di Hilbert separabile) di una C*-algebra abeliana. Classificazione degli operatori autoggiunti (o di rappresentazioni di una C*-algebra abeliana) su uno spazio di Hilbert separabile. 12. Operatori illimitati. Operatori chiusi, chiudibili, aggiunti. Operatori simmetrici e autoaggiunti. Estensione di operatori simmetrici e trasformata di Cayley. Il problema dei momenti.
Programma 1. Modellizzazione dei sistemi: rappresentazione con automi a stati finiti; 2. Modellizzazione di proprietà di sistemi: logica temporale; 3. Tecniche di model checking esplicito; 4. Tecniche di model checking simbolico.
Distributed ledger e Blockchain: definizioni L'eliminazione degli intermediari (zecca) Ledger permissioned e Unpermissioned Database distribuiti vs ledger distribuiti Il consenso e il problema dei generali bizantini il modello Bitcoin Il modello Hyperledger Esercitazioni e laboratorio Proof of Work e altre soluzioni per la sincronizzazione Struttura collegata di una blockchain Aggiunta di una transazione a una blockchain Un esempio di realizzazione di una criptovaluta microtransazioni: aspetti progettuali e criticità
Preliminari algebrici. Topologia di Zariski nello spazio affine e proiettivo. Teoremi degli zeri di Hilbert (forma debole e forte) caso affine e proiettivo. Varietà algebriche. Funzioni regolari e razionali. Morfismi ed applicazioni razionali. Prodotti. Scoppiamenti. Teorema fondamentale dell'eliminazione ed applicazioni. Applicazioni birazionali. Spazi tangenti.
Introduzione ai dati aperti. I 5 livelli di qualità dei dati aperti fissati dalla W3C. Licenze sui dati: licenze libere/aperte. Dati, metadati, vocabolari dei dati, ontologie, tesauri: ambiguità terminologiche in uno scenario inerentemente intersettoriale. Il valore economico dei dati. Open Data per il dominio dei Patrimoni Culturali. Il Web Semantico: una introduzione. Il Web Semantico e gli Open Data: Linked Open Data e il Web. Modelli dei dati e della conoscenza per il Web. Multilingualità e diffusione: aspetti denotazionali, proprietà terminologiche e modelli di lessico avanzato. Interazione lessico-semantica. SPARQL: un linguaggio di interrogazione dei dati RDF & assieme un protocollo di accesso ai dati aperti Metadati: importanza dei metadata e nel loro ruolo per l’autonomia delle macchine nel web LOD Cloud: la “nuvola” dei Linked Open Data nel Web, un bootstrap del Semantic Web, ma anche una contraddizione in essere Dataset repositories e portali; Tecnologie per i Linked Open Data: Triple stores. RDF API & Middleware. Ontology Editors, Thesauri Editors, differenti paradigmi e dimensioni d’uso ETL in chiave RDF: triplificazione di sorgenti legacy e/o non strutturate. Pubblicazione dei dati aperti: standard & best practices
1) Modelli generativi di grafi aleatori e loro rilevanza nella rappresentazione di reti: modello di Erdos-Renyi, modello basato sul fenomeno rich-get-richer (popolarità come effetto rete), grafi geometrici aleatori, modelli per lo Small-world e ricerca decentralizzata (modelli e analisi). 2) Teoria dei grafi e delle reti sociali: chiusura triadica, collegamenti forti e deboli, comunità, partizionamenti in comunità, indici di centralità e metodo di Girvan-Newman. 3) Dinamiche nelle reti: modelli di diffusione, cascate e cluster, capacità di cascata, herding e cascate informative 4) Comportamento aggregato e sistemi di voto. 5) Reti di Informazione: il World Wide Web, Link analysis e ricerca nel Web, il problema del Ranking, Hubs e Authorities, il PageRank.
1. Problemi classici di consenso. Sistemi distribuiti fault-tolerant: modelli avversariali e sincroni. Teorema FLP di impossibilità del consenso asincrono. Teorema CAP. 2. Preliminari di crittografia e reti. Funzioni Hash crittografiche. Schemi di firma digitale. Curve ellittiche e crittografia. Reti P2P e e la rete Internet. 3. Consenso "permissionless" e Bitcoin. Consistenza finale e il protocollo di consenso di Nakamoto. Decentralizzazione, mining, proof-of-work, regolazione della difficoltà. La struttura dei blocchi, alberi di Merkle, UTXOs. Il linguaggio di scripting di Bitcoin. Malleabilità delle transazioni. Sicurezza e privacy di Bitcoin. I Fork e gli Altcoin. 4. I protocolli di secondo livello. Rendere Bitcoin scalabile e la rete Lightning. Canali di pagamento e gli contratti Hash Time-Locked. Routing sulla rete Lightning. Onion routing. Sicurezza e privacy della rete Lightning.
Polinomi di Bernoulli, formula di Eulero-Maclaurin, metodi numerici per il calcolo degli autovalori e degli autovettori di matrici, metodo delle potenze, teoria di Perron-Frobenius, l'importanza dei nodi nei grafi orientati (page-rank), metodi di tipo differenze finite per la risoluzione di problemi differenziali e/o migliore approssimazione di una matrice in algebre di bassa complessita'.
PARTE 1 - INTRODUZIONE Produzione industriale del software. Paradigmi di produzione: build&fix, waterfall, rapid prototyping, incremental, spiral. PARTE 2 - FASI DEL PROCESSO SOFTWARE Requisiti, specifica, progetto preliminare, progetto dettagliato, realizzazione, integrazione, uso e manutenzione. Qualità e fattori di qualità. PARTE 3 - TECNOLOGIE E STRUMENTI DI PRODUZIONE SOFTWARE Tecnologie per sistemi ad oggetti e componenti, tecnologie basate su architetture orientate ai servizi per sistemi eterogenei ed interoperabili. Strumenti di produzione, supporti alla notazione, specifica, progetto e documentazione di prodotti e servizi software. Model-driven Engineering (MDE) e approccio MDE basato su Model Driven Architecture (MDA). Standard MDA (MOF, XMI, etc.). Cenni su linguaggi e strumenti di model transformation (QVT, ATL, etc.).
Il corso fornisce un’introduzione alla costruzione ed alle proprietà delle funzioni spline nonché al loro utilizzo nell’ambito della grafica computerizzata, della progettazione del trattamento numerico di equazioni differenziali alle derivate parziali. Argomenti: Polinomi di Bernstein e curve di Bézier. B-spline: costruzione, proprietà analitiche e geometriche. Totale positività e sue conseguenze. Curve e superfici B-spline. Curve e superfici NURBS. Proprietà di approssimazione di spazi spline. Trattamento di problemi ellittici multidimensionali: fondamenti del metodo degli elementi finiti e dell'analisi isogeometrica
- model-driven engineering (MDE) - approccio MDE basato su model-driven architecture (MDA) e relativi standard (MOF, XMI, etc.) - linguaggi e strumenti di model transformation - model-driven quality management
Richiami di statistica bayesiana e apprendimento bayesiano Modelli grafici e reti bayesiane Supervised learning Regressione (lineare e non) e regolarizzazione Feature selection, cenni Classificazione lineare: LDA di Fisher, perceptron Naive bayes Modelli generativi per la classificazione Modelli discriminativi per la classificazione, regressione logistica Support vector machines, kernel Multilayer perceptron Modelli non parametrici: knn e Parzen windows Processi gaussiani Alberi di decisione Ensemble models: bagging, boosting, random forests, Adaboost, Gradient boosting Unsupervised learning Clustering: k-means, mixture models Dimensionality reduction: Principal component analysis, Probabilistic principal component analysis, Factor analysis Testo, pair matrices e recommenders Latent semantic analysis Deep learning Convolutional networks Recurrent e LSTM networks
- Il paradigma della simulazione centralizzata - Il paradigma della simulazione parallela - Il paradigma della simulazione distribuita - Distribuzione in rete locale e rete geografica - Middleware per la simulazione distribuita: High Level Architecture (HLA) - Progetto e Sviluppo di sistemi di simulazione distribuita in Java e HLA
- Introduzione e la sfida delle macchine parlanti - Il Linguaggio: modelli e teorie linguistiche - Modelli Linguistici e Sistemi - Come determinare che un modello è corretto e un sistema è efficace: inter-annotation agreement e statistical significance - Automi a stati finiti e trasduttori per la morfologia (appunti per la lezione): software Xerox Finite State Transducers - Elaborazione sintattica con le grammatiche context-free - Parsing con le grammatiche context-free - Feature Structures e Unificazione - Tree Adjoining Grammars - Modular and Lexicalized Parsing - Probabilistic context-free grammar - Semantica - Rappresentazione semantica simbolica: Introduzione a WordNet e FrameNet - Lambda Calcolo per la semantica del linguaggio naturale - Rappresentazione semantica distribuzionale - Textual Entailment Recognition - Cenni di Rappresentazione Simbolica Distribuita per Reti Neurali
General introduction to the network access alternatives. Ethernet basics and Switched Ethernet IP over Ethernet, ARP and DHCP Wireless access: IEEE 802.11 Software Defined Networking and Network Function Virtualization Routing algorithms (Dijkstra, Bellman-Ford). Routing protocols classification. RIP, OSPF, BGP. PCM numerical multiplexing. PDH and SDH transport networks. Evolution of wide area data connection oriented transport technologies. IP transportation on the network backbones MPLS technology, Segment Routing. Voice over IP transport. Voice over IP signaling. SIP: Architecture and protocol. Audio flow transportation: brief notes about audio codecs (G.711, G.723, iLBC), RTP protocol.
PROGRAMMA sul quale si svolge l'orale Processo di Poisson: perdita di memoria, merging e splitting, la coda M/G/infinito, il processo di Poisson e la distribuzione uniforme. Processi di Poisson non stazionari. processi di rinnovo: comportamento asintotico della funzione di rinnovo e del tempo di vita residua, la funzione tasso di rischio. Catene di Markov a tempo continuo: funzione di transizione e tassi di salto, catene di nascita e morte, misura invariante
Contenuti (programma) del corso: Il corso fornisce gli elementi per comprendere i nuovi paradigmi economici e tecnologici alla base della trasformazione digitale del mondo del lavoro e della società. Inoltre, introduce le problematiche concorrenziali che spingono a regolamentare alcuni settori e delinea i principali principi della regolamentazione. In particolare, il corso coprirà i seguenti argomenti: • Elementi su grafi e reti • Introduzione alle reti sociali e infrastrutturali • Economia delle reti • Internet e economia • Informazione, mercati e folla • Economia della condivisione • Internet degli oggetti e Big data
• Il modello elementare di una transazione tra due attori in rete • La complessità del controllo delle transazioni • I metodi di gestione delle anomalie • Modelli a terza parte ◦ L’uso di una terza parte passiva ◦ L’uso di una terza parte attiva sulla rete ◦ L’uso di una terza parte in un modello seriale (A TerzaParte B) ◦ L’uso di una terza parte in un modello triangolare (AB, A Terza parte, B Terza parte) • Il modello a Y nel WEB • Autenticazione e Autorizzazione nei sistemi complessi multiorganizzazione. • Uso della soluzione infrastrutturale VA • Blockchain e ledger distribuiti • I sistemi di criptovaluta • Le blockchain permissioned (hyperledger groupd) • Smart contract • Modello di funzionamento della blockchain Ethereum • Modello di funzionamento del ledger distribuito Hyperledger Fabric
Polinomi di Bernoulli, formula di Eulero-Maclaurin, metodi numerici per il calcolo degli autovalori e degli autovettori di matrici, metodo delle potenze, teoria di Perron-Frobenius, l'importanza dei nodi nei grafi orientati (page-rank), metodi di tipo differenze finite per la risoluzione di problemi differenziali e/o migliore approssimazione di una matrice in algebre di bassa complessita'.
1. Prerequisiti. Spazi di Banach, duale e topologia forte, debole e *-debole. Principio dell’uniforme limitatezza. Funzioni analitiche a valori spazi di Banach. Teorema di Tychonoff. Teorema di Alaoglu. 2. Algebre di Banach. Insieme risolvente e spettro di un elemento. Teorema di Mazur. Analicità del risolvente. Lo spettro di un elemento è compatto non-vuoto. Analiticità del risolvente e seie di Neumann. Formula del raggio spettrale. 3. Algebre di Banach commutative. Ideali massimali. Caratteri e spettro di un’algebra di Banach commutative. Caso di un’algebra con identità generata da un element o da un numero finito di elementi, spettro congiunto. Teorema dello spectral mapping per polinomi. Spettro di un elemento in una sottoalgebra abeliana massimale o minimale. 4. Calcolo funzionale analitico. Teorema dello spectral mapping per funzioni analitiche. Caso di spettro disconnnesso. Perturbazioni dello spettro, semicontinuità inferiore, esempi. Pertubazioni di proiettori. 5. Trasformazione di Gelfand. Elementi nilpotenti generalizzati. Caso dell’algebra l1(Z). Teorema dello spectral mapping per funzioni analitiche. 6. Algebre C*. Algebre involutive e norme C*. Lo spettro di un elemento autoaggiunto è reale; il raggio spettrale coincide con la norma. Lo spettro non dipende dalla sottoalgebra. 7. C*-algebre commutative. Teorema di Gelfand-Naimark. Calcolo funzionale continuo. La categoria delle C*-algebre abeliane con identità è duale alla categoria degli spazi compatti di Haudorff. 8. Calcolo funzionale Boreliano. Il teorema spettrale per operatori autoaggiunti su uno spazio di Hilbert. Misure basiche e calcolo funzionale L∞. 9. Algebre di von Neumann. Teoremi di densità di von Neumann e di Kaplanski. Topologia debole e forte. Compattezza debole della palla unitaria. Algebre abeliane massimali e loro caratterizzazione su uno spazio di Hilbert separabile. 10. Stati e rappresentazioni di una C*-algebra. Elementi positive, estensione di stati. La rappresentazione GNS. Caso dell’algebra C(X). Operatori di allacciamento, sotto-rappresentzaioni, rappresentazioni equivalenti e rappresentzioni disgiunte. Caso commutativo. 11. Il teorema di molteplicità spettrale. Rappresentazioni cicliche e rappresentazioni senza molteplicità (spazio di Hilbert separabile) di una C*-algebra abeliana. Classificazione degli operatori autoggiunti (o di rappresentazioni di una C*-algebra abeliana) su uno spazio di Hilbert separabile. 12. Operatori illimitati. Operatori chiusi, chiudibili, aggiunti. Operatori simmetrici e autoaggiunti. Estensione di operatori simmetrici e trasformata di Cayley. Il problema dei momenti.
1. Problemi classici di consenso. Sistemi distribuiti fault-tolerant: modelli avversariali e sincroni. Teorema FLP di impossibilità del consenso asincrono. Teorema CAP. 2. Preliminari di crittografia e reti. Funzioni Hash crittografiche. Schemi di firma digitale. Curve ellittiche e crittografia. Reti P2P e e la rete Internet. 3. Consenso "permissionless" e Bitcoin. Consistenza finale e il protocollo di consenso di Nakamoto. Decentralizzazione, mining, proof-of-work, regolazione della difficoltà. La struttura dei blocchi, alberi di Merkle, UTXOs. Il linguaggio di scripting di Bitcoin. Malleabilità delle transazioni. Sicurezza e privacy di Bitcoin. I Fork e gli Altcoin. 4. I protocolli di secondo livello. Rendere Bitcoin scalabile e la rete Lightning. Canali di pagamento e gli contratti Hash Time-Locked. Routing sulla rete Lightning. Onion routing. Sicurezza e privacy della rete Lightning.
Programma 1° parte Macci Richiami di probabilita' elementare Calcoli con densita' congiunte discrete, continue e miste Trasformazioni invertibili di variabili aleatorie continue Distribuzioni Normali multivariate Statistica Classica e Bayesiana: statistiche sufficienti e stimatori per ciascuna impostazione Famiglie coniugate in Statistica Bayesiana Esempi di modelli statistici di uso comune 2° parte Dimitri Dipendenza probabilistica, probabilità condizionalità Varianza e decomposizione per condizionamento Entropia e decomposizione per condizionamento Causalità Verosimiglianza Teorema di Bayes La costruzione di un modello di apprendimento Le reti bayesiane : definizione ed esempi Inferenza attraverso le reti bayesiane Apprendimento di una rete bayesiana
Programma 1. Modellizzazione dei sistemi: rappresentazione con automi a stati finiti; 2. Modellizzazione di proprietà di sistemi: logica temporale; 3. Tecniche di model checking esplicito; 4. Tecniche di model checking simbolico.
Distributed ledger e Blockchain: definizioni L'eliminazione degli intermediari (zecca) Ledger permissioned e Unpermissioned Database distribuiti vs ledger distribuiti Il consenso e il problema dei generali bizantini il modello Bitcoin Il modello Hyperledger Esercitazioni e laboratorio Proof of Work e altre soluzioni per la sincronizzazione Struttura collegata di una blockchain Aggiunta di una transazione a una blockchain Un esempio di realizzazione di una criptovaluta microtransazioni: aspetti progettuali e criticità
PART 1 – INTRODUZIONE A SYSTEMS ENGINEERING Concetti di base di systems engineering. Modelli di ciclo di vita: waterfall, incremental, spiral. PART 2 – MODEL-BASED SYSTEMS ENGINEERING Modellazione di sistemi e linguaggi di modellazione (UML, SysML, BPMN, etc.). Applicazione allo sviluppo di sistemi software-intensive. PART 3 – MODEL-DRIVEN ENGINEERING Model-driven Engineering (MDE) e approccio MDE basato su Model Driven Architecture (MDA). Standard MDA (MOF, XMI, etc.). Linguaggi e strumenti di model transformation (QVT, ATL, etc.).
Introduzione ai dati aperti. I 5 livelli di qualità dei dati aperti fissati dalla W3C. Licenze sui dati: licenze libere/aperte. Dati, metadati, vocabolari dei dati, ontologie, tesauri: ambiguità terminologiche in uno scenario inerentemente intersettoriale. Il valore economico dei dati. Open Data per il dominio dei Patrimoni Culturali. Il Web Semantico: una introduzione. Il Web Semantico e gli Open Data: Linked Open Data e il Web. Modelli dei dati e della conoscenza per il Web. Multilingualità e diffusione: aspetti denotazionali, proprietà terminologiche e modelli di lessico avanzato. Interazione lessico-semantica. SPARQL: un linguaggio di interrogazione dei dati RDF & assieme un protocollo di accesso ai dati aperti Metadati: importanza dei metadata e nel loro ruolo per l’autonomia delle macchine nel web LOD Cloud: la “nuvola” dei Linked Open Data nel Web, un bootstrap del Semantic Web, ma anche una contraddizione in essere Dataset repositories e portali; Tecnologie per i Linked Open Data: Triple stores. RDF API & Middleware. Ontology Editors, Thesauri Editors, differenti paradigmi e dimensioni d’uso ETL in chiave RDF: triplificazione di sorgenti legacy e/o non strutturate. Pubblicazione dei dati aperti: standard & best practices
1) Modelli generativi di grafi aleatori e loro rilevanza nella rappresentazione di reti: modello di Erdos-Renyi, modello basato sul fenomeno rich-get-richer (popolarità come effetto rete), grafi geometrici aleatori, modelli per lo Small-world e ricerca decentralizzata (modelli e analisi). 2) Teoria dei grafi e delle reti sociali: chiusura triadica, collegamenti forti e deboli, comunità, partizionamenti in comunità, indici di centralità e metodo di Girvan-Newman. 3) Dinamiche nelle reti: modelli di diffusione, cascate e cluster, capacità di cascata, herding e cascate informative 4) Comportamento aggregato e sistemi di voto. 5) Reti di Informazione: il World Wide Web, Link analysis e ricerca nel Web, il problema del Ranking, Hubs e Authorities, il PageRank.
- Modelli di computazione distribuiti: paradigmi, algoritmi, misure di complessità, comunicazione - Un processo epidemico: Il Broadcast e l'Information Spreading - Il problema del Wake-Up - Il problema dello Spanning Tree - Il problema del Leader Election - Il Modello Wireless: il fenomeno delle collisioni
Introduzione al problema dell'Information Retrieval Definizione della nozione di Inverted Indices Costruzione di Indici per l'Information Retrieval Algoritmi per la codifica e compressione dell'Informazione Funzione di Ranking documentale Introduzione al Vector Space Model Modello Probabilistici per l'Information Retrieval Valutazione dei Sistemi di IR Sviluppo efficiente e su larga scala di sistemi di IR Crawling e Detection di risorse duplicate Introduzione a Lucene/SOLR Introduzione a Map Reduce Modelli avanzati di Retrieval (Modello 2-Poisson, Dirichlet Language Model)
- Introduzione alla sicurezza informatica (Ethical Hacking, Pentest, Defense) - modelli di attacco e minaccia, Kill chain, minacce persistenti avanzate (APTs) - Strumenti e best practice (Kali Linux) - Metasploit Framework - Information gathering: strumenti attivi e passivi - Vulnerabiltà e strumenti per Scanning - Test di penetrazione e valutazione della vulnerabilità - Vulnerabilità nell'autenticazione e Cracking delle password - Exploitation e penetrazione in reti fisse e reti wireless - Analisi di sicurezza di applicazioni web (sia frontend che backend) - database exploitation - Linux exploitation - Windows exploitation - Reverse engineering e cracking - Analisi di codice binario (e sfruttamento di stack e heap) - Privilege Escalation and Pivoting - Progettazione e scrittura di exploit personalizzati - Gestione degli incidenti (Post Exploitation e mantenimento dell'accesso) - Nozioni di base di analisi forense
Preliminari algebrici. Topologia di Zariski nello spazio affine e proiettivo. Teoremi degli zeri di Hilbert (forma debole e forte) caso affine e proiettivo. Varietà algebriche. Funzioni regolari e razionali. Morfismi ed applicazioni razionali. Prodotti. Scoppiamenti. Teorema fondamentale dell'eliminazione ed applicazioni. Applicazioni birazionali. Spazi tangenti.