Home Home Page UNITN
 

Ultimo aggiornamento: 13 aprile 2004

 
 

Strumenti

Corso di Laurea in Informatica
Programmazione 2 (2003/2004)

index

   Diario del corso

- Video della lezione (seconda parte) (QuickTime) -Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (seconda parte) (Real Player) -Attenzione! Necessaria una connessione Internet veloce!
 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
- Video della prima parte della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
- Video della prima parte della lezione (Windows Media Player) - Attenzione! Necessaria una connessione Internet veloce!
- Video della seconda parte della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
- Video della seconda parte della lezione (Windows Media Player) - Attenzione! Necessaria una connessione Internet veloce!
- Slides della lezione (Pdf) -
- Slides della lezione (pdf zippato) -
(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
- Slides della lezione (Pdf ) -
- Slides della lezione (pdf zippato) -
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Windows Media Player) - Attenzione! Necessaria una connessione Internet veloce!
(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
- Slides della lezione (Pdf stampabile) -
- Slides della lezione (Pdf zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Windows Media Player) - Attenzione! Necessaria una connessione Internet veloce!
(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
- Slides della lezione (pdf) -
- Slides della lezione (pdf zippato) -
- Video della prima parte della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della prima parte della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
- Video della seconda parte della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della seconda parte della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(Durata della lezione: 3 ore)

 

 1 marzo 2004
Marco Ronchetti
Introduzione a Java
-- passaggio di parametri a metodo
-- package
-- documentazione
-- parametri del main
- Slides della lezione (Pdf ) -
- Slides della lezione (Pdf zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(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
- Slides della lezione (Pdf ) -
- Slides della lezione (Ppdf zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(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
- Slides della lezione (Pdf) -
- Slides della lezione (pdf zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(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
- Slides della lezione (Pdf -
- Slides della lezione (Pdf zippato) -
- Video della lezione (prima parte) (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (prima parte) (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(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
- Slides della lezione (Pdf stampabile) -
- Slides della lezione (Power Point zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(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.
- Slides della lezione (Pdf stampabile) -
- Slides della lezione (Power Point zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(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++
- Slides della lezione (Pdf ) -
- Slides della lezione (Pdf zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(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
- Slides della lezione (Pdf stampabile) -
- Slides della lezione (Power Point zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(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
- Slides della lezione (Pdf stampabile) -
- Slides della lezione (Power Point zippato) -
- Video della prima parte della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della prima parte della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
- Video della seconda parte della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della seconda parte della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(Durata della lezione: 2 ore)

 

 25 marzo 2004
Marco Ronchetti
Da Java a C++
-- Copy constructor
-- Esercizi
- Slides della lezione (Pdf) -
- Slides della lezione (Pdf zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(Durata della lezione: 2 ore)

 

 29 marzo 2004
Marco Ronchetti
Da Java a C++
-- Multiple Inheritance
-- Interfacce
-- Inheritance vs. Delegation
- Slides della lezione (Pdf ) -
- Slides della lezione (Pdf zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(Durata della lezione: 2 ore)

 

 30 marzo 2004
Marco Ronchetti
Da Java a C++
-- Cast Control
-- Arrays
- Slides della lezione (Pdf stampabile) -
- Slides della lezione (Power Point zippato) -
- Video della lezione (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (seconda parte) (QuickTime) - Attenzione! Necessaria una connessione Internet veloce!
- Video della lezione (seconda parte) (Real Player) - Attenzione! Necessaria una connessione Internet veloce!
(Durata della lezione: 1 ora)

 

index

   Esercitazioni

 20 febbraio 2004 (gruppo A),
 27 febbraio 2004 (gruppo B),
 5 marzo 2004 (gruppo C)
Novella Brugnolli
Introduzione ai tool di base per Java
(Durata della lezione: 3 ore)

 

 12 marzo 2004 (gruppo A),
 16 marzo 2004 (gruppo B),
 19 marzo 2004 (gruppo C)
Novella Brugnolli
- gestione degli errori tramite il meccanismo delle eccezioni, esercizio
- il metodo costruttore in classi derivate, esercizio con richiami di notazione UML
(Durata della lezione: 3 ore)

 

 26 marzo 2004 (gruppo A),
 20 marzo 2004 (gruppo B),
 2 aprile 2004 (gruppo C)
Novella Brugnolli
ESERCIZIO:
- implementare la classe Libro, con le variabili istanza protette:
-- titolo e isbn di tipo String;
-- prezzo di tipo float
e i metodi equals e clone.
- implementare la classe Carrello con una variabile istanza, libri, di tipo array di oggetti Libro, e i metodi equals e clone (deep copy).

PER ESERCIZIO:
- implementare i metodi aggiungiLibro e togliLibro della classe Carrello
- aggiungere alla classe Libro il metodo getPrezzo() che ritorna il prezzo del libro
- implementare la classe LibroScontato, sottoclasse di Libro, con la variabile d'istanza scontoPercentuale di tipo int;
- sovrascrivere il metodo getPrezzo di Libro in LibroScontato in modo che ritorni l prezzo scontato del libro;
- implementare il metodo getConto() in Carrello che calcola il prezzo totale dei libri contenuti nel carrello;
- aggiungere un metodo main.
(Durata della lezione: 3 ore)

 

index

   Video delle lezioni da scaricare

In alternativa a vedere le lezioni via Internet (links sopra riportati) o a copiarvi i CD, potete scaricaricare direttamente i video delle singole lezioni sulla vostra macchina.
ATTENZIONE: si tratta di files molto grossi (tra 5 e 30 Megabytes)! Comunque, se avete una linea veloce e preferite questa modalitÓ, li trovate su
http://ortles.dit.unitn.it/download/Prog2/
index

   Testo degli esami dello scorso anno

 Appello di aprile 2003

 

 Appello di giugno 2003
 Appello di luglio 2003
 Appello di febbraio 2004
 Appello di giugno 2004
 Appello di luglio 2004