Prerequisiti | Obiettivi | Programma |
Materiale didattico | Orario delle lezioni | Ricevimento studenti |
Diario delle lezioni | Modalità d'esame | |
Prove d'esame |
Vengono presentati alcuni algoritmi fondamentali per problemi di ordinamento, ricerca e selezione, alcuni problemi numerici, evidenziandone le caratteristiche di efficienza attraverso l'analisi asintotica.
Vengono descritti i principali metodi di codifica dell'informazione
Alla fine del corso lo studente sarà in grado di
Da definire
Testi consigliati
|
|
Strumenti di programmazione
|
|
Altri link rilevanti
|
Durante il corso saranno fissate alcuni test con valutazione, che in caso positivo saranno considerate in sede di esame
L'esame, se non sono state superate le prove di valutazione, consiste in una prova scritta ed un colloquio.
Nella prova scritta si richiede di scrivere o completare un sorgente Java e/o di rispondere a domande.
Non è permessa la consultazione di materiale cartaceo, ne' di quanto non previsto nel paragrafo precedente. torna all'inizio
1 marzo 2004 | |
---|---|
Argomenti | Introduzione al corso Origini del linguaggio Java Richiami sulla compilazione/interpretazione di un programma in linguaggio evoluto Il ciclo di compilazione Java La Java Virtual Machine Esempi di programmi Java I metodi System.out.print e System.out.println Cenni all'uso di variabili, assegnazioni, strutture di controllo if
e while |
Riferimenti al testo | Capitolo 1: tutto. |
Listati ed esercizi proposti |
|
2 marzo 2004 | |
---|---|
Argomenti | Tipi primitivi: aritmetici, carattere, boolean Dichiarazione di variabili, variabili final Uso di literal Operatori aritmetici Costruzione di espressioni complesse Precedenza tra operatori Conversioni implicite ed esplicite, operatore cast Cenni all'operatore relazionale di uguaglianza == |
Riferimenti al testo | Capitolo 2: tutto, tranne operatori relazionali e logici. |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
4 marzo 2004 (laboratorio) | |
---|---|
Argomenti | Descrizione dei pacchetti JRE (Java Runtime Environment) e
SDK (Software Development Kit) Editing di programmi Java con Blocco Note Compilazione ed esecuzione da "Prompt dei comandi" usando gli strumenti javac e java del SDK |
Riferimenti al testo | Appendice A. |
Listati ed esercizi proposti |
torna all'elenco delle lezioni
8 marzo 2004 | |
---|---|
Argomenti | Operatori relazionali e logici Istruzione di selezione if ... else , if nidificatiIstruzione composta { ... } |
Riferimenti al testo | Capitolo 3. |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
9 marzo 2004 | |
---|---|
Argomenti | Istruzioni di ciclo: l'istruzione while Uso di variabili boolean Operatore di autoincremento postfisso ++ Metodi della classe java.swing.JOptionPane per
l'input/output: showInputDialog e showMessageDialog Conversione da stringhe attraverso i metodi Integer.parseInt ,
Float.parseFloat ... |
Riferimenti al testo | Capitolo 3. |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
11 marzo 2004 (laboratorio) | |
---|---|
Argomenti | Uso dell'ambiente JCreator LE per l'editing, compilazione ed
esecuzione di programmi in Java |
torna all'elenco delle lezioni
15 marzo 2004 | |
---|---|
Argomenti | Sviluppo di algoritmi: approccio top-down Istruzione di ciclo for , analogie con istruzione while Istruzione di ciclo do ... while , differenze rispetto
all'istruzione while |
Riferimenti al testo | Capitolo 3. |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
18 marzo 2004 (laboratorio) | |
---|---|
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
22 marzo 2004 | |
---|---|
Argomenti | Introduzione agli array monodimensionali: dichiarazione,
allocazione ed uso Inizializzazione di array La proprietà .length di arrayInput e output di array Istruzione break; Istruzioni di assegnazione con modifica += -= *= /= %= Ricerca sequenziale in un array disordinato |
Riferimenti al testo | Capitolo 3: sezione 3.7. Capitolo 4: fino a 4.3 (incluso) |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
23 marzo 2004 | |
---|---|
Argomenti | Concetto di problema, istanza, algoritmo Il problema dell'ordinamento Algoritmo di ordinamento per selezione Cenni sulla complessità dell'algoritmo di ordinamento per selezione |
Riferimenti al testo | Capitolo 4: 4.5.4 |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
25 marzo 2004 (laboratorio) | |
---|---|
Argomenti | Consultazione delle API java in
C:\j2sdk1.4.1_02\docs\api\index.html I metodi static della classe MathIl metodo Math.random() I metodi static della classe Arrays in java.util.Arrays Il metodo Arrays.sort(double[] v) |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
29 marzo 2004 | |
---|---|
Argomenti | Misure di complessità: la notazione asintotica O
(O grande) Esempi di classi di funzioni Uso della notazione O() per esprimere limitazioni superiori alla complessità di algoritmi L'algoritmo di ricerca binaria su array ordinati Analisi della complessità dell'algoritmo di ricerca binaria |
Riferimenti al testo | Cormen, Leiserson, Rivest, pagg. 21-26 Capitolo 4: 4.5.5 |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
30 marzo 2004 | |
---|---|
Argomenti | I metodi Definizione e uso di metodi static La signature di un metodo I metodi void Parametri formali e parametri attuali Passaggio di parametri per valore |
Riferimenti al testo | Capitolo 5: fino a 5.6 (compreso), 5.10 |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
1 aprile 2004 (laboratorio) | |
---|---|
Argomenti | Definizione di metodi e inserimento di classi in un package |
Listati ed esercizi proposti |
torna all'elenco delle lezioni
6 aprile 2004 | |
---|---|
Argomenti | Definizione e uso di variabili locali Ambito di visibilità di variabili, mascheramento di variabili Durata delle variabili Parametri array: passaggio per riferimento |
Riferimenti al testo | Capitolo 5: da 5.7 alla fine |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
7 aprile 2004 (laboratorio) | |
---|---|
Argomenti | Esercizi per la preparazione del test |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
14 aprile 2004 (laboratorio) | |
---|---|
Argomenti | Esercizi per la preparazione del test |
Listati ed esercizi proposti |
torna all'elenco delle lezioni
15 aprile 2004 (laboratorio) | |
---|---|
Argomenti | Esercizi per la preparazione del test |
Listati ed esercizi proposti |
torna all'elenco delle lezioni
19 aprile 2004 | |
---|---|
Argomenti | Distinzione tra definizione e allocazione di un array Distinzione tra riferimento ad array e array Assegnazione tra array Metodi che allocano e restituiscono array |
Riferimenti al testo | Completare Capitolo 4 |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
22 aprile 2004 (laboratorio) | |
---|---|
Argomenti | Fusione di due array ordinati |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
26 aprile 2004 | |
---|---|
Argomenti | Ricorsione Metodo ricorsivo per il calcolo del fattoriale Algoritmo di Euclide per il Massimo Comun Divisore (MCD) di due interi Introduzione al paradigma "Divide et Impera" Ordinamento per fusione |
Riferimenti al testo | Completare Capitolo 6 |
Listati ed esercizi proposti |
torna all'elenco delle lezioni
26 aprile 2004 (laboratorio) | |
---|---|
Argomenti |
|
Listati ed esercizi proposti |
torna all'elenco delle lezioni
27 aprile 2004 | |
---|---|
Argomenti | Complessità dell'algoritmo di ordinamento per fusione (Merge
sort) Derivazione dell'equazione di ricorrenza per il merge sort, soluzione per iterazione Complessità intrinseca di problemi (cenni) |
Riferimenti al testo | Cormen, Leiserson, Rivest, pagine indicate |
torna all'elenco delle lezioni
3 maggio 2004 | |
---|---|
Argomenti | Introduzione alla programmazione a oggetti Principio dell'information hiding Da variabile-tipo a oggetto-classe Variabili membro e metodi membro Definizione della classe Pila
|
Riferimenti al testo | Capitoli 7 e 8 (anche se non strettamente aderenti al percorso seguito durante le lezioni) |
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
6 maggio 2004 (laboratorio) | |
---|---|
Argomenti |
|
Listati ed esercizi proposti |
torna all'elenco delle lezioni
10 maggio 2004 | |
---|---|
Argomenti |
|
Listati ed esercizi proposti |
|
torna all'elenco delle lezioni
11 maggio 2004 | |
---|---|
Argomenti | Codifica dell'informazione
|
Listati ed esercizi proposti |
|
Riferimenti al testo | Gli argomenti trattati possono essere reperiti sulla maggior
parte dei testi di Fondamenti di Informatica. Per esempio si può
consultare il testo Ceri, Mandrioli, Sbattella, Informatica: arte e mestiere, McGraw-Hill, capitolo 11. |
torna all'elenco delle lezioni
13 maggio 2004 (laboratorio) | |
---|---|
Argomenti | Completata l'esercitazione del 6 maggio 2003 (seconda parte) |
torna all'elenco delle lezioni
17 maggio 2004 | |
---|---|
Argomenti | Codifica dell'informazione
|
Listati ed esercizi proposti |
|
Riferimenti al testo | Gli argomenti trattati possono essere reperiti sulla maggior
parte dei testi di Fondamenti di Informatica. Per esempio si può
consultare il testo Ceri, Mandrioli, Sbattella, Informatica: arte e mestiere, McGraw-Hill, capitolo 11. |
torna all'elenco delle lezioni
18 maggio 2004 | |
---|---|
Argomenti | Gerarchia delle classi in Java Definizione di sottoclassi Membri public , protected , private Ereditarietà Variabili membro e metodi ereditati Riscrittura (overriding) di metodi Chiamata di metodi della superclasse attraverso super. Riscrittura del metodo toString() |
Listati ed esercizi proposti |
|
Riferimenti al testo | Capitolo 9, fino a 9.2 (compreso) |
torna all'elenco delle lezioni
20 maggio 2004 (laboratorio) | |
---|---|
Argomenti | Definizione di una intera classe e di una sottoclasse |
Listati ed esercizi proposti | Esercitazione12.html |
torna all'elenco delle lezioni
24 maggio 2004 | |
---|---|
Argomenti | Esercitazioni sulla definizione di classi e sottoclassi Definizione di classi con variabili membro appartenenti ad altre classi Uso del costrutto this() per la chiamata di altri
costruttori della classeUso del costrutto super per la chiamata di costruttori
della superclasse |
Riferimenti al testo | Capitolo 9, fino a 9.3 (compreso) |
torna all'elenco delle lezioni
25 maggio 2004 | |
---|---|
Argomenti | Classi con variabili membro e variabili static Differenza tra metodi membro e metodi static Analogia tra metodi static con parametro oggetto e metodi
membro con parametro implicito |
Riferimenti al testo | Capitoli 7 e 8 |
torna all'elenco delle lezioni
27 maggio 2004 (laboratorio) | |
---|---|
Argomenti | Uso di classi predefinite per la scrittura e la lettura su file di testo (Questo
argomento non fa parte del programma di esame, ma si ritiene particolarmente utile in un uso reale del linguaggio Java)
try ... catch ... per la gestione delle eccezioni
|
Listati ed esercizi proposti | Esercitazione13.html |