- 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:
- 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.
- 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