81784 - PROGRAMMAZIONE PER LA FISICA

Anno Accademico 2019/2020

  • Docente: Francesco Giacomini
  • Crediti formativi: 6
  • SSD: FIS/01
  • Lingua di insegnamento: Italiano
  • Moduli: Francesco Giacomini (Modulo 1) Angelo Carbone (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Bologna
  • Corso: Laurea in Fisica (cod. 9244)

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

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 e valutazione 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