Il corso fornisce conoscenze di base su architettura del computer e sistema operativo e tratta la programmazione procedurale in C++ e l'uso di librerie per la realizzazione di grafici e fit.
20 ore di lezione frontale e 6 esercitazioni al calcolatore (ciascuna della durata di 3.5 ore circa)
Sistemi di numerazione posizionali. Sistema decimale, binario ed esadecimale. Complemento a due, numeri a virgola mobile.
Sistemi a microprocessore, architettura di Von Neumann, sistemi operativi.
Introduzione ai comandi base e al sistema operativo in ambiente GNU/Linux: esplorazione e manipolazione del file system, software di uso comune quali editor di testo, fogli di calcolo, etc.
Programmazione: Introduzione al C++. La funzione main. Le direttive del preprocessore. Dichiarazione ed inizializzazione di variabili. Tipi di variabili: char, int, double, bool. Operatori aritmetici e logici. Istruzione if, cicli: for e while. Array e stringhe. I/O da terminale e da file. Funzioni. Breve introduzioni alle classi ed alla programmazione orientata ad oggetti.
Introduzione alle librerie ROOT per la realizzazione di grafici e fit.
Verranno fornite slide su tutti gli argomenti del corso. Ulteriori informazioni sul materiale didattico saranno presenti nella pagina del corso su AulaWeb.
Ricevimento: L'orario di ricevimento è libero, previo appuntamento telefonico o via email. Giulia Rossi Dipartimento di Fisica, via Dodecaneso 33, 16146 Genova piano 7, studio 704 telefono: 010 3536239 email: rossig@fisica.unige.it
Ricevimento: L'orario di ricevimento è libero, previo appuntamento telefonico o via email. Sergio Di Domizio Dipartimento di Fisica, via Dodecaneso 33, 16146 Genova piano 2, Laboratorio L202 telefono: 010-353-6326 email: sergio.didomizio@unige.it
FRANCESCO BUATIER DE MONGEOT (Presidente)
SERGIO DI DOMIZIO (Presidente)
ROBERTA CARDINALE
LEA DI NOTO
FLAVIO FONTANELLI
MARIA CATERINA GIORDANO
ENRICO ROBUTTI
GIULIA ROSSI
LUCA VATTUONE
Prova individuale al calcolatore.
La prova d'esame è volta ad accertare la capacità degli studenti di risolvere semplici problemi (lettura di file, manipolazione di dati, calcoli numerici, produzione di grafici e fit) mediante lo sviluppo di programmi software.