METODI NUMERICI PER L'INFORMATICA

Angelamaria CARDONE METODI NUMERICI PER L'INFORMATICA

0522500099
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA MAGISTRALE
INFORMATICA
2017/2018



ANNO CORSO 2
ANNO ORDINAMENTO 2016
PRIMO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
Obiettivi
CONOSCENZA E CAPACITÀ DI COMPRENSIONE
IL CORSO È FINALIZZATO A CONSENTIRE AGLI STUDENTI DI ACQUISIRE LA CONOSCENZA TEORICA DI BASE SUI PRINCIPALI METODI NUMERICI UTILI ALLO SVILUPPO DI SOFTWARE MATEMATICO PER LA RISOLUZIONE DI PROBLEMI DI CALCOLO SCIENTIFICO DI INTERESSE NELL’INFORMATICA. IN PARTICOLARE:
•TRATTAMENTO NUMERICO SEQUENZIALE E PARALLELO DI MATRICI SPARSE E DI GRANDI DIMENSIONI CON APPLICAZIONI, CALCOLO NUMERICO MATRICIALE PER ARCHITETTURE A MEMORIA DISTRIBUITA E SU GRAPHICS PROCESSING UNITS (GPUS)
•DECOMPOSIZIONE A VALORI SINGOLARI E SUO IMPIEGO NEL TRATTAMENTO DELL'INFORMAZIONE
•INTERPOLAZIONE CON APPLICAZIONE ALLA CRITTOGRAFIA
•TECNICHE DI APPROSSIMAZIONE PER LA GRAFICA COMPUTERIZZATA, BSPLINE, TRASFORMAZIONI 2D E 3D BASATE SU AFFINITÀ: ROTAZIONE, RIFLESSIONE, SCALING, SHEARING, TRASLAZIONI
•INTRODUZIONE A PHYTON PER LO SVILUPPO DI SOFTWARE MATEMATICO
OBIETTIVO DELLE LEZIONI IN LABORATORIO È RICHIAMARE L’ATTENZIONE DEGLI STUDENTI SUI PRINCIPI SU CUI SI BASA LO SVILUPPO DI SOFTWARE MATEMATICO EFFICIENTE, CON RIFERIMENTO ALLA STIMA DELL'ATTENDIBILITÀ DEI RISULTATI OTTENUTI, ALLA VALUTAZIONE DELLE PRESTAZIONI DEL SOFTWARE SVILUPPATO O UTILIZZATO, AL CONFRONTO TRA LE PRESTAZIONI DI CODICI BASATI SU METODI NUMERICI DIFFERENTI, ALLA SCRITTURA DELLA DOCUMENTAZIONE INTERNA ED ESTERNA DEL SOFTWARE SVILUPPATO.

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
IL CORSO HA COME OBIETTIVO RENDERE LO STUDENTE CAPACE DI RISOLVERE PROBLEMI DI CALCOLO SCIENTIFICO PRESENTI NELLE APPLICAZIONI INFORMATICHE, MEDIANTE LO SVILUPPO E L’UTILIZZO DI SOFTWARE MATEMATICO NEI PIÙ DIFFUSI AMBIENTI DI CALCOLO E LINGUAGGI DI PROGRAMMAZIONE.

Prerequisiti
ELEMENTI DI MATEMATICA DISCRETA E ALGEBRA LINEARE: SPAZIO DELLE MATRICI SU CAMPO REALE. ELEMENTI DI ANALISI MATEMATICA: FUNZIONI CONTINUE E PRINCIPALI TEOREMI, CONCETTO DI DERIVATA.
Contenuti
•CALCOLO PARALLELO. ARCHITETTURE PARALLELE. VALUTAZIONE DI UN ALGORITMO PARALLELO. STRATEGIE DI PARALLELIZZAZIONE PER IL CALCOLO NUMERICO MATRICIALE. PARADIGMA MPI PER ARCHITETTURE MIMD A MEMORIA DISTRIBUITA. CALCOLO PARALLELO SU GPU (GRAPHIC PROCESSING UNIT). L’AMBIENTE CUDA.
•DECOMPOSIZIONE A VALORI SINGOLARI E SUO IMPIEGO NEL TRATTAMENTO DELL'INFORMAZIONE
•INTERPOLAZIONE CON APPLICAZIONE ALLA CRITTOGRAFIA
•TECNICHE DI APPROSSIMAZIONE PER LA GRAFICA COMPUTERIZZATA, CURVE DI BEZIÈR, B-SPLINE, TRASFORMAZIONI 2D E 3D BASATE SU AFFINITÀ: ROTAZIONE, RIFLESSIONE, SCALING, SHEARING, TRASLAZIONI
•INTRODUZIONE A PYTHON PER LO SVILUPPO DI SOFTWARE MATEMATICO
Metodi Didattici
6 CFU, 48 ORE, PER
-LEZIONI FRONTALI
-LABORATORIO
-SVILUPPO DI ELEMENTI DI SOFTWARE MATEMATICO

OBIETTIVO DELLE LEZIONI IN LABORATORIO È RICHIAMARE L’ATTENZIONE DEGLI STUDENTI SUI PRINCIPI SU CUI SI BASA LO SVILUPPO DI SOFTWARE MATEMATICO EFFICIENTE, CON RIFERIMENTO ALLA STIMA DELL'ATTENDIBILITÀ DEI RISULTATI OTTENUTI, ALLA VALUTAZIONE DELLE PRESTAZIONI DEL SOFTWARE SVILUPPATO O UTILIZZATO, AL CONFRONTO TRA LE PRESTAZIONI DI CODICI BASATI SU METODI NUMERICI DIFFERENTI.
Verifica dell'apprendimento
•PROVA PRATICA: ESECUZIONE DEL SOFTWARE MATEMATICO SVILUPPATO (ANCHE IN PICCOLI GRUPPI) O UTILIZZATO NELLE LEZIONI DI LABORATORIO PER VERIFICARE LE CAPACITÀ DELLO STUDENTE DI VALUTARE ATTENDIBILITÀ, ACCURATEZZA ED EFFICIENZA, E DI CONFRONTARE LE PRESTAZIONI DI CODICI DIVERSI.
•COLLOQUIO ORALE SUI CONTENUTI TEORICI PER VERIFICARE LA CONOSCENZA DELLE NOZIONI DI BASE DEI METODI NUMERICI TRATTATI E I PRINCIPI PER LO SVILUPPO DI ALGORITMI NUMERICI AD ALTE PRESTAZIONI.
•PER GLI STUDENTI CHE FREQUENTANO IL CORSO SONO PREVISTE DUE PROVE IN ITINERE, SECONDO LE STESSE MODALITÀ DELL’ESAME.
Testi
1.ALMERICO MURLI, LEZIONI DI CALCOLO PARALLELO, LIGUORI EDITORE SRL, 2006.
2.LES PIEGL, WAYNE TILLER, THE NURBS BOOK, SPRINGER SCIENCE & BUSINESS MEDIA, 2012.
3.ALFIO QUARTERONI, FAUSTO SALERI, INTRODUZIONE AL CALCOLO SCIENTIFICO: ESERCIZI E PROBLEMI RISOLTI CON MATLAB. SPRINGER SCIENCE & BUSINESS MEDIA, 2007.

TESTI DI APPROFONDIMENTO (MANUALI) PER LO SVILUPPO DI SOFTWARE
4.CLEVE MOLER, MATLAB USERS' GUIDE, UNIVERSITY OF NEW MEXICO, 1982,
HTTPS://CCRMA.STANFORD.EDU/~JOS/MATDOC/MATDOC.PDF
5.GUIDO VAN ROSSUM, IL TUTORIAL DI PYTHON,
HTTP://DOCS.PYTHON.IT/HTML/TUT/TUT.HTML
6.MPI: A MESSAGE-PASSING INTERFACE STANDARD VERSION 3.0, 2012, HTTP://MPI-FORUM.ORG/DOCS/MPI-3.0/MPI30-REPORT.PDF
7.CUDA PROGRAMMING GUIDE 1.0
HTTP://DEVELOPER.DOWNLOAD.NVIDIA.COM/COMPUTE/CUDA/1.0/ NVIDIA_CUDA_PROGRAMMING_GUIDE_1.0.PDF
Altre Informazioni
•ANCARDONE@UNISA.IT
•HTTP://ELEARNING.INFORMATICA.UNISA.IT/EL-PLATFORM/
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-05-14]