Laboratorio di tecnologie dell'informazione

Registro lezioni a.a. 2012-2013


11 Marzo 2013 - 4 ore:

Introduzione al corso

Rivisitazione di "Hello world"

Differenze tra C e C++:

Lucidi:

1-presentazione.pdf
2-introduction.pdf
2b-hello world.pdf
2c-compiling-debugging hello world.pdf

Esercizi:
programma suddiviso in più unità di compilazione


14 Marzo 2013 - 2 ore:

Classi ed oggetti

Lucidi:

3-classes and objects.pdf


18 Marzo 2013 - 4 ore laboratorio:

Esercitazione su disegno e scrittura classe
Istanziazione oggetti
Invocazione metodi
Passaggio argomenti per riferimento

Esercizi:
programma+classe


2 Marzo 2013 - 2 ore:

Classi ed oggetti

Lucidi:
3-classes and objects.pdf


25 Marzo 2013 - 4 ore laboratorio:

Esercitazione su costruttore e classi:

Esercizio per casa: creazione classe Dado e overloading costruttore

Esercizi (risolti):

programma


4 Aprile 2013 - 2 ore

Classi

Lucidi:
3-classes and objects.pdf

Esercizi:

programma (uso membri statici e funzione friend)


8 Aprile 2013 - 3 ore

Ereditarietà

Lucidi:

4-inheritance.pdf

Esercizi:

  1. Nel seguente programma è mostrata l'implementazione dell'operatore == per la classe Weapon. Fornire un'implementazione per la classe Character.
    Nota: anche l'arma del personaggio deve essere considerata nella comparazione.
  2. Trasformare la classe Dice in modo tale che il metodo di lancio del dado sia statico e che l'inizializzazione del generatore di numeri casuali venga effettuata sul primo lancio e, a seguire, ogni tre lanci.
  3. Creare due classi: Knight e Monster, che estendono Character.
    1. Rendere il metodo fight della classe base virtuale.
    2. Monster deve avere due attributi: treasure e fear (interi), Knight aggiunge l'attributo level (intero).
    3. Nell'override del metodo virtuale fight nella classe Knight, se l'oggetto ha attributo level maggiore di una soglia far effettuare un secondo attacco.
    4. Nell'override del metodo virtuale fight nella classe Monster, se l'oggetto ha attributo fear maggiore di una soglia far aumentare il danno effettuato in caso di attacco effettuato con successo.

programma


15 Aprile 2013 - 4 ore laboratorio:

Esercizi su creazione sottoclassi e polimorfismo

Esercizi:

programma (con soluzioni a esercizi precedenti)


18 Aprile 2013 - 2 ore

Ereditarietà:

Lucidi:

4-inheritance.pdf

Esercizi:


22 Aprile 2013 - 4 ore

Tecniche di ingegneria del software

Const-correctness

Cast

Funzionamento del compilatore e linker

4b-classes and objects-software engineering methods
4c-const and cast
2d-compiler_libraries



29 Aprile 2013 - 3 ore laboratorio:

Esercizi:

da aggiungere...


2 Maggio 2013 - 2 ore

5-templates.pdf


6 Maggio 2013 - 2:30 ore laboratorio:

Esercitazione su classi e funzioni template

Esercizi:


9 Maggio 2013 - 2 ore

Lucidi:
6-stl


13 Maggio 2012 - 3.5 ore laboratorio:

Esercizi

Esercitazione a casa:


16 Maggio 2013 - 2 ore

Lucidi:
7-exceptions
3b-coding style guidelines


20 Maggio 2012 - 3 ore

Lucidi:
8-resource management
9-design_patterns-adapter


27 Maggio 2013 - 3 ore: laboratorio

Esercizi

Esercizi per casa:


30 Maggio 2013 - 2 ore

10-design_patterns-observer


3 Giugno 2013 - 3 ore laboratorio:

Esercizi:


6 Giugno 2013 - 2 ore:

11-design_pattern-factory-singleton


10 Giugno 2013 - 3 ore: laboratorio

Esercizi:


CONCLUSIONE DEL CORSO