Teachings
|
Publications
|
Research
|
Contacts
Sistema di Esercitazione
Bacheca Avvisi
SMART: String Matching Research Tool
Programmazione 2 (2010/11)
Home page del corso
Programma didattico
Bacheca avvisi
Libri e appunti
Diario delle lezioni
Ricevimento studenti
Sistema di esercitazione
Prova d'esame
Diario delle Lezioni
Giovedì 10 marzo 2011
Presentazione del corso
Programmazione ad oggetti
Classi: dichiarazione e modificatori
Tipi primitivi e tipi di riferimento
Variabili Boxed
Lunedì 14 marzo 2011
Motodi, tipi restituiti e parametri
Costruttori di classe
Metodi static factory
Alcuni esempi
Gestione della memoria in Java
Lunedì 21 marzo 2011
Metodi static factory
Costruttori telescopici
Costruttori Builder
Oggetti immutabili
Esempi
Giovedì 24 marzo 2011
Progettazione orientata agli oggetti
Ereditarietà e polimorfismo
Composizione di classi
Esempi
Interfacce e classi astratte
Gestire gli errori con le eccezioni
Lunedì 28 marzo 2011
Cattura e specifica delle eccezioni
Esempi di utilizzo delle eccezioni
Tecniche e tool per il debugging
Evitare gli errori di programmazione
Eliminazione di oggetti obsoleti
Concatenazione di stringhe
Tecniche per il calcolo in valuta
Lunedì 4 aprile 2011
Tecniche per il calcolo in valuta
Ritenzione non intenzionale di oggetti
Caso di studio: la serie di Fibonacci
Soluzione ricorsiva
Soluzione ricorsiva con memorizzazione
Soluzione iterativa
Giovedì 7 aprile 2011
Strumenti per l'analisi
Principali funzioni matematiche
Confronto della velocità di incremento
Analisi di algoritmi
Natazione asintotica
La notazione O-grande
Lunedì 11 aprile 2011
Ricorsione
Esempi di funzioni ricorsive
Ricorsione lineare
Ricorsione di coda
Ricorsione binaria
Ricorsione multipla
Giovedì 14 aprile 2011
Ricorsione e Iterazione
Trasformazione della ricersione in iterazione
Utilizzo dello stack per la trasformazione
Esempi e casi di studio
Lunedì 18 aprile 2011
Uso degli array
Inserimento di un elemento
Cancellazione di un elemento
Inserimento in un insieme ordinato
Uso delle matrici
Esempio: moltiplicazione di matrici
Giovedì 28 aprile 2011
Uso delle liste linkate
Liste linkate semplici: inserimento e cancellazione
Operazioni con le liste linkate
Lunedì 2 maggio 2011
Liste doppiamente linkate : inserimento e cancellazione
Liste doppiamente linkate ed ordinate
Liste cirolari e gestione del cursore
Ricerca all'interno di una lista
Giovedì 5 maggio 2011
Introduzione ai tipi generici
Il tipo di dato astratto stack
Interfaccia per lo stack
Implementazione di uno stack mediante array
Implementazione di uno stack mediante liste
Applicazioni dello stack
Lunedì 9 maggio 2011
Il tipo di dati astratto coda
Interfaccia per la coda
Implementazione di una coda mediante array
Implementazione di una coda mediante liste
Implementazione di una coda doppia
Implementazione di una coda mediante due stack
Lunedì 9 maggio 2011 (minicorso di C)
Introduzione al linguaggio C
tipi primitivi
tipi derivati
funzioni
preprocessore
Giovedì 12 maggio 2011
ArrayList e indici
ArrayList implementata mediante array
Implementazione con array estensibili
NodeList e posizioni
Implementazione mediante liste doppiamente linkate
Giovedì 12 maggio 2011 (minicorso di C)
puntatori
aritmetica dei puntatori
puntatori a funzione
puntatori a void
puntatori null
attributo const
operazioni su stringhe
array multidimensionali
array di puntatori
parametri di un programma
memoria dinamica
input/output
Lunedì 16 maggio 2011
Gli Iteratori
Le interfacce Iterator e Iterable
Implementazione di un iteratore
Implementazione di un oggetto iterabile
Implementazione di una PositionList iterabile
Esercizi ed esempi
Giovedì 19 maggio 2011
Gli alberi
Definizione e struttura di un albero
Proprietà di un albero
Profondità e altezza
Visita preorder, postorder e inorder
Esempi
Lunedì 23 maggio 2011
Implementazione in Java
Operazioni di base sui nodi
Iteratore dei figli di un nodo
Iteratore dei nodi di un albero
Gli alberi binari
Proprietà degli alberi binari