Vinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.x

NETWORK SECURITY

SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/05

 

LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA

ANNO ACCADEMICO: 2022-2023

 

INFORMAZIONI GENERALI - DOCENTE

DOCENTE: PROF. SIMON PIETRO ROMANO
TELEFONO: +39 081 7683823
EMAIL: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

 

INFORMAZIONI GENERALI - ATTIVITÀ

INSEGNAMENTO INTEGRATO (EVENTUALE): 
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): II
SEMESTRE (I, II): I
CFU: 6

 

INSEGNAMENTI PROPEDEUTICI

(se previsti dall'Ordinamento del CdS)

...................................................................................................................................................

 

EVENTUALI PREREQUISITI

...................................................................................................................................................

 

OBIETTIVI FORMATIVI

Scopo del corso è quello di fornire agli studenti nozioni avanzate nel campo della sicurezza di rete. Gli studenti acquisiranno familiarità con i più noti meccanismi di sicurezza, nonché con le tecniche di mitigazione degli attacchi informatici, concentrandosi sulle soluzioni disponibili ai vari livelli dello stack protocollare di rete, dallo strato fisico a quello applicativo.
Il corso fa leva su alcuni dei concetti trattati nel corso di “Secure Systems Design”, con particolare riferimento alla crittografia simmetrica, alla confidenzialità dei messaggi, alla crittografia a chiave pubblica ed alla autenticazione. D’altro canto, esso introduce alcuni degli argomenti che costituiscono il nucleo del corso di “Software Security”, quali, ad esempio, gli attacchi di tipo “buffer overflow” e le tecniche di fuzzing.

 

RISULTATI DI APPRENDIMENTO ATTESI

(Descrittori di Dublino)

Alla fine del corso, gli studenti saranno in grado di dimostrare conoscenze avanzate nel campo della sicurezza di rete. Essi avranno un’idea chiara della catena vulnerabilità-minaccia-attacco e saranno capaci di progettare tecniche di difesa efficaci. Sapranno come proteggere una infrastruttura critica di rete. Saranno pronti ad entrare a far parte del mercato del lavoro come membri di team esperti in cybersecurity, contribuendo attivamente sia alle fasi di rilevamento degli attacchi di rete, che a quelle di reazione e di implementazione delle necessarie azioni correttive. Il completamento con successo del corso consentirà loro di portare sul campo le conoscenze maturate, giocando un ruolo da protagonisti all’interno dei cosiddetti Security Operation Center (SOC) e/o di team di professionisti specializzati in sicurezza informatica.

Conoscenza e capacità di comprensione
Gli studenti dovranno mostrare di saper comprendere ed approfondire le problematiche legate alla protezione efficace di una architettura di rete da attacchi informatici. Dovranno approfondire argomenti relativi alle relazioni che intercorrono tra la sicurezza a livello del singolo nodo, del Sistema Operativo, del software e della rete, inquadrando il tutto in una visione integrata che faccia uso di un approccio olistico. Il corso fornisce agli studenti conoscenze avanzate nell’ambito della cybersecurity, illustrando come far leva su strumenti sia metodologici che pratici, al fine di scoprire vulnerabilità, rilevare attacchi, analizzare paradigmi di interazione e modelli comportamentali degli utenti di una rete, progettare ed implementare misure di difesa adeguate, con un approccio di tipo sia “reattivo” che “proattivo”. Tali strumenti consentiranno agli studenti di identificare le connessioni causali che intercorrono tra i concetti di vulnerabilità, minaccia ed attacco, nonché di comprendere le implicazioni derivanti dall’impiego di un approccio offensivo al miglioramento del livello complessivo di sicurezza di una infrastruttura di rete.

Capacità di applicare conoscenza e comprensione
Gli studenti dovranno mostrare capacità di prendere decisioni, valutandone le conseguenze, a partire dalle informazioni disponibili (traffico in tempo reale, tracce di traffico registrate, file di log, audit del registro di sistema, codice sorgente delle applicazioni, ecc.) al fine di gestire in maniera efficace le problematiche relative alla presenza di un possibile attacco distribuito in rete. Essi dovranno anche dimostrare una conoscenza avanzata delle tecniche e degli strumenti che possono essere impiegati al fine di prevenire un attacco, rilevarlo in tempo reale, mitigarne gli effetti e contrastarne la presenza tramite l’impiego di meccanismi di rimedio attivo. Il corso fornisce le competenze e gli strumenti necessari per applicare in scenari pratici le conoscenze acquisite, favorendo la capacità di impiegare un approccio metodologico che integri in maniera opportuna differenti tipi di contromisure (eventualmente disponibili a diversi livelli dello stack protocollare di rete), nell’ambito di un contesto omogeneo che consenta di prendere in considerazione le molteplici sfaccettature di un attacco alla sicurezza.

 

PROGRAMMA-SYLLABUS

Le principali proprietà di sicurezza di un sistema informatico saranno introdotte e discusse in dettaglio. Verranno poi presentati ed analizzati gli approcci per migliorare la sicurezza ai vari livelli dello stack protocollare di rete. Il corso adotta un approccio del tipo “offensive security”. Saranno illustrati i concetti legati alla cosiddetta catena vulnerabilità-minaccia-attacco. Verranno descritte le tecniche di preparazione di un attacco informatico, quali footprinting, scanning ed enumeration. La fase finale di un attacco, nota con il termine exploitation, verrà infine presentata. Saranno introdotti argomenti quali il firewalling, il rilevamento delle intrusioni, l’analisi del software malevolo e la protezione da attacchi di tipo DDoS (Distributed Denial of Service). Le principali tecniche di cosiddetto ethical hacking saranno infine presentate ed analizzate in dettaglio.

Syllabus:
- Network security: principi ed architettura
o requisiti funzionali di sicurezza
o minacce, attacchi, contromisure
- Sicurezza delle reti wireless
- Sicurezza al livello rete
o la suite di protocolli IPsec
- Sicurezza al livello trasporto
o Secure Socket Layer (SSL), Transport Layer Security (TLS), Secure Shell (SSH)
- Sicurezza al livello applicativo:
o E-mail
o Web
 HTTPS
 architettura di sicurezza di WebRTC (Web Real Time Communications)
- Cloud Computing e sicurezza (cenni)
- Introduzione al software malevolo
o tassonomia
 Virus, worm, Trojan, rootkit, ecc.
o Advanced Persistent Threats (APTs)
o contromisure
- Attacchi “Denial of Service” (DoS) e “Distributed Denial of Service” (DDoS)
- Intrusion Detection Systems (IDS)
o tecniche “host-based”, “network-based” e ibride
- Firewall ed Intrusion Prevention Systems (IPS)
- Hacking in reti IP
o Fasi preliminari di un attacco:
 Footprinting, scanning, enumeration
o Tecniche di attacco orientate:
 agli end-system ed ai server;
 all’infrastruttura:
• reti VoIP (Voice over IP)
• reti Wireless
• sistemi hardware
 ai dati ed alle applicazioni:
• Web
• dispositivi mobili
• Database

 

MATERIALE DIDATTICO

1. “Network Security Essentials Applications and Standards”, 6th Edition, William Stallings, Published by Pearson (July 13th, 2021) – ISBN-13: 9780134527338, Copyright © 2017
2. “Computer Security: Principles and Practice”, 4thEdition, William Stallings and Lawrie Brown, ISBN-13: 9780134794105, ©2018, Pearson
3. “Hacking Exposed”, 7th Edition by Stuart McClure, Joel Scambray and George Kurtz Mc Graw Hill ISBN-10: 0071780289, ISBN-13: 978-0071780285
4. Riferimenti ufficiali quali, ad esempio, Requests For Comments (RFC), disponibili sul sito: https://www.ietf.org
5. Trasparenze ed ulteriore materiale di approfondimento reso disponibile dal docente sui siti ufficiali del corso.

 

MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO

Il docente utilizzerà un approccio pratico e partecipativo per tutta la durata del corso. Gli argomenti del corso saranno presentati in teoria ed ulteriormente analizzati attraverso esempi pratici e dimostrazioni.
Uno strumento fondamentale per il corso sarà rappresentato dal Docker Security Playground (DSP – https://github.com/giper45/DockerSecurityPlayground), una architettura open source basata sull’impiego del paradigma a microservizi ed impiegata per la realizzazione di infrastrutture virtuali appositamente specializzate per lo studio della sicurezza di rete. Un ricco insieme di laboratori di sicurezza pre-configurati è reso disponibile dal docente sotto forma di repository github, raggiungibile all’URL https://github.com/NS-unina/DSP_Repo.
Tutti gli studenti dovranno lavorare, individualmente o in gruppo, ad un progetto pratico focalizzato sullo studio approfondito di uno o più degli argomenti del corso.

 

VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE

a) Modalità di esame:

L'esame si articola in prova:
 Scritta e orale  
 Solo scritta   
 Solo orale
 Discussione di elaborato progettuale 
 Altro  

 

In caso di prova scritta i quesiti sono (*):
 A risposta multipla  
 A risposta libera   
 Esercizi numerici  

  

b) Modalità di valutazione:
- 35% del voto finale dipenderà dalla valutazione del progetto pratico sviluppato dallo studente (individualmente o in gruppo). Tale progetto dovrà essere consegnato al docente (completo di documentazione e comprensivo, qualora presente, del codice sorgente sviluppato) almeno sette giorni prima della data fissata per la prova orale;
- 65% del voto finale dipenderà dall’esito della prova orale.

 

SOFTWARE SECURITY

SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/05

 

LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA

ANNO ACCADEMICO: 2022-2023

 

INFORMAZIONI GENERALI - DOCENTE

DOCENTE: ROBERTO NATELLA
TELEFONO: 081 7683820
EMAIL: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

 

INFORMAZIONI GENERALI - ATTIVITÀ

INSEGNAMENTO INTEGRATO (EVENTUALE): 
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): II
SEMESTRE (I, II): II
CFU: 6

 

INSEGNAMENTI PROPEDEUTICI

(se previsti dall'Ordinamento del CdS)

...................................................................................................................................................

 

EVENTUALI PREREQUISITI

Sono sufficienti come prerequisiti le nozioni di base acquisite nel corso della Laurea Triennale in Ingegneria Informatica sui sistemi operativi, l'ingegneria del software, le basi di dati, le architetture dei calcolatori elettronici, e le reti di calcolatori.

 

OBIETTIVI FORMATIVI

L'obiettivo generale dell'insegnamento è di fornire agli studenti nozioni e competenze per la progettazione, lo sviluppo, la validazione e la gestione di sistemi software sicuri. Questo obiettivo è complementare altri insegnamenti della area di "Cyber-Security" della Laurea Magistrale in Ingegneria Informatica.

Gli obiettivi formativi dell'insegnamento includono:
• Fornire concetti avanzati sulle minacce, sulle vulnerabilità, e sugli attacchi ai sistemi software.
• Fornire competenze specialistiche di progettazione e sviluppo sicuro del software.
• Fornire competenze specialistiche per la validazione del software mediante analisi statica e dinamica.
• Fornire concetti avanzati sulle tecniche adottate nel software malevolo.
• Fornire competenze specialistiche per la prevenzione e la rilevazione di attacchi dovuti a software malevolo.

 

RISULTATI DI APPRENDIMENTO ATTESI

(Descrittori di Dublino)

Conoscenza e capacità di comprensione

Lo studente deve dimostrare di conoscere e saper comprendere le minacce, le vulnerabilità, e gli attacchi nei sistemi software, e le tecniche utilizzate nel software malevolo. Il percorso formativo intende fornire agli studenti le conoscenze e gli strumenti metodologici per comprendere le attuali e future problematiche di sicurezza dei sistemi software a fronte della loro continua evoluzione nel tempo, e per identificare efficacemente le problematiche di sicurezza e comunicarle agli stakeholder coinvolti nella realizzazione e gestione dei sistemi software sicuri.


Capacità di applicare conoscenza e comprensione

Lo studente deve dimostrare di essere in grado di realizzare nuovi sistemi software sicuri, applicando le capacità e gli strumenti metodologici e operativi acquisiti nel percorso formativo nel contesto di tutte le fasi del processo di sviluppo software (analisi, progettazione, sviluppo, testing, gestione). Il percorso formativo è orientato a favorire la capacità di effettuare scelte di progetto dei sistemi software in maniera consapevole delle problematiche di sicurezza, e di saper riconoscere e risolvere le minacce, le vulnerabilità, gli attacchi, e le tecniche di software malevolo all'interno di un sistema software.

 

PROGRAMMA-SYLLABUS

Introduzione alla software security: Il ciclo di sviluppo di software sicuro, tassonomie di vulnerabilità (CVE, CVSS, CWE, OWASP), top design flaws & bugs.

Vulnerabilità software: Buffer overflows, vulnerabilità di memory & type safety e altri attacchi (format string, double free, out-of-bounds reads), return-oriented programming, control-flow integrity, undefined behaviors, web vulnerabilities (session hijacking, CSRF, XSS, SQL/command injection).

Progettazione sicura del software e certificazione: Processi e standard di software security (Microsoft Security Development Lifecycle, Common Criteria, OWASP, CERT), principi di progettazione sicura, attack e threat modeling, security requirements e abuse cases, secure software supply chain, DevSecOps.

Programmazione software sicura: Tecniche di difesa OS/compiler/language/framework-based, strategie di input validation, espressioni regolari, tecniche di error handling e resource management.

Tecniche di identificazione delle vulnerabilità: Analisi statica del software (type checking, compiler-based analysis, quality scanners, security scanners), analisi dinamica del software (source/binary code instrumentation, sanitizers), fuzzing (generation/mutation fuzzing, coverage-driven fuzzing, library-based fuzzing, protocol fuzzing).

Software malevolo: Forme di software malevolo (virus, RAT, keyloggers, rootkits, etc.), tattiche e tecniche degli attaccanti (Cyber Kill Chain, Diamond Model, MITRE ATT&CK), tecniche statiche e dinamiche di reverse engineering e di analisi di codice binario, malware signatures.

 

MATERIALE DIDATTICO

Libri di testo:
• Wenliang Du, "Computer & Internet Security: A Hands-on Approach", 2a edizione, 2019
• A. Takanen, J. DeMott, C. Miller, A. Kettunen, "Fuzzing for Software Security Testing and Quality Assurance", 2a edizione, 2018
• B. Chess, J. West, "Secure Programming with Static Analysis", 1a edizione, 2007
• M. Sikorski, A. Honig, "Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software", 1a edizione, 2012

 

MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO

Le attività dell'insegnamento saranno strutturate in:
• Lezioni frontali, per circa il 60% delle ore totali
• Attività di laboratorio per applicare e approfondire le conoscenze acquisite, per circa il 40% delle ore totali

Le lezioni si avvarranno di dimostrazioni pratiche basate su ambienti di virtualizzazione, e sugli strumenti di sicurezza software maggiormente utilizzati nei sistemi operativi Linux e Windows.

 

VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE

a) Modalità di esame:

L'esame si articola in prova:
 Scritta e orale  
 Solo scritta   
 Solo orale  
 Discussione di elaborato progettuale 
 Altro  

 

In caso di prova scritta i quesiti sono (*):
 A risposta multipla  
 A risposta libera   
 Esercizi numerici  

  

b) Modalità di valutazione:
La valutazione avviene tramite la discussione di un elaborato progettuale, che lo studente sviluppa in autonomia da solo o in collaborazione con un piccolo gruppo di altri studenti. La discussione mira ad accertare la acquisita conoscenza da parte dello studente delle vulnerabilità e attacchi nei sistemi software, e la sua capacità di applicare operativamente tali conoscenze nella progettazione e/o nella validazione della sicurezza di un sistema software. La valutazione finale tiene in considerazione la complessità del progetto affrontato, la qualità del software eventualmente sviluppato e/o il grado di approfondimento nella validazione della sicurezza di un sistema software, e il grado di maturità dimostrato nella esposizione delle problematiche di sicurezza.

 

TRASMISSIONE DEI SEGNALI DIGITALI

SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/03

 

LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA

ANNO ACCADEMICO: 2022-2023

 

INFORMAZIONI GENERALI - DOCENTE

DOCENTE: PROF. DAVIDE MATTERA
TELEFONO: +39 081 768 3795
EMAIL: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

 

INFORMAZIONI GENERALI - ATTIVITÀ

INSEGNAMENTO INTEGRATO (EVENTUALE): 
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): I
SEMESTRE (I, II): I
CFU: 9

 

INSEGNAMENTI PROPEDEUTICI

(se previsti dall'Ordinamento del CdS)

...................................................................................................................................................

 

EVENTUALI PREREQUISITI

...................................................................................................................................................

 

OBIETTIVI FORMATIVI

Obiettivo dell’insegnamento è quello di introdurre il tema della trasmissione dell’informazione tra due punti. L’insegnamento si propone di fornire agli studenti nozioni specialistiche sulla trasmissione digitale dell’informazione, che riveste un ruolo critico in ogni sistema di elaborazione dell’informazione, e sulla valutazione dei parametri ingegneristici che descrivono sinteticamente la qualità del trasferimento informativo.

 

RISULTATI DI APPRENDIMENTO ATTESI

(Descrittori di Dublino)

Conoscenza e capacità di comprensione
Lo studente deve dimostrare di conoscere e saper comprendere le problematiche relative alla descrizione sintetica del canale di forme d’onda, alla conversione di frequenza, e alla segnalazione e ricezione su un canale di forme d’onda. Deve dimostrare di sapere elaborare argomentazioni concernenti i nessi tra l’elaborazione del segnale ricevuto e la probabilità di errore che caratterizza il trasferimento informativo, ricordare il suo legame con la potenza del rumore di fondo che si sovrappone al segnale ricevuto, illustrare il legame che sussiste tra il bit-rate a cui avviene il trasferimento informativo e la banda disponibile sul canale di forme d’onda.


Capacità di applicare conoscenza e comprensione
Lo studente deve dimostrare di essere in grado di risolvere problemi concernenti la valutazione della probabilità di errore a partire dalla definizione di uno specifico meccanismo di ricetrasmissione dell’informazione, anche ricorrendo a strumenti dedicati alla elaborazione al calcolatore di segnali informativi, e di costruire software di elaborazione manipolando schemi elaborativi standard studiati durante il corso.

 

PROGRAMMA-SYLLABUS

Descrizione del canale di forme d’onda e dei segnali equivalenti passabasso (1 CFU)
Descrizione dei meccanismi fondamentali per realizzare la conversione di frequenza (1 CFU)
Descrizione non deterministica dei segnali (2 CFU)
Segnalazione digitale su canale AWGN (3 CFU)
Segnalazione digitale su canale a banda limitata (2 CFU)

 

MATERIALE DIDATTICO

Dispense del Corso redatte dal Prof. Mattera e rese disponibili online agli studenti del corso
Proakis-Salehi, Digital Communications, McGraw-Hill Education, 2007

 

MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO

Il corso è costituito da lezioni per 72 ore complessive di cui 48 ore sono dedicate alla definizione degli argomenti teorici e 24 ore sono dedicate ad esercitazioni che si avvalgono di software specialistico e si propongono di approfondire la comprensione degli argomenti teorici.

 

VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE

a) Modalità di esame:

L'esame si articola in prova:
 Scritta e orale  
 Solo scritta   
 Solo orale
 Discussione di elaborato progettuale   
 Altro  

 

In caso di prova scritta i quesiti sono (*):
 A risposta multipla  
 A risposta libera   
 Esercizi numerici  

  

 

TEORIA DELL'INFORMAZIONE

SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/03

 

LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA

ANNO ACCADEMICO: 2022-2023

 

INFORMAZIONI GENERALI - DOCENTE

DOCENTE: MARCO LOPS
TELEFONO: 081-76-83148
EMAIL: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

 

INFORMAZIONI GENERALI - ATTIVITÀ

INSEGNAMENTO INTEGRATO (EVENTUALE): 
MODULO (EVENTUALE):
CANALE (EVENTUALE): “TEORIA DELL’INFORMAZIONE – ANNO ACCADEMICO 2021-2022”
ANNO DI CORSO (I, II, III): I/II
SEMESTRE (I, II): I
CFU: 9

 

INSEGNAMENTI PROPEDEUTICI

(se previsti dall'Ordinamento del CdS)

...................................................................................................................................................

 

EVENTUALI PREREQUISITI

Elementi di teoria della probabilità.

 

OBIETTIVI FORMATIVI

Il corso, destinato agli studenti di laurea magistrale che abbiano acquisito nel precedente triennio gli elementi di base delle discipline dell’informazione, ha per obiettivo principale l’inquadramento sistematico di concetti quali definizione e misura dell’informazione, compressione dati (codifica di sorgente), compressione con perdite (teorema rate-distortion e quantizzazione vettoriale), trasmissione affidabile dell’informazione su canali rumorosi (codifica di canale). Lo studente acquisirà quindi nozioni specialistiche sull’esistenza di limiti fondamentali sia sul tasso di compressione che su quello di trasmissione dell’informazione.

 

RISULTATI DI APPRENDIMENTO ATTESI

(Descrittori di Dublino)

Conoscenza e capacità di comprensione
Lo studente dovrà essere in grado di comprendere le funzioni delle varie parti costitutive dei sistemi di elaborazione, immagazzinamento e trasferimento dell’informazione, nonché i principi che ne ispirano il progetto. Inoltre, lo studente dovrà essere in grado di “rileggere” alcune nozioni acquisite nell’ambito del triennio di base alla luce dei principi generali della Teoria dell’Informazione.

Capacità di applicare conoscenza e comprensione
Lo studente dovrà non solo essere in grado di applicare concretamente i concetti forniti durante il corso al progetto di specifiche parti costitutive dei sistemi – per esempio, codificatori di sorgente e/o di canale, quantizzatori, ecc. – ma anche di riconoscerne l’applicabilità a discipline apparentemente lontane (quali complessità, computabilità, ecc.).

 

PROGRAMMA-SYLLABUS

Concetti fondamentali. Informazione e sua misura: l’entropia e le sue proprietà. Entropia congiunta e condizionale. Divergenza e mutua informazione. Proprietà delle principali grandezze informazionali.
Codifica dell’alfabeto di sorgente. Introduzione alla codifica di sorgente. Codici non singolari, univocamente decifrabili e a prefisso. Codici di Huffman, di Shannon, di Shannon-Fano-Elias. Limiti informazionali alla lunghezza media dei codici di sorgente. Codifica a blocchi. Caratterizzazione delle sorgenti: il tasso entropico e le sue interpretazioni. Concetto di tipicità e sue implicazioni nella compressione dati. Codifica aritmetica. Codifica di Lempel-Ziv.
Capacità di canale. Concetti fondamentali: canali di comunicazione, tasso di trasmissione, tasso di codifica. Capacità di canale: concetti generali e casi notevoli. Teorema della codifica di canale. Esempi di codici di canale: codifica binaria lineare a blocchi e suoi limiti prestazionali. Separabilità della codifica di sorgente e della codifica di canale. Estensione al caso continuo delle principali grandezze informazionali. Canali continui e loro capacità. Il canale Gaussiano additivo. Canali Gaussiani in parallelo. Canali Gaussiani con memoria. Cenni ai canali con feedback.
Compressione con perdite. Introduzione al concetto di compressione con perdite: il tasso (Rate) e la Distorsione (Distortion). Il concetto di Rate-Distortion function. Calcolo della funzione R-D per alcune sorgenti notevoli e sue interpretazioni. Codifica (con perdite) a blocchi e sua interpretazione. Teorema Rate-Distortion. Applicazioni: quantizzazione scalare e quantizzazione vettoriale. Progetto di quantizzatori vettoriali. Esempi.
Cenni ai canali MIMO. Cenni ai canali con fading: il canale wireless. Diversità in ricezione e sue proprietà. Canali Multiple-Input Multiple.Output (MIMO). Cenni al calcolo della capacità di canali MMO. Cenni alla codifica spazio-temporale.

 

MATERIALE DIDATTICO

Materiale didattico (slides, note del docente) è disponibile sul canale teams “Teoria dell’Informazione – Anno Accademico 2021-2022”.
Il testo di riferimento è T. Cover, J. Thomas, “Elements of Information Theory”.

SI VEDA SITO WEB DEL DOCENTE DELLA MATERIA

 

MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO

Lezioni frontali, di cui circa 2/3 (48 ore) dedicate alla teoria e circa 1/3 (24 ore) ad esercitazioni numeriche, anche con l’ausilio di MATLAB.

 

VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE

a) Modalità di esame:

L'esame si articola in prova:
 Scritta e orale  
 Solo scritta   
 Solo orale
 Discussione di elaborato progettuale   
 Altro  

 

In caso di prova scritta i quesiti sono (*):
 A risposta multipla  
 A risposta libera   
 Esercizi numerici  

  

 b) Modalità di valutazione:
La valutazione avverrà sulla base di un colloquio orale teso a verificare che lo studente abbia maturato i concetti basilari impartiti durante il corso.

 

CALCOLO SCIENTIFICO PER L'INNOVAZIONE TECNOLOGICA

SCHEDA DELL'INSEGNAMENTO (SI)
SSD MAT/08

 

LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA

ANNO ACCADEMICO: 2022-2023

 

INFORMAZIONI GENERALI - DOCENTE

DOCENTE: PROF. LUISA D’AMORE
TELEFONO: 081-675626
EMAIL: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

 

INFORMAZIONI GENERALI - ATTIVITÀ

INSEGNAMENTO INTEGRATO (EVENTUALE): 
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): I
SEMESTRE (I, II): I
CFU: 9

 

INSEGNAMENTI PROPEDEUTICI

(se previsti dall'Ordinamento del CdS)

...................................................................................................................................................

 

EVENTUALI PREREQUISITI

...................................................................................................................................................

 

OBIETTIVI FORMATIVI

Le simulazioni numeriche al calcolatore (che Galileo Galilei chiamava analisi matematica e sperimentale della natura) consentono di dominare la crescente complessità dei modelli delle scienze e dell’ingegneria: esplorando soluzioni innovative mediante l’uso intensivo di tecnologie hardware e software emergenti, hanno un impatto sociale decisivo (policy decision-making). La simulazione numerica è il risultato di un processo in continua evoluzione. Simulazioni affidabili, ovvero in grado non solo di interpretare ma anche di prevedere, devono tener conto dell’incertezza. L’analisi dell’incertezza, della sua propagazione e lo studio della sensibilità della soluzione alle incertezze nei dati (Uncertainty Quantification) è un requisito fondante delle simulazioni predittive.
L’insegnamento intende approfondire conoscenze metodologiche della matematica numerica (alla base delle simulazioni numeriche) preliminari e fondamentali per calcolare, interpretare e descriverne le soluzioni. L’analisi critica dei metodi numerici, degli algoritmi risolutivi e la loro messa in opera in ambienti di calcolo come il Matlab (anche Parallelo), consentirà agli studenti di identificare l’approccio migliore per ottenere il risultato atteso.

Gli obiettivi formativi dell’insegnamento sono i seguenti
• Acquisire conoscenze metodologiche specialistiche del mathematics stack per le simulazioni e le modellazioni al calcolatore (dalla formulazione del problema alla interpretazione, visualizzazione, verifica e validazione dei risultati) ;
• Approfondire gli strumenti della matematica numerica (algoritmi e software), selezionandoli opportunamente in ragione della tipologia del problema e allo strumento di calcolo (co-design);
• Padroneggiare le competenze numeriche necessarie per affrontare in un contesto interdisciplinare e multidisciplinare la modellazione e simulazione computazionale di sistemi complessi di interesse dell’Ingegneria Informatica.

 

RISULTATI DI APPRENDIMENTO ATTESI

(Descrittori di Dublino)

Conoscenza e capacità di comprensione

IL percorso formativo intende fornire agli studenti le conoscenze metodologiche del calcolo scientifico necessarie alla realizzazione di simulazioni scientifiche dei problemi che nascono in realtà produttive molto differenziate. Lo studente deve dimostrare di conoscere gli aspetti caratterizzanti la quantificazione dell’incertezza nelle simulazioni computazionali ovvero comprendere le problematiche relative alle principali fonti di errore che nascono nella fase di risoluzione computazionale, di riconoscere e ridurne la propagazione sulla soluzione numerica attraverso l’analisi critica degli algoritmi numerici e di mettere a punto elementi di software affidabili in grado di stimare l’incertezza sul risultato. A fine corso, lo studente sarà in grado di definire il processo di risoluzione computazionale di alcuni problemi fondamentali della matematica numerica.

 

Capacità di applicare conoscenza e comprensione

Il percorso formativo è orientato a fornire le capacità operative necessarie a trasformare un qualsiasi modello matematico, come ad esempio un’equazione differenziale alle derivate parziali, un integrale o un sistema di equazioni lineari, in un elemento di software matematico e di utilizzare gli standard qualitativi per la verifica e la validazione dei risultati.
A fine corso, lo studente sarà in grado di selezionare e utilizzare gli strumenti della matematica numerica (metodi, algoritmi e software) acquisiti per risolvere alcuni casi di studio analizzando, interpretando e validando i risultati ottenuti.

 

PROGRAMMA-SYLLABUS

Articolazione del corso:
Parte 1 - 30 % – concetti fondamentali
Parte 2 – 20 % – approfondimenti
Parte 3 – 50 % – preparazione alla prova finale


Parte 1:
Introduzione ai principi del Calcolo Scientifico – fasi di risoluzione computazionale di un problema, fonti di errore, stabilità di un algoritmo, condizionamento di un problema. Analisi di propagazione dell’errore.

Algebra Lineare Numerica – Metodi diretti, Algoritmo di Eliminazione di Gauss e Fattorizzazione LU per matrici piene o strutturate.

Parte 2:
Algebra Lineare Specialistica - Metodi iterativi. Il metodo del Gradiente Coniugato Precondizionato. I metodi MULTIGRID. Le librerie BLAS (Basic Linear Algebra Subroutines) e PBLAS (Parallel BLAS). Introduzione alle problematiche relative allo sviluppo di algoritmi paralleli per il calcolo matriciale e analisi di prestazioni (speed up, efficienza). Sperimentazione nell’ ambiente Parallel Toolbox di Matlab.

Parte 3:
Rappresentazione di dati – Metodi di interpolazione e approssimazione per il trattamento e l’analisi di dati. Le funzioni spline. Interpolazione di curve mediante spline parametrica. Curve di Bezier, Curve B-spline- NURBS. Rappresentazione di oggetti in due e tre dimensioni. Il Polinomio di minimi quadrati di primo e secondo grado. Introduzione ai modelli numerici per il machine learning. Introduzione agli ambienti software per la modellazione di oggetti.

Algoritmo FFT – Dalla Trasformata di Fourier alla Trasformata discreta di Fourier mediante formule di quadratura numerica. Algoritmo FFT di Gentleman e Sande, Algoritmo FFT di Cooley e Tukey. Esempi ed applicazioni in Matlab: filtraggio/denoising/ricostruzione di un segnale e di una immagine. Algoritmo FFT radix-2, radix-r, a radici miste.

Equazioni Differenziali alle Derivate Parziali: Concetti e definizioni preliminari sugli operatori differenziali alle derivate parziali : classificazione (degli operatori, delle condizioni iniziali e al contorno, dei problemi differenziali alle derivate parziali); Esempi in contesti applicativi. L’approccio numerico alla base della risoluzione di problemi differenziali alle derivate parziali; Introduzione ai metodi di discretizzazione: differenze finite e volumi finiti; Concetto di consistenza, stabilità e convergenza.

 

MATERIALE DIDATTICO

A.D’Alessio, Lezioni di Calcolo Numerico e Matlab- Liguori editore, IIed

L. D’Amore, Spigolature sul metodo dei Gradienti Coniugati, Libreria Universitaria.

A. Murli, Matematica Numerica, parte prima. Ed. Liguori

Dispense su argomenti specifici disponibili sul sito del docente

 

MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO

Il docente utilizzerà

a) Lezioni frontali per circa il 30%
b) Esercitazioni per circa il 20%
c) Laboratorio per circa il 20%
d) Software specialistico per circa il 30%

 

VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE

a) Modalità di esame:

L'esame si articola in prova:
 Scritta e orale  
 Solo scritta o intercorso a metà
 Solo orale  
 Discussione di elaborato progettuale 
 Altro  

 

In caso di prova scritta i quesiti sono (*):
 A risposta multipla  
 A risposta libera  
 Esercizi numerici

  

 

 

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.