ORGANIZZAZIONE
Master universitario di II livello
Anno accademico 2022/2023
I EDIZIONE
Direttore del Master
Italo EPICOCO
Consiglio Scientifico
Massimo CAFARO
Antonella LONGO
Luca MAINETTI
Francesco TOMMASI
Luigi PATRONO
Ivonne SGURA
Giorgia Verri
Responsabile del procedimento e Referente amministrativo
Sara Quarta
E-mail: sara.quarta@unisalento.it
Telefonico: +39 0832 29 9015
FUNZIONI / COMPETENZE
Il calcolo scientifico è una parte indispensabile di quasi tutte le indagini scientifiche e dello sviluppo tecnologico nelle università, nei laboratori governativi e nel settore privato. Tipicamente un team di calcolo scientifico consiste di diverse persone con competenze di matematica numerica, statistica, e in generale di modellistica. Ciò che spesso manca è la competenza nei moderni strumenti di calcolo come l’utilizzo dei paradigmi di programmazione ad alte prestazioni su architetture parallele ed il connubio con le librerie numeriche gia’ disponibili su architetture di calcolo parallele.
La figura professionale di scientific programmer sviluppa le competenze informatiche per la realizzazione di software di calcolo scientifico ad alte prestazioni padroneggiando le strutture dati avanzate, le tecniche di programmazione parallela e distribuita e la conoscenza delle architetture hardware ad alte prestazioni.
ORDINAMENTO DIDATTICO
Il Master è strutturato in 1500 ore di cui:
- n. 336 ore di didattica frontale;
- n. 150 ore di stage;
- n. 150 ore previste per la prova finale;
- le restanti ore sono per lo studio individuale.
Le lezioni si terranno in modalità telematica sincrona (collegamento tramite Microsoft Teams).
Ai partecipanti è richiesto l’obbligo di frequenza di almeno il 75% delle attività didattiche.
Periodo di svolgimento
Il corso sarà avviato indicativamente il primo novembre 2022 e si concluderà entro il 30 Ottobre 2023.
Numero minimo/massimo dei posti
Minimo: 10 – Massimo: 30
Requisiti di ammissione previsti nella nota di progetto del Master
Per l’ammissione al Master è richiesto possedere la laurea Magistrale/Specialistica in una delle seguenti aree:
Laurea Magistrale/Specialistica in Informatica (LM-18)
Laurea Magistrale/Specialistica in Matematica (LM-40)
Laurea Magistrale/Specialistica in Scienze dell’economia (LM- 56)
Laurea Magistrale/Specialistica in Scienze economico-aziendali (LM-77)
Laurea Magistrale/Specialistica in Fisica (LM-17)
Laurea Magistrale/Specialistica in Biologia (LM-6)
Laurea Magistrale/Specialistica in Metodologie informatiche per le discipline umanistiche (LM-43)
Laurea Magistrale/Specialistica in Ingegneria delle telecomunicazioni (LM-27)
Laurea Magistrale/Specialistica in Ingegneria gestionale (LM- 31)
Laurea Magistrale/Specialistica in Ingegneria aerospaziale e aeronautica (LM-20)
Laurea Magistrale/Specialistica in Ingegneria civile (LM-23) Laurea Magistrale/Specialistica in Ingegneria meccanica (LM- 33)
Laurea Magistrale/Specialistica in Ingegneria delle Telecomunicazioni (LM-27)
Laurea Magistrale/Specialistica in Ingegneria Informatica (LM- 32).
Il titolo di studio richiesto per l’ammissione al Master dovrà essere posseduto alla data di avvio del Master. Inoltre, è prevista la possibilità di presentare domanda come partecipanti per singoli moduli o in qualità di uditori (in quest’ultimo caso per soggetti non in possesso del requisito richiesto per l’accesso) solo dopo l’avvio del Master secondo le modalità e le tempistiche che saranno successivamente rese note sul sito internet del Dipartimento.
Modalità di ammissione
Per l’ammissione al Master il Consiglio Scientifico nominerà una Commissione di valutazione composta da almeno 3 membri di cui farà parte il direttore del Master e un rappresentante della Fondazione euro-Mediterraneo sui Cambiamenti Climatici. Ai primi 10 candidati in graduatoria verrà inoltre assegnata la borsa di studio per l’iscrizione al master.
La Commissione procederà alla valutazione delle domande pervenute ed alla formazione delle graduatorie sulla base dei seguenti criteri:
- voto di laurea: 1/10 del voto effettivo di laurea. Più 1 punto per la lode;
- master e corsi di perfezionamento e specializzazione: fino ad un massimo di 5 punti;
- pubblicazioni attinenti ai temi del master: fino a un massimo di 10 punti;
- attività di lavoro dipendente ed autonomo prestato in materie attinenti al Master: fino ad un massimo di 10 punti.
- Dottorato di ricerca: fino ad un massimo di 5 punti Almeno il 20% dei posti è riservato gratuitamente al personale dell’Università del Salento che sia in possesso di una delle lauree previste per l’ammissione, previa verifica della sostenibilità finanziaria.
La graduatoria (o l’elenco degli ammessi) alla frequenza sarà pubblicata sul sito internet di Ateneo nella Sezione “Didattica” – “Dopo la laurea” – “Master e corsi di perfezionamento”, nonché sul sito web del Dipartimento.
Contributo d'iscrizione dei Master
L’iscrizione al Master richiede un contributo di euro 3.500,00.
È previsto l’esonero dalle tasse di iscrizione per coloro che, da idonea documentazione, risultino in situazione di handicap con riconosciuta percentuale di invalidità pari o superiore al 66%.
Contributo di iscrizione per uditori (indicare importo per ciascun modulo): € 150/CFU.
Sono previste n. 10 borse studio messe a disposizione dalla Fondazione Centro Euro-Mediterraneo sui Cambiamenti Climatici assegnate ai primi 10 studenti nella graduatoria di merito selezionati dalla Commissione di valutazione.
INSEGNAMENTI
Attività formative (titolo) | Risultati di apprendimento attesi |
ANALISI NUMERICA | Essere capaci di implementare i metodi di calcolo numerico quali i metodi numerici per la soluzione di equazioni differenziali, interpolazione, formule di quadratura; sviluppare propri codici al calcolatore, applicarli con senso critico anche a problemi di tipo applicativo; essere capaci di leggere e comprendere, in modo autonomo, testi anche specialistici di Calcolo Numerico. |
LIBRERIE NUMERICHE | Essere in grado di applicare in modo efficiente ed appropriato le principali librerie numeriche attualmente disponibili in ambito scientifico quali: FFTW, Blas, Lapack, PETSc, Trilinos, Magma. |
ELEMENTI DI PROGRAMMAZIONE | Acquisire conoscenza di base con la programmazione procedurale, costrutti per il controllo di flusso e strutture dati elementari |
PROGRAMMAZIONE SCIENTIFICA IN C/C++ E PYTHON | Acquisire dimestichezza con la programmazione sequenziale mediante i linguaggi C/C++ e PYTHON; acquisire padronanza su algoritmi e strutture dati utilizzati per il calcolo scientifico; essere in grado di analizzare le prestazioni e identificare i colli di bottiglia di un software scientifico. |
SISTEMI OPERTIVI | Acquisire padronanza sulle operazioni svolte da un sistema operativo UNIX-based per la gestione di una risorsa di calcolo; essere in grado di programmare usando il linguaggio di uan shell (shell scripting). |
TECNOLOGIE CLOUD TECHNOLOGIES E BIG DATA | Acquisire conoscenze sulle tecnologie per la gestione di grandi moli di dati in cloud; acquisire conoscenze sulle tecnologie per la containerization e la virtualization; |
ALGORITMI DI DATA MINING AND MACHINE LEARNING | Acquisire padronanza sui principali algoritmi di data mining; acquisire padronanza sugli approcci machine learning supervised e unsupervised; essere in grado di applicare algoritmi di machine learning in diversi contesti applicativi. |
MODELLAZIONE NUMERICA PER IL CLIMA | Acquisire competenze nella modellazione numerica di fenomeni fisici sia di tipo atmosferico sia oceanico o idrologico; essere in grado di applicare approcci numerici al caso di studio climatico. |
METODI NUMERICI | Saper applicare metodi numerici per la soluzione di equazioni alle derivate parziali; Metodi alle differenze finite, metodi agli elementi finiti, metodi ai volumi finiti; schemi di discretizzazione lungo lo spazio e lungo il tempo. Metodi impliciti e metodi espliciti. |
MODELLAZIONE NUMERICA PER LA BIODIVERSITA’ ED ECOSISTEMI | Acquisire competenze nella modellazione dei sistemi biologici. |
PROGRAMMAZIONE PARALLELA CON MPI e OPENMP | Acquisire competenze nella programmazione parallela mediante i paradigmi shared memory e distributed memory; essere in grado di progettare e sviluppare un algoritmo parallelo; essere in grado di misurare le prestazioni di applicazioni parallele; essere in grado di fare il debug di applicazioni parallele. |
ARCHITETTURE PARALLELE | Acquisire dimestichezza con la struttura hardware di architetture ad alte prestazioni; essere in grado di operare su architetture parallele per la sottomissione di job ed il monitoraggio delle risorse hardware; padroneggiare i processi per la gestione di file system su architetture parallele. |