logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2017/2018
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 095965 - ADVANCED PROGRAMMING FOR SCIENTIFIC COMPUTING
Docente Formaggia Luca
Cfu 10.00 Tipo insegnamento Monodisciplinare

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing Ind - Inf (Mag.)(ord. 270) - BV (478) NUCLEAR ENGINEERING - INGEGNERIA NUCLEARE*AZZZZ095976 - ADVANCED PROGRAMMING FOR SCIENTIFIC COMPUTING
Ing Ind - Inf (Mag.)(ord. 270) - MI (487) MATHEMATICAL ENGINEERING - INGEGNERIA MATEMATICA*AZZZZ095965 - ADVANCED PROGRAMMING FOR SCIENTIFIC COMPUTING
095976 - ADVANCED PROGRAMMING FOR SCIENTIFIC COMPUTING

Programma dettagliato e risultati di apprendimento attesi

Advanced programming for Scientific Computing

Objectives

The course aims at providing concepts of scientific computing and C++ programming. It addresses procedural, object oriented and generic programming techniques, parallel computing with message passing (MPI) and shared memory (openMP) paradigms, debugging and profiling of computer codes, program organization, data structures and numerical algorithms.

Description

1)      Advanced C++ programming. This part aims to complete the student knowledge of computer languages by providing an exhaustive illustration of the advanced features of C++, including those added in the new C++11 standard, with an emphasis on scientific computing applications. We will also give elements of numerical linear algebra, like iterative solution of large linear systems and eigenvalue problems.

2)      Code design and organization. In this part of the course we cover the main design patterns, exception handling, static and dynamic libraries, debugging and profiling of computer codes, code versioning systems.

3)      Application of Parallel programming. In this part of the course we address practical issues of parallel programming in the contest of numerical algorithms.

 

Organization

The course comprises taught lectures in class and exercise session at the computer, where the students may practice the techniques learned during the course. A few home exercises are given to asses student performance. The final assessment is made through a project where a mathematical problem or an engineering application is solved by developing a computer program.

 


Note Sulla Modalità di valutazione

The final assessment is made through a project where a mathematical problem or an engineering application is solved by developing a computer program.


Bibliografia

Mix Forme Didattiche
Tipo Forma Didattica Ore didattiche
lezione
60.0
esercitazione
40.0
laboratorio informatico
0.0
laboratorio sperimentale
0.0
progetto
0.0
laboratorio di progetto
0.0

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.6.1 / 1.6.1
Area Servizi ICT
02/04/2020