- Docente: Carlo Battilana
- Crediti formativi: 6
- Lingua di insegnamento: Italiano
- Moduli: Carlo Battilana (Modulo 1) Carlo Battilana (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea in Fisica (cod. 6639)
-
Orario delle lezioni (Modulo 1)
dal 16/09/2025 al 19/12/2025
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 software engineering e di strumenti a supporto
Testi/Bibliografia
Libro di testo consigliato: B. Stroustrup, Programming: Principles and Practice Using C++, 3rd edition, Addison-Wesley
Alternativamente, anche se non aggiornato agli ultimi standard del linguaggio: B. Stroustrup, The C++ Programming Language, 4th edition, Addison-Wesley
Di quest'ultimo esiste anche una traduzione italiana: B. Stroustrup, C++ - Linguaggio, libreria standard, principi di programmazione, IV edizione, Pearson
Come referenza online: C++ reference
Ulteriori risorse online verranno comunicate a lezione.
Metodi didattici
Lezioni frontali ed esercitazioni obbligatorie in laboratorio.
La frequenza dei laboratori richiede la preventiva partecipazione di tutti gli studenti ai moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, fruibili in modalità e-learning.
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. Il progetto può essere svolto in gruppo, fino a quattro persone.
- Colloquio orale riguardante la discussione del progetto e domande teoriche e pratiche sugli argomenti svolti a lezione.
La valutazione del progetto si basa su cinque criteri:
- La qualità della relazione intende valutare la capacità della relazione di accompagnare il lettore nella comprensione del programma e nelle scelte di design e implementative.
- La qualità del design del programma intende valutare quanto il design dell'applicazione sia appropriato per risolvere il problema proposto.
- La qualità dell'implementazione del programma intende valutare l'applicazione corretta dei costrutti del linguaggio C++ nell'implementazione del programma.
- La correttezza del programma intende valutare quanto il comportamento del programma in esecuzione sia aderente a quanto specificato nella consegna.
- L'originalità della soluzione intende valutare il rispetto della consegna e l'esplorazione di strumenti, librerie, tecniche aggiuntivi.
In base al grado di soddisfacimento, ogni criterio sarà valutato secondo la scala: insufficiente, sufficiente, buono, ottimo. Per accedere all'orale è necessario che ogni criterio abbia una valutazione almeno sufficiente. La valutazione media dei criteri (usando la corrispondenza sufficiente = 18, buono = 22, ottimo = 26) costituisce il voto di accesso al colloquio orale.
Maggiori dettagli sui temi progettuali e sulle modalità di consegna del progetto saranno comunicati nel corso dell'anno. A scopo indicativo sono disponibili le descrizioni per gli anni precedenti.
Scopo del colloquio orale è innanzitutto la conferma della valutazione del progetto, discutendo del contributo dello studente allo stesso. Ulteriori quesiti di contenuto teorico/pratico, migliorativi del voto di accesso, sono mirati a valutare la profondità di comprensione dei concetti appresi a lezione e la loro applicabilità alla soluzione di problemi.
Valgono gli adattamenti previsti per le studentesse e gli studenti con bisogni speciali.
Strumenti a supporto della didattica
Tutto il materiale utilizzato durante le lezioni frontali, le esercitazioni e i laboratori sono disponibili in repository Git presso un'organizzazione su GitHub.
Link ad altre eventuali informazioni
https://github.com/Programmazione-per-la-Fisica
Orario di ricevimento
Consulta il sito web di Carlo Battilana
SDGs



L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.