Programmazione - Teoria (2007/2008)

Corso disattivato non visibile

Codice insegnamento
4S00016
Docente
Nicola Fausto Spoto
crediti
8
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Sede
VERONA
Periodo
1° Q - solo 1° anno, 2° Q
Pagina Web
http://profs.sci.univr.it/~spoto/teaching.html

Per visualizzare la struttura dell'insegnamento a cui questo modulo appartiene, consultare * organizzazione dell'insegnamento

Orario lezioni

1° Q - solo 1° anno
Giorno Ora Tipo Luogo Note
martedì 8.30 - 10.30 lezione Aula E  
mercoledì 9.30 - 10.30 lezione Aula E  
mercoledì 10.30 - 11.30 lezione Aula Gino Tessari  
giovedì 8.30 - 10.30 lezione Aula D  
2° Q
Giorno Ora Tipo Luogo Note
lunedì 9.30 - 11.30 lezione Aula I  
martedì 8.30 - 10.30 lezione Aula Gino Tessari  
giovedì 14.30 - 16.30 lezione Aula Gino Tessari  

Obiettivi formativi

Il corso fornisce le nozioni di base della programmazione. In
particolare, viene descritto il linguaggio Java e alcune funzioni della libreria Java di uso piu' frequente. Alla fine del corso, lo studente sara' in grado di capire dei semplici programmi scritti in Java e di scriverne di nuovi per risolvere dei semplici problemi.

Attivita' formative.

Il corso si svolge in 64 ore di lezione, distribuite su due trimestri di 32 ore ciascuno. Si assume che lo studente segua al contempo il corso di Laboratorio di Programmazione, in cui avra' modo di applicare e acquisire familiarita' con quanto descritto a lezione.

Programma

Prima parte (ottobre-dicembre)

* L'organizzazione del computer e i linguaggi di programmazione.
* Java. La compilazione ed esecuzione dei programmi Java.
* Il primo programma Java. Classi, parole chiave ed identificatori.
* Metodi. print() e println(). Sequenze di escape.
* Costanti e variabili. Operazioni.
* I tipi primitivi.
* Le espressioni. Precedenze. Conversioni di tipo.
* Programmi interattivi.
* Assegnamento.
* Incrementi e decrementi.
* Oggetti di tipo String e relative operazioni.
* Il tipo boolean. Operatori di ordinamento. Short-circuit.
* Le istruzioni if e if/else.
* Costrutti annidati. Indentazione.
* Il costrutto if/else/if.
* Metodo equals su stringhe.
* L'istruzione switch.
* L'istruzione while.
* L'istruzione for. Validita' della variabile indice.
* L'istruzione do/while.
* Cicli annidati.
* File di input.

Seconda parte (gennaio-marzo)

* Array: dichiarazione, creazione e accesso agli elementi.
* Inizializzazione esplicita degli array.
* Elaborazione sugli array: creazione da input, ricerca di una chiave, ricerca del minimo.
* Array come argomenti per metodi: parametri della riga di comando.
* Array multidimensionali.
* Classi, oggetti, costruttori, metodi, campi
* Ereditarieta' e polimorfismo.
* Uso di super nei costruttori.
* Controllo dell'accesso a campi e metodi.
* Uso di super per l'accesso ai campi.
* Classi astratte e interfacce.
* Le eccezioni: dichiarazione, lancio e intercettazione.
* La dichiarazione throws per i metodi.
* Il costrutto finally.
* I metodi ricorsivi: numeri di Fibonacci e quadrati.

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
Pighizzini, Ferrari Dai Fondamenti agli Oggetti (Edizione 2) Addison-Wesley 2005 8871922506

Modalità d'esame

L'esame consiste nel realizzare o modificare alcuni programmi. Esso e' unificato con l'esame del corso di Laboratorio di
Programmazione. La sua valutazione tiene conto della correttezza dei programmi, ma anche della loro semplicita', chiarezza e compilabilita'.

Ci sono due modi (non esclusivi fra loro) per superare l'esame di Programmazione e Laboratorio di Programmazione:

1) (fortemente consigliato): superando con successo entrambe le prove parziali che si svolgeranno in dicembre e marzo;

2) superando con successo uno dei sei appelli di Programmazione e Laboratorio di Programmazione che si svolgeranno durante l'anno accademico, con date che verranno pubblicizzate. Se si consegna a uno di questi sei appelli, il voto delle prove parziali o quello dell'appello precedente viene automaticamente invalidato.