Linguaggio di programmazione C: richiamo delle nozioni di base con lo svolgimento di esercizi. Strutture e puntatori. Sistema operativo Unix: gestione dei processi, gestione della memoria, gestione dell'input/output, comunicazione tra i processi sia all'interno del sistema che fra sistemi collegati via rete: socket. Scrittura di semplici programmi per lo scambio di dati fra processi sia utilizzando la rete che un collegamento diretto tramite sistema operativo. Linguaggio ad oggetti C++
B.Kernighan D.M.Ritchie -The C programmin language - Prentice Hall Software Series
M.Bach - The Design of The Unix Operating System - Prentice-Hall International Ed.
B.Stroustrup - The C++ Programming Language - Addison-Wesley
C.S.Horstmann - Practical Object-Oriented Development in C++ and Java - Jhon Wiley & Sons
Obiettivi Formativi
Conoscenze acquisite: metodi di programmazione con strutture e puntatori. Classi di oggetti. Funzionamento ed utilizzo della rete.
Competenze acquisite: come scrivere un programma utilizzando una schematizzazione del problema ad oggetti.
Capacità acquisite al termine del corso: scrittura di programmi client e server per comunicazione dati sulla rete. Scrittura di classi di oggetti: metodi e loro utilizzo.
Prerequisiti
Conoscenza del linguaggio di programmazione C.
Metodi Didattici
3 CFU
Esercitazioni al computer: 12 di 3h l'una.
Altre Informazioni
Orario di ricevimento: orario d'ufficio su appuntamento via e-mail bini@fi.infn.it
Modalità di verifica apprendimento
Scrittura ed esecuzione di un semplice programma in linguaggio C o C++
Programma del corso
Linguaggio di programmazione C: richiamo delle nozioni di base con lo svolgimento di esercizi. Strutture e puntatori. Sistema operativo Unix: gestione dei processi, gestione della memoria, gestione dell'input/output, comunicazione tra i processi sia all'interno del sistema che fra sistemi collegati via rete: socket. Scrittura di semplici programmi per lo scambio di dati fra processi sia utilizzando la rete che un collegamento diretto tramite sistema operativo. Linguaggio ad oggetti C++: definizione di classe, ereditarietà e polimorfismo. Esempi di utilizzo della libreria standard. Programmi applicativi per il trattamento dei segnali prodotti da rivelatori di particelle.