Laboratorio di Informatica
Ingegneria Informatica
primo anno
Ing. Antonio Monteleone
A.A. 2006/07 – 4° ciclo
Laboratorio di Informatica – Antonio Monteleone
1
Obiettivi del corso
• Insegnare la programmazione, in
particolare
– il passaggio dall’algoritmo al programma
– la programmazione orientata a oggetti
(incapsulamento, ereditarietà, polimorfismo)
– la programmazione generica (template)
attraverso tecniche, esempi e casi d’uso
• Linguaggio di programmazione: C++
• Alla fine del corso: buone capacità di
programmazione in C++
Laboratorio di Informatica – Antonio Monteleone
2
Informazioni
Orario del corso:
• Mercoledì
• Sabato
14:00 – 16:45 Aula 2 PP2
9:30 – 12:15 Aula 2 PP2
Sito del corso www.uniroma2.it/didattica
Laboratorio di Informatica bis (Antonio Monteleone)
Indirizzo email: [email protected]
Inserire sempre il prefisso “labinfo:” nell’oggetto
dell’email
Registrazione:
Inviare un’email con oggetto “labinfo: registrazione”
entro due settimane dall’inizio del corso
Inserire Cognome, Nome, Matricola e anno di corso nel
corpo dell’email
Laboratorio di Informatica – Antonio Monteleone
3
Argomenti (1/4)
•
•
•
•
•
•
Ambienti di sviluppo
Uso e sviluppo di librerie (statiche e dinamiche)
Strutturazione dei progetti
Algoritmi di ordinamento e ricerca su array
Array bidimensionali
Stringhe zero-terminate e ricerca di
sottostringhe
• Una classe Tokenizer
• Numeri in virgola fissa
Laboratorio di Informatica – Antonio Monteleone
4
Argomenti (2/4)
• La programmazione generica in C++: i
template (classi, funzioni)
– Array dinamici
– Array associativi
• Iteratori: concetto e implementazione
• Algoritmi generici su classi contenitore
• La libreria standard del linguaggio (..,
STL,..)
Laboratorio di Informatica – Antonio Monteleone
5
Argomenti (3/4)
• File I/O in C++
–
–
–
–
–
Stream su file (ifstream, ofstream)
Stream su stringhe (istringstrean, ostringstream)
Strutturazione di file in record
Ricerche su file
Implementazioni di lettori/scrittori di file
• CSV (Comma Separated Values)
• Lettore di file WAV
Laboratorio di Informatica – Antonio Monteleone
6
Argomenti (4/4)
• La gestione automatica della memoria: Smart
Pointers
• Un parser di espressioni aritmetiche
• GUI (Graphical User Interface)
programming (cenni)
• Considerazioni e raccomandazioni sull’uso
pratico del C++
• Cenni a tecniche, idiomi di programmazione
e pattern (singleton, factory, …)
Laboratorio di Informatica – Antonio Monteleone
7
Riferimenti
•
Sugli elementi di base del linguaggio C++
– Lippman, Lajoye, The C++ Primer, 3rd Edition - Addison Wesley
– Pohl, Object-Oriented Programming Using C++, 2nd Edition - Addison
Wesley
– Stroustrup, The C++ Programming Language, 3rd Edition - Addison
Wesley
•
Su trucchi e tranelli in C++
– Myers, Effective C++, Addison Wesley
– Myers, More Effective C++, Addison Wesley
– Coplien, Advanced C++, Addison Wesley
•
Su STL
– Glass, Schuchert, The STL <PRIMER>, Prentice Hall
– Ammeraal, Wiley, STL for C++ Programmers
– Musser, Saini, STL Tutorial and Reference Guide, Addison Wesley
•
Sui Design Patterns
– Gamma, Helm, Johnson, Vlissides, Design Patterns, Addison Wesley
Laboratorio di Informatica – Antonio Monteleone
8