Il corso di Laurea magistrale in Ingegneria Informatica forma professionisti in grado di operare nella progettazione, ingegnerizzazione, sviluppo e gestione di sistemi informativi complessi. Gli ambiti di formazione sono: - I sistemi "cyber-physical" e le applicazioni per l'automazione industriale, per la progettazione e l’analisi teorica e sperimentale di sistemi complessi; - I sistemi digitali e di tipo “embedded”, per la progettazione a liv... Espandi...
Il corso di Laurea magistrale in Ingegneria Informatica forma professionisti in grado di operare nella progettazione, ingegnerizzazione, sviluppo e gestione di sistemi informativi complessi.
Gli ambiti di formazione sono:
- I sistemi "cyber-physical" e le applicazioni per l'automazione industriale, per la progettazione e l’analisi teorica e sperimentale di sistemi complessi;
- I sistemi digitali e di tipo “embedded”, per la progettazione a livello logico di sistemi digitali complessi;
- Le applicazioni grafiche e multimediali, focalizzato su modellazione e rendering, ambienti inter rappresentazione, compressione e trasmissione di segnali audio e video;
- I sistemi software complessi, per la progettazione e gestione di sistemi informativi aziendali e la gestione di progetti di sviluppo software.
- Le reti di calcolatori, per lo sviluppo di software in ambienti distribuiti e “cloud” e la valutazione delle prestazioni di sistemi distribuiti;
- La "cyber-security", per la progettazione e valutazione degli aspetti legati alla sicurezza informatica;
- La "data analytics" e l'intelligenza artificiale, per acquisire gli strumenti teorici e tecnologici per il trattamento di dati mediante l'utilizzo di tecnologie basate su intelligenza artificiale.
Il percorso formativo è articolato secondo quattro livelli di insegnamenti: insegnamenti obbligatori (caratterizzanti dell’intero corso di Laurea Magistrale e ritenuti cardine per la figura dell’Ingegnere Informatico), insegnamenti qualificanti per i diversi orientamenti (un insieme di insegnamenti, diversi per ciascuno dei 7 orientamenti attivati, che qualificano la formazione nello specifico settore), insegnamenti a scelta (due insegnamenti da 6 crediti, tra insiemi ampi di insegnamenti, trasversali agli orientamenti, tra i quali vengono evidenziate delle scelte “suggerite” rispetto all’attinenza con l’orientamento seguito), ed infine un’ampia tabella di “crediti liberi”, che comprendono materie a più ampio spettro, ivi incluse le scelte precedenti ed insegnamenti offerti da altri collegi.
Gli insegnamenti obbligatori sono collocati prevalentemente al primo anno, gli insegnamenti qualificanti sono a cavallo tra il primo ed il secondo anno, e i due insegnamenti a scelta sono nel primo e secondo semestre del secondo anno, rispettivamente.
Gli insegnamenti obbligatori sono relativi ai settori dell'architettura degli elaboratori, della programmazione di sistema, della tecnologia delle basi di dati, dell'ingegneria del software, dell'automatica, e delle tecnologie e servizi di rete, e della sicurezza dei sistemi informatici.
Lo studente caratterizza la propria formazione mediante la scelta di un insieme di insegnamenti afferenti ad uno specifico orientamento tra i 7 proposti, che gli consentono di completare la sua formazione specialistica in alcuni ambiti: applicazioni software, automazione industriale, computer graphics e multimedia, data science, sicurezza informatica, reti di calcolatori e sistemi embedded.
In particolare, nell'ambito delle applicazioni di rete si completano le conoscenze sullo sviluppo dei sistemi distribuiti, quali le reti geografiche di calcolatori e i sistemi di cloud computing. Tra gli aspetti approfonditi: lo sviluppo di software in ambienti distribuiti, la valutazione delle prestazioni di sistemi distribuiti, la progettazione e gestione di reti di comunicazione complesse, lo sviluppo di applicazioni e servizi avanzati su reti locali e geografiche e piattaforme di cloud computing, lo sviluppo di software di rete ad alte prestazioni. Particolare attenzione viene inoltre riservata alla comunicazione, alla sincronizzazione e all'interazione tra i prodotti applicativi e i componenti hardware, alla progettazione di reti aziendali e data center, nonché all'analisi di sistemi di comunicazione basati sulle più moderne tecnologie.
Relativamente alla progettazione di architetture di sicurezza IT (cybersecurity) la formazione cura gli aspetti tecnologici e teorici necessari per la comprensione delle debolezze dei sistemi IT e la loro protezione. Particolare attenzione è dedicata agli aspetti tecnici ed organizzativi della protezione dei sistemi IT, nonché alle tecniche matematiche di crittografia alla base di molte soluzioni di sicurezza. Vengono anche studiate le tecniche sperimentali ed analitiche per valutare il grado di sicurezza di un sistema esistente.
Per quanto riguarda le applicazioni software, la formazione è orientata alla progettazione e gestione di sistemi informativi aziendali quale supporto all'organizzazione e ai bisogni dell'azienda. Particolare attenzione viene posta alla gestione e all'organizzazione di progetti software di dimensioni elevate, ovvero di progetti che coinvolgono numerosi programmatori per lunghi periodi di tempo. In tale ambito ci si concentra su problematiche di vario tipo, quali la correzione e la manutenzione del prodotto ottenuto.
Relativamente all'analisi dei dati (data analytics e intelligenza artificiale) la formazione cura gli aspetti tecnologici e teorici legati all'analisi di grosse moli di dati e fornisce le conoscenze relative a gli algoritmi di machine learning, deep learning e intelligenza artificiale per l'analisi dei dati. Particolare attenzione è dedicata agli aspetti teorici e matematici alla base delle tecniche di analisi dei dati, alle tecnologie per la trattazione di big data, ai sistemi di elaborazione distribuiti e agli algoritmi ed alle tecniche di intelligenza artificiale e di deep learning.
Nell'ambito delle applicazioni per l'automazione e la sistemistica industriale ci si occupa di approfondire gli aspetti legati al progetto nonché all'analisi teorica e sperimentale di modelli mediante predizione, controllo e diagnostica dei meccanismi interni. Ci si occupa inoltre di aspetti legati alla logistica e al governo della mobilità di veicoli, persone e cose, con attenzione tanto al dominio applicativo quanto agli aspetti di automazione e di gestione di base.
La specializzazione orientata alla computer graphics e multimedialità propone le moderne tecniche di modellazione e rendering, introduce le architetture hardware dei sistemi grafici e dispositivi per la grafica interattiva e la realtà virtuale, e insegna a progettare ambienti interattivi e real-time. Insegna inoltre le tecniche di rappresentazione, compressione e trasmissione di segnali audio e video.
L'ambito della progettazione automatica di sistemi digitali (sistemi embedded) fornisce le competenze necessarie per la progettazione a livello logico di sistemi digitali complessi. Sono insegnate le metodologie di descrizione dell'hardware ed il loro uso nell'ambito di sistemi automatici di sintesi, le tecniche di ottimizzazione per migliorare le prestazioni del prodotto finale rispetto a dissipazione di potenza, velocità, affidabilità, etc.). Infine si analizzano problematiche legate alla correttezza e all'affidabilità del prodotto finale analizzando l'impatto delle varie tecniche di verifica e di ottimizzazione. Gli insegnamenti dell'area relativa ai sistemi embedded sono tenuti in lingua inglese.
La formazione magistrale si conclude con la preparazione e discussione di una tesi scritta e con la possibilità di svolgere un tirocinio presso aziende del settore.
Esistono accordi con università estere che consentono di ottenere doppio titolo o titolo congiunto.
Il corso di studi privilegia una solida preparazione tecnica e di base, in tutti gli ambiti culturali propri dell'Ingegneria Informatica che consenta un rapido adattamento alle più diverse esigenze professionali, evitando il rischio di una rapida obsolescenza, sul piano della formazione. I percorsi di specializzazione permettono al laureato di indirizzarsi verso uno (o più) possibili profili professionali indicati nel seguito, caratterizzanti la... Espandi...
Il profilo professionale che il CdS intende formare | Principali funzioni e competenze della figura professionale |
Analista e progettista di sicurezza (Cybersecurity) | FUNZIONE IN UN CONTESTO DI LAVORO:
L'ingegnere informatico magistrale che svolge il ruolo di Progettista di architetture di sicurezza ICT svolge le seguenti funzioni: - analisi dei rischi di un sistema IT o di una specifica applicazione - definizione di un'architettura di sicurezza per proteggere i dati e/o i sistemi dai rischi considerati inaccettabili - supervisione dell'implementazione e della gestione dell'architettura di sicurezza - verifica periodica dell'architettura e suo eventuale adeguamento COMPETENZE ASSOCIATE ALLA FUNZIONE: Il progettista di architetture di sicurezza sfrutta la conoscenza degli attacchi esistenti, delle debolezze degli elementi hardware/software, e delle componenti di sicurezza tecniche ed organizzative, per: - analizzare e quantificare i rischi di un sistema IT, sia dal punto di vista teorico che tramite prove sperimentali - valutare diverse architetture IT in funzione della loro maggiore o minore esposizione ai rischi, - definire architettura di sicurezza per proteggere sistemi esistenti o in corso di sviluppo, - fornire linee-guida di sicurezza agli architetti applicativi, agli sviluppatori sofware ed ai gestori dei sistemi IT - valutare per un sistema IT il soddisfacimento dei requisiti di sicurezza imposti da legislazioni nazionali o internazionali SBOCCHI PROFESSIONALI: Dipartimenti IT di aziende medio-grandi. Società di consulenza informatica e non. Organismi di controllo e certificazione. |
Progettista di sistemi distribuiti, di rete e cloud | FUNZIONE IN UN CONTESTO DI LAVORO:
L'ingegnere informatico magistrale progettista di sistemi distribuiti, di rete e cloud progetta e realizza sistemi informatici complessi basati su calcolatori e dispositivi interconnessi in rete, quali sistemi anziendali, sistemi di operatori di telecomunicazioni e service provider, sistemi IoT (Internet of Things). Può operare a diversi livelli, a partire da quello infrastrutturale (per esempio, progettazione e dimensionamento di reti informatiche aziendali), fino a quello delle applicazioni (progettazione e sviluppo di sistemi software che operano su reti internet, intranet e piattaforme cloud). COMPETENZE ASSOCIATE ALLA FUNZIONE: L'ingegnere informatico magistrale progettista di sistemi distribuiti, di rete e cloud nella sua attività deve: - definire la specifica dei requisiti e dell'architettura del sistema, - scegliere i componenti hardware e software, - definire la specifica e realizzare nuovi componenti da integrare, - identificare specifiche esigenze di sicurezza e protezione dei sistemi distribuiti, - garantire il soddisfacimento dei complessi requisiti di sistema e di utente che caratterizzano i sistemi distribuiti. SBOCCHI PROFESSIONALI: Dipartimenti IT di aziende medio-grandi. Società di consulenza informatica e non. Società operanti in ambito cloud. Integratori di sistemi IoT. Operatori di telecomunicazioni e service provider. Costruttori di apparati di telecomunicazioni. |
Progettista in ambito Computer Graphics e Multimedia | FUNZIONE IN UN CONTESTO DI LAVORO:
L’ingegnere informatico magistrale, di area graphics e multimedia, progetta e realizza sistemi e applicazioni grafiche e multimediali. L'attività può comprendere sia la realizzazione di sistemi e applicazioni che soddisfano vincoli di interattività sia piattaforme per lo sviluppo di contenuti multimediali off-line (ad esempio filmati in computer animation). Gli ambiti applicativi riguardano tutti i settori della grafica e del multimedia, dalle applicazioni Web all'entertainment, dalla realtà virtuale alle applicazioni di mixed e augmented reality. COMPETENZE ASSOCIATE ALLA FUNZIONE: L'ingegnere informatico magistrale di area graphics e multimedia è in grado: - progettare e sviluppare sistemi e applicazioni grafiche interattive, - utilizzare software commerciali (tool di modellazione e simulazione) per la creazione di animazioni in computer animation, - progettare e sviluppare algoritmi di elaborazione delle immagini attraverso anche tecniche di intelligenza artificiale, - progettare e sviluppare applicazioni di realtà virtuale e aumentata. - selezionare criticamente la combinazione più adatta di hardware, software e di soluzioni di rete per diversi scenari applicativi, dalle tecniche di codifica multimediali al paradigma trasmissivo (client-server o peer-to-peer), dal protocollo di rete alle tecniche di controllo della qualità di servizio, dal dimensionamento delle risorse al modo di misurare la qualità percepita dall'utente finale. SBOCCHI PROFESSIONALI: Società di sviluppo software e produzione web, Società di pubblicità e marketing, Imprese multimediali o editoriali, anche nel settore della videoproduzione, Aziende che operano nel campo del trattamento delle immagini e della visione artificiale |
Progettista applicazioni software | FUNZIONE IN UN CONTESTO DI LAVORO:
L’ingegnere informatico magistrale in area software definisce l'architettura e progetta, a partire dalle specifiche, sistemi software complessi. Inoltre l'ingegnere informatico pianifica e gestisce il progetto di sviluppo del prodotto o servizio software. I moderni sistemi sono dotati di una componente di interfaccia utente (web, mobile o tradizionale), di una parte di logica di business e di una base di dati; utilizzano piattaforme (hardware e sistemi operativi) disponibili e in genere standard, e si compongono tramite l'integrazione e adattamento di componenti software disponibili sul mercato. Gli ambiti applicativi sono quelli delle applicazioni di alto livello a supporto del funzionamento di aziende, organizzazioni, e pubblica amministrazione. COMPETENZE ASSOCIATE ALLA FUNZIONE: L’ingegnere progettista di applicazioni software è in grado di: - svolgere analisi dei requisiti di un sistema complesso, - valutare soluzioni alternative rispetto a requisiti funzionali e non funzionali (affidabilità, ergonomia, prestazioni, costo). - definire l'architettura e progettare sistemi software, - valutare e scegliere linguaggi e tecnologie di sviluppo, selezionare librerie e componenti software - effettuare la verifica ed il test del software. SBOCCHI PROFESSIONALI: Dipartimenti IT di aziende medio-grandi. Società di consulenza informatica e non. Società di sviluppo software. |
Progettista di sistemi di controllo e automazione industriale intelligenti | FUNZIONE IN UN CONTESTO DI LAVORO:
Il progettista di sistemi di controllo/automazione industriale intelligenti, si occupa della modellazione, dell'ottimizzazione e del controllo sia di applicazioni complesse (sistemi robotici, automotive ed aerospaziali, smart grids) sia dei processi produttivi di fabbrica con particolare attenzione all'integrazione tra la dinamica dei processi fisici (physical systems) e gli aspetti di computazione/comunicazione/controllo (cybernetics) che rappresenta uno degli elementi cruciali della cosidetta quarta rivoluzione industriale. COMPETENZE ASSOCIATE ALLA FUNZIONE: L'ingegnere informatico esperto di sistemi di controllo e automazione industriale intelligenti, si occupa di: - progettazione e implementazione di algoritmi di ottimizzazione - stima e controllo, mirati alla gestione automatica di sistemi cyberfisici complessi e/o a carattere distribuito. Tali competenze sono applicabili a diversi contesti industriali (automotive, robotica, automazione di fabbrica, distribuzione dell'energia). SBOCCHI PROFESSIONALI: Aziende nei settori industriali della robotica, aeronautica/aerospazio, automotive, produzione/distribuzione dell'energia. Aziende del settore industriali con esigenze di automazione della produzione. |
Progettista di sistemi embedded | FUNZIONE IN UN CONTESTO DI LAVORO:
L'ingegnere informatico magistrale che opera come progettista di sistemi embedded progetta, a partire dalle specifiche, sistemi hardware/software tipicamente realizzati su un supporto hardware dedicato in grado di garantire il rispetto dei vincoli (tra i quali prestazioni, consumo, ingombro, affidabilità, costo) specifici dell'applicazione considerata. Gli ambiti applicativi riguardano tutti i settori di impiego di sistemi e apparati elettronici, tra i quali quelli legati ai sistemi di telecomunicazioni, biomedicali, automotive, avionici, domotici e più in generale ai sistemi legati all'Internet of Things (IoT). COMPETENZE ASSOCIATE ALLA FUNZIONE: L'ingegnere informatico magistrale si occupa di - integrare i componenti di base già progettati o comunque disponibili (Intellectual Properties - IP), - progettare nuovi componenti hardware (a livello di dispositivo, scheda, sistema), - identificare il Sistema Operativo più adatto allo scenario considerato e sviluppare il software di base (firmware) specifico dell'hardware utilizzato, - progettare applicazioni software sia in linguaggi ad alto livello sia in linguaggi assembler, tenendo conto dei vincoli esistenti (ad esempio in termini di normative e standard) - analizzare i compromessi tra HW e SW, - ottimizzare il progetto hardware integrando tecniche di collaudo e tenendo conto dei vincoli non funzionali legati ad esempio all'affidabilità e al consumo su tali sistemi è in grado di valutare il miglior compromesso tra parametri eterogenei quali prestazioni, consumo di potenza, costo e affidabilità. SBOCCHI PROFESSIONALI: Aziende del settore dell’elettronica di consumo, automotive, biomedicale, avionica Aziende del settore industriale ad elevata componente tecnologica. Società di consulenza informatica. |
Progettista di sistemi informatici per applicazioni di intelligenza artificiale e analisi dei dati | FUNZIONE IN UN CONTESTO DI LAVORO:
L'ingegnere informatico magistrale che ricopre il ruolo di data analyst svolge le seguenti funzioni: - analizza i requisiti dei sistemi e dei processi di analisi dei dati, - progetta sistemi e processi informatici per l’estrazione, la trasmissione sicura, la memorizzazione, la visualizzazione e l’analisi di grandi moli di dati eterogenei, - sviluppa e implementa metodologie per la realizzazione dei processi di analisi dei dati, - utilizza e ridisegna algoritmi di machine learning e intelligenza artificiale per effettuare analisi sui dati, modelli predittivi e ottimizzazione di processi. COMPETENZE ASSOCIATE ALLA FUNZIONE: Il data analyst ha la capacità di svolgere analisi dei requisiti, progettare sistemi informatici e processi di analisi dei dati, grazie alle seguenti competenze: - conoscenza di sistemi IoT, e delle tecniche per la progettazione delle comunicazioni tra diversi dispositivi e la distribuzione della computazione edge/cloud - conoscenza dei sistemi distribuiti e delle basi di dati NoSQL utilizzati per raccogliere, memorizzare e analizzare grandi moli di dati eterogenei, - capacità di risoluzione di problemi data-driven, - conoscenza delle metodologie e dei linguaggi di programmazione utilizzati per realizzare applicazioni in ambito big data, - conoscenza di algoritmi di machine learning, deep learning e intelligenza artificiale utilizzati per l’analisi dei dati. - capacità di integrare e riprogettare metodologie di learning e di intelligenza artificiale. SBOCCHI PROFESSIONALI: Dipartimenti IT di aziende medio-grandi. Società di consulenza informatica e non. Società di sviluppo software. Grandi società con dipartimenti per l’analisi dati e la generazione di modelli predittivi. Società di sviluppo metodologie di intelligenza artificiale. |
I contenuti scientifico-disciplinari suddivisi per area di apprendimento e definiti tramite i "descrittori di Dublino" sono riportati nella tabella relativa al Quadro A4b - Risultati di apprendimento attesi.