Programmazione e analisi di dati

Modulo A: Programmazione Java

CdLM in Informatica Umanistica

A.A. 2014/2015

Paolo Milazzo

Avvisi:

ATTENZIONE:
QUESTA PAGINA E' OBSOLETA!
LA PAGINA DEL CORSO PER L'ANNO ACCADEMICO 2015/2016 E' QUESTA)

[9dic2014] Le istruzioni per il progetto e la prova orale e il programma dettagliato del corso sono disponibili nella sezione Esami di questa pagina web


Breve descrizione del corso:

Il corso ha lo scopo di preparare gli studenti all'uso di un linguaggio di programmazione orientato agli oggetti per la realizzazione di applicazioni informatiche. Alla fine del corso gli studenti avranno acquisito le basi necessarie al corretto sviluppo di programmi, nonché alla loro compilazione, esecuzione e debugging. Il linguaggio di programmazione utilizzato è Java, di cui verranno introdotti i concetti essenziali. L'ambiente di sviluppo è Eclipse, disponibile per diverse piattaforme.

Buona parte delle lezioni consisteranno in esercitazioni in cui si utilizzeranno le tecnologie descritte.

Torna all'inizio

Orario delle lezioni:

Ricevimento docente:

Torna all'inizio

Diario delle lezioni:

Lezione 1 (mar. 23 settembre 2014, ore 12.00)
Introduzione al corso. (slides)
Background: parte I - Architettura di un elaboratore e rappresentazione binaria dell'informazione (slides)
Lezione 2 (gio. 25 settembre 2014, ore 10.15)
Background: parte II - Linguaggi di programmazione e algoritmi (cont.lez.prec.)
Lezione 3 (mar. 30 settembre 2014, ore 12.00)
Background: parte II - Linguaggi di programmazione e algoritmi (cont.lez.prec.)
Introduzione a Java (slides)
Lezione 4 (gio. 2 ottobre 2014, ore 10.15)
Introduzione a Eclipse (note)
Espressioni, variabili e input dall'utente (slides)
LAB: Esercitazione 1 (testo)
Lezione 5 (mar. 7 ottobre 2014, ore 12.00)
Tipi primitivi di Java (slides)
LAB: Esercitazione 2 (testo)
Lezione 6 (gio. 9 ottobre 2014, ore 10.15)
Istruzioni condizionali ed espressioni booleane (slides)
LAB: Esercitazione 3 (testo)
Lezione 7 (mar. 14 ottobre 2014, ore 12.00)
Blocchi e cicli (slides)
LAB: Esercitazione 4 (testo)
Lezione 8 (gio. 16 ottobre 2014, ore 10.15)
Programmazione procedurale: metodi ausiliari (slides)
LAB: Esercitazione 5 (testo, soluzione parziale esercizio 5)
Lezione 9 (mar. 21 ottobre 2014, ore 12.00)
Stringhe e altre classi della libreria di Java (slides)
LAB: Esercitazione 6 (testo)
Lezione 10 (mar. 28 ottobre 2014, ore 12.00)
Array (slides)
LAB: Esercitazione 7 (testo)
Lezione 11 (gio. 30 ottobre 2014, ore 10.15)
Schemi di programmi iterativi (slides)
Presentazione prova in itinere del 11 novembre (dispensa e testo della prova dello scorso anno disponibili nella sezione Esami)
Lezione 12 (mar. 4 novembre 2014, ore 12.00)
Schemi di programmi iterativi (cont. lez. prec.)
LAB: Esercitazione 7bis (testo)
LAB: Uno sguardo agli array bidimensionali - Il gioco del Tris (codice Java)
Lezione 13 (gio. 6 novembre 2014, ore 10.15)
LAB: Esercitazione per la prova in itinere
Lezione 14 (mar. 11 novembre 2014, ore 12.00)
Prova in itinere (Compito A, Compito B, Soluzioni)
Lezione 15 (gio. 13 novembre 2014, ore 10.15)
Introduzione alla programmazione orientata agli oggetti (slides)
Gestione della memoria nella programmazione orientata agli oggetti (slides, Codice esempio complesso)
LAB: Esercitazione su Programmazione a Oggetti (testo)
Lezione 16 (mar. 18 novembre 2014, ore 12.00)
Gestione della memoria nella programmazione orientata agli oggetti (cont.lez.prec.)
LAB: Esercitazione su Programmazione a Oggetti (cont.lez.prec.)
Lezione 17 (gio. 20 novembre 2014, ore 10.15)
Metodi, costruttori, overloading e altro... (slides)
Lezione 18 (mar. 25 novembre 2014, ore 12.00)
Packages (slides)
Ereditarietà (slides)
LAB: Uno sguardo a Greenfoot
Lezione 19 (gio. 27 novembre 2014, ore 10.15)
Ereditarietà, tipi e gerarchie (slides)
LAB: Esercitazione 9 (testo)
Lezione 20 (mar. 2 dicembre 2014, ore 12.00)
Classi parzialmente definite: Classi Astratte e Interfacce (slides)
Eccezioni (slides)
Lezione 21 (gio. 4 dicembre 2014, ore 10.15)
Vettori (slides)
LAB: Esercitazione 10 (testo)
Input/Ouput su file e serializzazione di oggetti (slides, Codice esempio serializzazione)
Lezione 22 (mar. 9 dicembre 2014, ore 12.00)
La struttura dati Albero e la ricorsione (slides)
Regole per l'esame: progetto e prova orale (slides)
Elenco degli argomenti per la prova orale (elenco)
Lezione 23 (gio. 11 dicembre 2014, ore 10.15)
Graphical User Interface (GUI) - Cenni (slides, Dispensa, Esempi: ContatoreGUI, Addizionatore, Finestra1, Scrollabile)
Spunti per approfondimenti (slides, Rettangolo.zip)
Torna all'inizio

Materiale didattico:

Testi consigliati (a scelta):

Link Utili:

Torna all'inizio

Esami:

L'esame consisterà nello svolgimento di un progetto in Java in gruppi di due persone e in una prova orale (discussione del progetto + domande/esercizi).

Gli studenti che frequentano il corso potranno sostenere una prova in itinere (scritta) a metà del corso, che sostituirà parte dell'orale.

[Importante] Per la preparazione della prova in itinere è disponibile questa dispensa che contiene numerosi esercizi svolti. Inoltre, il testo e la soluzione della prova in itinere dello scorso anno sono disponibili qui: Compito A, Compito B, Soluzioni

[Istruzioni progetto e orale] Le istruzioni per lo svolgimento del progetto e della prova orale sono disponibili qui

[Elenco argomenti orale] L'elenco degli argomenti per la prova orale è disponibile qui

Torna all'inizio