81784 - PROGRAMMAZIONE PER LA FISICA

Scheda insegnamento

Anno Accademico 2019/2020

Conoscenze e abilità da conseguire

Al termine del corso lo studente possiede una conoscenza del linguaggio di programmazione C++ adeguata e sufficiente ad affrontare e risolvere semplici problemi di Fisica mediante programmi eseguiti al calcolatore. In particolare è in grado di compiere tutte le operazioni di acquisizione e scrittura di dati, sia in forma testuale sia in forma binaria, e di elaborarli secondo necessità, specialmente riguardo a esperimenti scientifici

Programma/Contenuti

Cenni di architettura degli elaboratori e di sistemi operativi

Linguaggio macchina e linguaggio di programmazione di alto livello

Perché usare il C++

Oggetti, tipi, variabili, costanti

Operare su oggetti tramite espressioni

Istruzioni per strutturare un programma

Definizione e uso di funzioni

Definizione di nuovi tipi

Sistema di input/output

Programmazione generica

Allocazione dinamica di memoria

La Standard Library del C++: contenitori e algoritmi

Polimorfismo dinamico (o programmazione object-oriented)

Prevenzione e gestione degli errori

Cenni di concorrenza e parallelismo

Cenni di software engineering e di strumenti a supporto

Testi/Bibliografia

Come introduzione al C++: B. Stroustrup, A tour of C++

Come referenza: C++ reference

Metodi didattici

Lezioni frontali ed esercitazioni obbligatorie in laboratorio.

Modalità di verifica dell'apprendimento

L'esame consiste in due prove:

  1. progetto riguardante l'implementazione di un programma C++ secondo indicazioni date a lezione. Il progetto è svolto in parte durante le ore di laboratorio, in parte in autonomia.
  2. colloquio orale riguardante la discussione del progetto e domande teoriche e pratiche sugli argomenti svolti a lezione.

Al colloquio si accede solo con una valutazione sufficiente del progetto.

Maggiori dettagli sono disponibili su IOL.

Su IOL sono anche disponibili ulteriori indicazioni per gli studenti iscritti al corso in anni precedenti il 2019/2020.

Strumenti a supporto della didattica

La presentazione e gli esempi mostrati a lezione sono disponibili in una repository git

Orario di ricevimento

Consulta il sito web di Francesco Giacomini

Consulta il sito web di Angelo Carbone