Programmazione
I e laboratorio - corso B - a.a. 2002-03
Programma del corso, con paragrafi da studiare sul libro di testo
Capitolo 1 – Introduzione
1.1 Che cosa è un computer? 1.2 Che cos’è la
programmazione? 1.3 L’anatomia di un computer 1.4 Tradurre in
codice macchina programmi leggibili dalle persone 1.5 Linguaggi di
programmazione 1.6 Il linguaggio di programmazione Java 1.7
Prendere confidenza con il computer 1.8 Compilare un semplice
programma 1.9 Errori 1.10 Il processo di compilazione
Le aree di memoria dell'esecutore java (vedi slides)
Capitolo 2 - Introduzione a classi e oggetti
2.1 Usare e costruire oggetti
2.2 Variabili di tipo riferimento-a-oggetto
NOTA BENE: sul libro di testo tali variabili sono chiamate variabili oggetto:
si tratta di un'espressione fuorviante e non molto corretta, che non si deve usare.
2.3 Definire una classe
2.4 Provare ad usare una classe
NOTA BENE: sul libro di testo, nella traduzione italiana, viene usato il termine collaudare, non del tutto appropriato.
2.5 Variabili di istanza (instance variables), o campi non-statici, o campi degli oggetti
NOTA BENE: sul libro di testo l'espressione originale inglese instance variables è tradotta
erroneamente come variabili istanza;
tale espressione non deve MAI essere usata: si prega di correggere il libro,
aggiungendo a mano la preposizione "di" tutte le volte in cui compare la suddetta espressione.
2.6 Costruttori
2.7 Progettare l'interfaccia pubblica di una classe
2.8 Commentare l'interfaccia pubblica
2.9 Realizzare una classe
2.10 Tipi di variabili
2.11 Metodi: parametri espliciti e parametro implicito this
Capitolo 3 – Tipi di dati fondamentali (vedi materiale didattico)
3.1 Tipi numerici, inclusi i caratteri (3.9, ma vedi materiale didattico)
3.2 Assegnazioni 3.3 Costanti 3.4 Aritmetica e funzioni matematiche
3.5 Invocare metodi statici
3.6 Conversione dei tipi di dati 3.7 Stringhe
3.8 Leggere dati in ingresso
3.10 Confronto fra tipi primitivi e tipi di riferimento a oggetto
NOTA BENE: sul libro di testo, nella traduzione italiana, il titolo del paragrafo è ERRATO
Capitolo 5 – Decisioni
5.1 L’istruzione if 5.2 Confrontare valori
5.3 Alternative multiple 5.4 Utilizzare le espressioni
booleane
Capitolo 6 – Iterazioni
6.1 Cicli while 6.2 Cicli for (e cicli do)
Argomenti avanzati 6.2 (pag. 247-248): Visibilità delle variabili definite nell'intestazione del for
Errori comuni 6.3 e 6.4 (pag. 248-250)
6.3 Cicli annidati 6.4 Elaborazione dei dati in ingresso
Argomenti avanzati 6.4, 6.5, 6.6 (il problema del "ciclo e mezzo", le istruzioni break, leggere dati dalla consolle)
Argomenti avanzati 6.8: Invariante di ciclo ed esponenziale veloce;
sullo stesso argomento vedere anche le slides sull'espenziale veloce
Note di cronaca 6.2: Dimostrazioni di correttezza
Capitolo 7 – Progettazione di classi
7.1 Scegliere le classi 7.3 Metodi di accesso e metodi
modificatori 7.4 Effetti collaterali
7.5 Precondizioni
7.6 Metodi statici
7.7 Variabili statiche
7.8 Visibilità
Capitolo 12 – Array e vettori: solo la parte riguardante gli array
12.4 Dichiarare array e accedervi 12.5 Copiare array 12.6 Array riempiti solo in parte
Semplici algoritmi sugli array (vedi esercizi)
Capitolo 16 – Ordinamento e ricerca
16.6 Effettuare ricerche
16.7 Ricerca binaria
Ricerca del minimo (o del massimo) in un array
Il problema della bandiera tricolore (vedi lezioni)
Eliminazione di elementi in un array (vedi esercizi)
Inserimento in array ordinato (vedi lucidi ed esempi)
Introduzione agli algoritmi di ordinamento (vedi lucidi ed esempi):
- Creazione di una copia ordinata di un array non ordinato, per inserimenti successivi.
- Ordinamento per inserimento (senza creazione di un nuovo array) (vedi lucidi ed esempi)
- Opzionale, sul libro di testo, ordinamento per selezione:
16.1 Ordinamento per selezione
16.3 Analisi delle prestazioni
- Solo per i più bravi: ordinamento per conteggio.
Fusione di array ordinati (vedi esempi).
16.8 Esplorare e ordinare dati veri.
|