Programmazione [Cognomi A-P] (2005/2006)

Corso a esaurimento

Codice insegnamento
4S00016
Crediti
12
Coordinatore
Andrea Masini
Altri corsi di studio in cui è offerto
L'insegnamento è organizzato come segue:
Modulo Crediti Settore disciplinare Periodo Docenti
Laboratorio 4 INF/01-INFORMATICA 1° Q - 1° Anno, 2° Q Isabella Mastroeni
Teoria 8 INF/01-INFORMATICA 1° Q - 1° Anno, 2° Q Andrea Masini

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 i 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 2005)

* 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. Overflow e underflow.
* Programmi interattivi.
* Assegnamento.
* Incrementi e decrementi.

* Classi, oggetti e variabili.
* Inizializzazione delle variabili di tipo classe.
* Il riferimento null.
* Assegnamento fra variabili di tipo classe.
* Oggetti di tipo String e relative operazioni.

* Definizione di classi.
* Variabili di istanza. Attributi.
* Il costruttore predefinito.
* Metodi d'istanza. Parametri e valori di ritorno.

* Il tipo boolean. Operatori di ordinamento. Short-circuit.
* Le istruzioni if e if/else.
* Costrutti annidati. Indentazione.
* Il costrutto if/else/if.
* Test di uguaglianza fra oggetti. 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 2006)

* Interfacce grafiche e programmazione a eventi.
* Costruzione di una interfaccia grafica.
* I pacchetti awt e swing.

* Metodi di classe.
* Il passaggio dei parametri.
* Il riferimento this.
* Ereditarieta' e prevalenza di metodi.
* Aree di validita' dei nomi.
* Metodi sovraccarichi.

* Array: dichiarazione, creazione e accesso agli elementi.
* Inizializzazione esplicita degli array.
* Campi e metodi 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.
* Collezioni: esempio di ArrayList.

* Ereditarieta' e polimorfismo.
* Uso di super nei costruttori.
* Controllo dell'accesso a campi e metodi.
* Uso di super per l'accesso ai campi.
* L'operatore instanceof e la relazione di sottoclasse.
* Il cast.
* Late binding delle chiamate di metodo.
* Metodi final.
* 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.

* Applet. Metodi delle applet.

Modalità d'esame

L'esame consiste nel realizzare o modificare al calcolatore 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 il 9 dicembre 2005 e il 15 marzo 2006.

2) superando con successo uno dei sei appelli di Programmazione
e Laboratorio di Programmazione che si svolgeranno durante l'anno
accademico 2005/2006, 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.

Entrambe le modalita' d'esame richiedono l'uso del calcolatore e di
internet. Ci si assicuri quindi che il proprio account sia funzionante
e che l'uso dei comandi elementari di Linux e di un browser internet
non presenti alcun problema.

Statistiche per i requisiti di trasparenza (Attuazione Art. 2 del D.M. 31/10/2007, n. 544)

Statistiche esiti
Esiti Esami Esiti Percentuali Media voti Deviazione Standard
Positivi 34.33% 24 3
Respinti 0.60%
Assenti 62.65%
Ritirati --
Annullati 2.40%
Distribuzione degli esiti positivi
18 19 20 21 22 23 24 25 26 27 28 29 30 30 e Lode
12.2% 5.2% 3.5% 7.0% 7.0% 14.0% 8.7% 7.0% 5.2% 3.5% 8.7% 7.0% 1.7% 8.7%

Valori relativi all'AA 2005/2006 calcolati su un totale di 166 iscritti. I valori in percentuale sono arrotondati al numero intero più vicino.