16 febbraio 2004
|
Marco Ronchetti
|
Introduzione al corso: Richiami di C++ di base
-- Il modello di memoria del C++
-- Puntatori, Reference, Funzioni
-- Scope delle variabili, Passaggio di parametri
-- Principio di Parna
|
(Durata della lezione: 2 ore)
|
|
20 febbraio 2004
|
Marco Ronchetti
|
Richiami del C++ di base:
- PRIMA PARTE:
-- Arrays
-- Relazione tra array e puntatori
-- Operazione di incremento dei puntatori
-- Passaggio di arrays a funzioni
|
- SECONDA PARTE
-- Allocazione dinamica di memoria: heap, new e delete
-- stringhe in C++
-- Problemi tipici in C++: memory leaks, puntatori, arrays, stringhe, operatore ==
Introduzione al problema guida: scrittura di una pila riusabile
-- Paradigm shift: da "cosa fa un programma?" a "quali sono gli elementi costituitivi?"
-- funzione per la creazione di una pila
-- funzione per la distruzione di una pila
|
(Durata della lezione: 3 ore)
|
|
23 febbraio 2004
|
Marco Ronchetti
|
Richiami del C++ di base:
-- Direttive del precompilatore del C
-- Strategie di debugging
Il problema guida: scrittura di una pila riusabile
-- metodi "cresci","inserisci","estrai"
-- il problema della copia
|
(Durata della lezione: 2 ore)
|
|
24 febbraio 2004
|
Marco Ronchetti
|
Introduzione al problema guida: scrittura di una pila riusabile
-- il problema della collisione dei nomi di funzione
-- member data e member functions
-- il parametro implicito "this"
-- Dove si scrive il codice delle member functions?
-- Il costruttore
-- Il distruttore
-- Funzioni inline
-- Space-time tradeoff
-- Parametri di default
-- Controllo di accesso: private e public
-- Le classi
|
(Durata della lezione: 2 ore)
|
|
27 febbraio 2004
|
Marco Ronchetti
|
Introduzione a Java
-- Portabilità del codice
-- Bytecode e Java Virtual Machine
-- Struttura di un programma in Java
-- Vantaggi e svantaggi di Java
-- Caratteristiche di Java
-- Storia di Java
-- Sintassi di Java
-- Garbage collection
|
(Durata della lezione: 3 ore)
|
|
1 marzo 2004
|
Marco Ronchetti
|
Introduzione a Java
-- passaggio di parametri a metodo
-- package
-- documentazione
-- parametri del main
|
(Durata della lezione: 2 ore)
|
|
2 marzo 2004
|
Marco Ronchetti
|
Introduzione a Java
-- ereditarietà
-- method overriding;
-- super
-- object based vs. object oriented programming
-- concatenamento dei costruttori
-- modificatori di visibilità
-- modificatore final
-- asserzioni
Il problema guida: costruzione d una Pila riusabile
-- scrittura della Pila in Java
-- Scrittura di un Coda come sottoclasse di Pila
Introduzione a UML - Class Diagrams
-- Relazione is-a: Ereditarietà
-- Relazioni has-a e part-of: Aggregazione e Composizione
-- Altre relazioni
-- Esempi di uso di UML
|
(Durata della lezione: 2 ore)
|
|
5 marzo 2004
|
Marco Ronchetti
|
Introduzione a Java
-- sintesi automatica del costruttore void
-- arrays di oggetti
-- gestione degli errori: try-catch-finally
Introduzione a UML - Class Diagrams
-- Ricorsività della relazione Container-Component
-- Introduzione al concetto di Design Pattern
|
(Durata della lezione: 3 ore)
|
|
8 marzo 2004
|
Marco Ronchetti
|
Introduzione a Java
-- variabili static
-- metodi static
-- Input/output
|
(Durata della lezione: 2 ore)
|
|
9 marzo 2004
|
Marco Ronchetti
|
Introduzione a Java
-- classi wrapper
-- Polimorfismo
-- Cast tra classi
-- upcast e downcast
|
(Durata della lezione: 2 ore)
|
|
12 marzo 2004
|
Marco Ronchetti
|
Introduzione a Java
-- equals()
-- clone()
-- compilazione condizionale
|
(Durata della lezione: 2 ore)
|
|
(Durata della lezione: 3 ore)
|
|
15 marzo 2004
|
Marco Ronchetti
|
Introduzione a Java
-- upcast e downcast
-- Polimorfismo
-- Classi astratte
-- Rapresentazione UML di Liste Linkate
|
(Durata della lezione: 2 ore)
|
|
16 marzo 2004
|
Marco Ronchetti
|
Da Java a C++
-- confronto dei linguaggi
-- Ereditarietà in C++
-- Costruttori in C++
-- Distruttori in C++
-- Polimorfismo in C++
-- metodi virtual, static e dynamic binding
Ripasso
-- Richiami sulla clone in Java
ATTENZIONE! La slide 17 proiettata a lezione conteneva un errore! Qui trovate la versione corretta. Nella Thread dal titolo "RIEPILOGO SU COSTRUTTORI E DISTRUTTORI" del forum trovate una discussione riassuntiva sulle poroblematiche dei distruttori virtuali.
|
(Durata della lezione: 2 ore)
|
|
19 marzo 2004
|
Marco Ronchetti
|
Da Java a C++
-- protected in Java e C++
-- oggetti come variabili automatiche in C++
-- Polimorfismo in C++
|
(Durata della lezione: 2 ore)
|
|
22 marzo 2004
|
Marco Ronchetti
|
Da Java a C++
-- Operator Overloading
-- Esempio: Overloading dell'operatore + per la classe Integer
-- metodi friend
-- Esempio: Overloading dell'operatore << per la classe Pila
-- Esempio: Overloading dell'operatore == per la classe Pila
-- Esercizi: costruzione della classe String
|
(Durata della lezione: 2 ore)
|
|
23 marzo 2004
|
Marco Ronchetti
|
Da Java a C++
-- Overloading dell'operatore di assegnazione
-- Deep copy vs. shallow copy
-- Copy constructor
|
(Durata della lezione: 2 ore)
|
|
25 marzo 2004
|
Marco Ronchetti
|
Da Java a C++
-- Copy constructor
-- Esercizi
|
(Durata della lezione: 2 ore)
|
|
29 marzo 2004
|
Marco Ronchetti
|
Da Java a C++
-- Multiple Inheritance
-- Interfacce
-- Inheritance vs. Delegation
|
(Durata della lezione: 2 ore)
|
|
30 marzo 2004
|
Marco Ronchetti
|
Da Java a C++
-- Cast Control
-- Arrays
|
(Durata della lezione: 1 ora)
|
|