The Course

Il corso di laurea magistrale in Scientific and Data-Intensive Computing nasce per preparare figure professionali capaci di affrontare sfide cruciali della società digitale in ambiti quali scienza ed ingegneria computazionali, digital twin, high-performance computing e data intensive computing. Queste figure, integrando conoscenze di modellizzazione classica, con conoscenze di calcolo ad alte prestazioni e metodi moderni di gestione ed analisi dei dati, possono trovare occupazione in ambiti variegati, tra cui centri di ricerca, sviluppo e progettazione, sia pubblici che privati, sia in ambito tecnologico industriale che scientifico, laboratori di calcolo, società che forniscono servizi per il trattamento di grandi moli di dati, istituti finanziari, bancari o assicurativi, società di servizi e società di consulenza indipendente.

Il corso fornisce agli studenti una solida preparazione metodologica di base in tre ambiti: data analysis e machine learning, modellazione matematica e computazionale, e informatica, con particolare attenzione al calcolo intensivo e distribuito.
Lo studente approfondirà le sue competenze in alcuni aspetti fondazionali in funzione del curriculum scelto, e potrà poi complementare la sua formazione con corsi in aree applicative della scienze fisiche e naturali e dell'ingegneria. Lo studente acquisirà non solo conoscenze teoriche, ma anche la capacità di applicarle per la soluzione di problemi pratici, attraverso esercitazioni individuali e progetti di gruppo. La formazione sarà complementata da corsi seminariali e da un'attività di tirocinio e tesi che potrà essere svolta presso aziende ed enti di ricerca convenzionati.

Il corso è internazionale, in lingua inglese, ed è organizzato dalle università di Trieste e di Udine, con la collaborazione di SISSA, ICTP, Area Science Park ed altri enti di ricerca del territorio di Trieste e della regione FVG.

Conoscenza e comprensione.

Informatica e Calcolo Intensivo
Gli insegnamenti erogati durante il corso, daranno allo studente una solida preparazione nell'ambito dell'Information and Communication Technologies e della Computer Science, in particolare:
- Programmazione avanzata, ingegneria del software, progettazione di algoritmi.
- Nozioni di calcolo Intensivo, sia hardware che software, programmazione parallela, cloud computing.
- Gestione di grandi moli di dati, sia a livello di basi di dati che di architetture hardware
- Nuovi modelli di calcolo per il calcolo ad alte prestazioni, quali il quantum computing.

Un nucleo delle conoscenze sopra citate sarà acquisito in tutti i curricula, delegando eventuali approfondimenti ad insegnamenti opzionali o specifici di un curriculum.

Gli strumenti didattici per conseguire queste finalità sono la lezione frontale in aula ed esercitazioni pratiche in laboratorio informatico. Cicli di seminari ed esercitazioni aggiuntive in laboratorio permetteranno un ulteriore raffinamento di queste conoscenze, e la loro connessione con le necessità dell'industria e dei servizi.

La verifica delle conoscenze avverrà in esami di profitto che valuteranno sia la conoscenza teorica che la capacità di applicare tali conoscenze a problemi specifici, anche mediante progetti individuali e di gruppo.

Data Analytics e Machine Learning
Gli insegnamenti erogati durante il corso daranno allo studente una solida preparazione in metodi computazionali e statistici per l'estrazione di informazione e l'analisi di grandi moli di dati e le loro applicazioni:
- Tecniche fondamentali di machine learning e di statistica inferenziale.
- Modellazione statistica avanzata.
- Tecniche avanzate di machine learning statistico.
- Tecniche di intelligenza artificiale basate sul machine learning, quali deep learning.
Le conoscenze sopra citate saranno acquisite in parte in tutti i curricula, con maggiore enfasi nei curricula orientati al data-intensive computing.

Gli strumenti didattici per conseguire queste finalità sono la lezione frontale in aula ed esercitazioni pratiche in laboratorio informatico, anche applicando le metodologie apprese su casi di studio concreti. Cicli di seminari ed esercitazioni aggiuntive in laboratorio permetteranno un ulteriore raffinamento di queste conoscenze, e la loro connessione con le necessità dell'industria e dei servizi e del mondo della ricerca.

La verifica delle conoscenze avverrà in esami di profitto che valuteranno sia la conoscenza teorica che la capacità di applicare tali conoscenze a problemi specifici, anche mediante progetti individuali e di gruppo.

Modellazione e Simulazione
Gli insegnamenti erogati durante il corso daranno allo studente una solida preparazione nella costruzione di modelli matematici e nella loro analisi ed addestramento mediante metodi computazionali e statistici:
- Tecniche di analisi numerica e simulazione di equazioni.
- Modellizzazione stocastica, simulazione, stima di parametri
- Tecniche di ottimizzazione per problemi convessi, per problemi non convessi, ed ottimizzazione combinatoria.
- Metodi avanzati per la risoluzione numerica di equazioni differenziali.
- Fondamenti matematici della modellazione e del controllo automatico.
- Metodi avanzati che integrano modellazione matematico-numerica e machine learning.

Le conoscenze sopra citate saranno acquisite in parte in tutti i curricula, con maggiore enfasi nei curriculum orientata alla modellazione e simulazione.

Gli strumenti didattici per conseguire queste finalità sono la lezione frontale in aula ed esercitazioni pratiche in laboratorio informatico, ove i metodi studiati saranno implementati, anche usando librerie di calcolo scientifico, e testati su esempi concreti. Cicli di seminari ed esercitazioni aggiuntive in laboratorio permetteranno un ulteriore raffinamento di queste conoscenze, e la loro connessione con le necessità del mondo dell'industria, dei servizi, e della ricerca.

La verifica delle conoscenze avverrà in esami di profitto che valuteranno sia la conoscenza teorica che la capacità di applicare tali conoscenze a problemi specifici, anche mediante progetti individuali e di gruppo.

Conoscenze Multidisciplinari ed Applicazioni
Lo studente apprenderà o rafforzerà le sue conoscenze in uno o più ambiti applicativi di area ingegneristica o scientifica:
● Fluidodinamica e meccanica computazionale: fondamenti teorici, metodi computazionali, applicazioni a problematiche industriali e scientifiche, con particolare riferimento alle scienze della terra.
● Fisica e Chimica Computazionale: metodi computazionali per la fisica e la chimica, con particolare riferimento alla chimica teorica, alla scienza dei materiali, alla fisica della materia, alla biofisica, ed alla cosmologia computazionale.
● Computazione quantistica: fondamenti matematici e computazionali della comunicazione e dell'informazione quantistica.
● Geoscienze, climatologia e oceanografia: metodi computazionali per l'analisi di dati e la predizione in ambito delle scienze della terra, della geofisica, dell'oceanografia e della climatologia.
● Smart cities, smart transportation, smart industry: metodi computazionali e data-driven per la modellazione ed ottimizzazione di sistemi intelligenti in ambito industriale, del trasporto, della logistica, delle città intelligenti.

Le conoscenze sopra citate saranno acquisite in corsi affini, ed eventualmente in corsi a scelta, a disposizione dei vari curricula. La scelta di un eventuale ambito di specializzazione è lasciata allo studente, con il supporto dell'orientamento in itinere.

Gli strumenti didattici per conseguire queste finalità sono la lezione frontale in aula ed esercitazioni pratiche in laboratorio informatico su scenari e problemi rilevanti. Cicli di seminari ed esercitazioni aggiuntive in laboratorio permetteranno un ulteriore raffinamento di queste conoscenze, e la loro connessione con le necessità dell'industria e dei servizi.

La verifica delle conoscenze avverrà in esami di profitto che valuteranno sia la conoscenza specifica degli ambiti applicativi e la capacità di applicare metodologie matematiche, statistiche e computazionali per la soluzione di problemi specifici in tali ambiti, anche mediante progetti individuali o di gruppo.

Gli strumenti didattici per conseguire queste finalità sono la lezione frontale in aula ed esercitazioni pratiche in laboratorio informatico su scenari e problemi rilevanti. Cicli di seminari ed esercitazioni aggiuntive in laboratorio permetteranno un ulteriore raffinamento di queste conoscenze, e la loro connessione con le necessità dell'industria e dei servizi.

La verifica delle conoscenze avverrà in esami di profitto che valuteranno sia la conoscenza specifica degli ambiti applicativi e la capacità di applicare metodologie matematiche, statistiche e computazionali per la soluzione di problemi specifici in tali ambiti.

Capacità di applicare conoscenza e comprensione.

Informatica e Calcolo Intensivo
I laureati magistrali di entrambi i curricula saranno in grado di implementare algoritmi e metodi per la risoluzione di problemi complessi, saranno in grado di identificare ed usare le risorse di calcolo intensivo migliori per un dato problema. Sapranno scrivere codice efficienti e adattato alle risorse di calcolo a disposizione. Sapranno sviluppare algoritmi efficienti, anche per il calcolo parallelo. Nei curricula più orientati al calcolo data-intensive, saranno in grado di gestire grandi basi di dati applicando moderne tecniche di strutturazione dei dati e di data mining.

Gli strumenti didattici per raggiungere questi scopi sono sia delle attività di progetti, individuali e di gruppo, durante gli insegnamenti curricolari, che l'attività di tirocinio e l'elaborato finale, dove gli studenti potranno esercitare le loro competenze computazionali nella risoluzione di un problema complesso.

Data Analytics e Machine Learning
I laureati magistrali saranno in grado di utilizzare le metodologie apprese negli insegnamenti curricolari per la risoluzione di problemi concreti di elevata complessità, nell'ambito della modellizzazione statistica, nella costruzione di modelli predittivi, e nell'estrazione di informazione da grandi moli di dati. Sapranno interagire con esperti in gruppo multi-disciplinari, identificare il problema da risolvere e selezionare gli strumenti migliori per la sua risoluzione.

Gli strumenti didattici per raggiungere questi scopi sono sia delle attività di progetti, individuali e di gruppo, durante gli insegnamenti curricolari, che l'attività di tirocinio ed il l'elaborato finale, dove gli studenti potranno esercitare le loro competenze statistiche e computazionali per l'analisi di grandi moli di dati.

Modellazione e Simulazione
I laureati magistrali saranno in grado di utilizzare le metodologie apprese negli insegnamenti curricolari per la risoluzione di problemi concreti di elevata complessità, nell'ambito della modellizzazione matematica, nella costruzione di modelli, nel loro addestramento partendo da dati, e nella loro risoluzione numerica. Sapranno interagire con esperti in gruppi multi-disciplinari, identificare il problema da risolvere, costruire un opportuno modello e selezionare gli strumenti migliori per la sua risoluzione.

Gli strumenti didattici per raggiungere questi scopi sono sia delle attività di progetti, individuali e di gruppo, durante gli insegnamenti curricolari, che l'attività di tirocinio ed il l'elaborato finale, dove gli studenti potranno esercitare le loro competenze di modellazione matematica su problemi specifici di elevato interesse.

Conoscenze Multidisciplinari ed Applicazioni
I laureati magistrali svilupperanno una comprensione dei problemi basilari nell'area applicativa considerata. Apprenderanno competenze di interazione con esperti di discipline diverse, e come costruire un linguaggio comune per interagire con essi.
Svilupperanno competenze ed abilità nello scegliere e nell'usare in modo integrato ed armonizzato modelli matematici, metodi statistici e calcolo intensivo, con l'obiettivo di ottenere soluzioni efficaci al problema in esame, rispettando i vincoli al contorno sulle risorse a disposizione.

Gli strumenti didattici per raggiungere questi scopi sono sia delle attività di progetti, individuali e di gruppo, durante gli insegnamenti curricolari, che l'attività di tirocinio e l'elaborato finale.

Sbocchi occupazionali e professionali previsti per i laureati.

Esperto in High Performance e Data-Intensive Computing

Il laureato magistrale potrà svolgere funzioni lavorative di elevata responsabilità in ambiti variegati:
- Aziende/centri di ricerca che operano nel settore dell'elaborazione dell'informazione e della scienza ed ingegneria computazionali;
- Centri di calcolo
- Società ed enti pubblici coinvolte nella gestione di grandi moli di dati (per esempio: agenzia entrate, istat, poste, agenzie ambientali)
- Laboratori di ricerca e sviluppo, pubblici e privati
- Assicurazioni e istituzioni finanziarie
- Industrie biomediche e farmaceutiche
- Società di consulenza


Esperto in Simulation-Based Science and Engineering
Il laureato magistrale potrà svolgere funzioni lavorative di elevata responsabilità in ambiti variegati:
- Centri di ricerca, sviluppo e progettazione, sia pubblici che privati, che operano nel settore dell'elaborazione dell'informazione e delle scienze ed ingegneria computazionale
- Centri di calcolo
- Laboratori di ricerca e sviluppo, pubblici e privati
- Ingegneria computazionale (simulation-based engineering)
- Società informatiche che producono software tecnico scientifico
- Società di consulenza

Competenze associate alla funzione.

Esperto in High Performance e Data-Intensive Computing
L'esperto in High Performance e Data-Intensive Computing svilupperà un ampio spettro di competenze scientifiche e tecnologiche sia dal punto di vista teorico che con esperienze pratiche che gli consentiranno di affrontare con successo le sfide lavorative.

In particolare, le competenze acquisite nel percorso di LM in Scientific and Data-Intensive Computing permettono l'implementazione di modelli di sistemi complessi, e.g., dei digital twins, su sistemi di calcolo ad alte prestazioni tramite algoritmi avanzati, programmazione parallela e distribuita anche con uso di acceleratori, metodi di calcolo numerico, algoritmi di machine learning e metodi di gestione di grandi quantità di dati.

Il laureato in Scientific and Data-Intensive Computing sarà in grado di padroneggiare le tecniche di modellazione classica e guidata dai dati, analizzare, valutare e progettare sistemi di calcolo a elevate prestazioni e software in ambienti di calcolo parallelo e distribuito. Sarà inoltre in grado di applicare il metodo scientifico alla progettazione, implementazione e valutazione di modelli di sistemi complessi.

Il laureato svilupperà altresì buone capacità comunicative per interagire con altre figure professionali, capire i problemi proposti, e comunicare i risultati del suo lavoro, anche in contesto internazionale. Sarà capace di aggiornarsi in modo continuo sulle innovazioni tecnologiche e metodologiche e di proporre soluzioni innovative ed efficienti ai problemi proposti


Esperto in Simulation-Based Science and Engineering

L'esperto in Simulation-based Science and Engineering svilupperà un parco di competenze teoriche ed esperienze pratiche che gli permetteranno di affrontare con successo le sfide lavorative.
In particolare, l'esperto in Simulation-based Science and Engineering avrà solide competenze di calcolo scientifico, di modellizzazione numerica, di ottimizzazione, nonché solide competenze legate alla programmazione parallela e all'uso di diverse tipologie di risorse HPC e di data analytics.
Queste conoscenze formeranno delle solide basi concettuali per analizzare problemi complessi e proporre soluzioni che integrino in modo efficace questi strumenti.
Il laureato svilupperà altresì buone capacità comunicative per interagire con altre figure professionali, capire i problemi proposti, e comunicare i risultati del suo lavoro, anche in contesto internazionale. Sarà capace di aggiornarsi in modo continuo sulle innovazioni tecnologiche e metodologiche e di proporre soluzioni innovative ed efficienti ai problemi proposti.

Funzione in contesto di lavoro.

Esperto in High Performance e Data-Intensive Computing
I laureati in Scientific and Data-Intensive Computing sono esperti nell'utilizzare sistemi di calcolo ad alte prestazioni (high-performance computing) e la gestione delle grandi quantità di dati necessarie.

In particolare, saranno esperti degli aspetti della creazione, gestione ed utilizzo di sistemi paralleli come acceleratori per applicazioni ad elevate prestazioni di modellazione di digital twins e di analisi dei dati. Saranno in grado di astrarre e analizzare problemi reali, integrando tecnologie e competenze diverse, partecipare alla modellazione di sistemi reali e alla loro simulazione anche facendo uso dell'analisi di grandi quantità di dati. Questa figura professionale ha quindi un ruolo essenziale nell'evoluzione delle applicazioni scientifiche e tecnologiche del calcolo parallelo


Esperto in Simulation-Based Science and Engineering
L'esplosione delle tecnologie digitali di gestione ed analisi di dati e di calcolo intensivo stanno dando un forte impeto allo sviluppo della Simulation-based Science and Engineering, che combina progettazione ed analisi in silico con tecniche di continuous data integration e di ottimizzazione per dar vita a digital twin del ciclo di vita di prodotti e servizi.
I laureati in Scientific and Data-Intensive Computing saranno in grado di affrontare in squadra la progettazione di sistemi e modelli di elevatissima complessità nel contesto della Simulation-based Science and Engineering, integrando progettazione ed analisi in silico con tecniche di continuous data integration e di ottimizzazione, grazie allo sviluppo delle capacità di problem solving ed alle solide competenze matematiche, informatiche e di data analytics. Essi si potranno occupare della progettazione di algoritmi e di sistemi integrati per la simulazione e l'integrazione con i dati di modelli di prodotti e servizi, e della loro esecuzione in sistemi di calcolo ad alte prestazioni. Sapranno altresì collaborare in gruppi di ricerca per applicare queste tecniche a problemi di frontiera delle scienze fisiche e naturali.

Caratteristiche della prova finale.

La prova finale rappresenta un momento essenziale nel percorso formativo della laurea magistrale, in quanto permetterà al laureando non solo di applicare alcune metodologie apprese durante il corso, ma anche di sperimentare in pratica quali siano i problemi comunicativi e concettuali sottostanti la modellazione ed analisi di un problema complesso, in collaborazione con esperti del settore. Sarà anche un momento essenziale per perfezionare e fare propria l'idea di un uso integrato e flessibile delle metodologie e tecnologie computazionali, statistiche e matematiche fondanti del suo percorso di studi.
La prova finale consisterà in una tesi elaborata in modo originale sotto la guida di un relatore in cui il laureando affronterà un problema proposto da un laboratorio di ricerca o da un'azienda. Lo studente dovrà analizzare il problema, formalizzarlo, capire quali sono gli strumenti più efficaci per risolverlo, e presentare poi i risultati delle analisi in modo chiaro e comprensibile ad un pubblico non specialistico.