Avvisi:
ATTENZIONE:
QUESTA PAGINA E' OBSOLETA! LA PAGINA DEL CORSO PER L'ANNO ACCADEMICO 2014/2015 E' QUESTA)
[16dic2013] Sono disponibili le istruzioni per progetto e prova orale e la lista degli argomenti per la prova orale (in fondo a questa pagina nella sezione Esami)
[10dic2013] Chi volesse che gli fosse assegnato un progetto entro Natale, da svolgere entro un mese (fine gennaio) contatti il docente via email! Informazioni dettagliate sulle regole di svolgimento dei progetti saranno pubblicate la prossima settimana.
[26nov2013] Pubblicati i risultati della prova in itinere (in fondo a questa pagina nella sezione Esami)
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'inizioOrario delle lezioni:
- Martedì: 12.00-13.30 (Laboratorio H)
- Giovedì: 10.15-11.45 (Laboratorio H)
Ricevimento docente:
- Martedì 15.00-17.00 (solo fino al 18 febbraio)
- NUOVO ORARIO: dal 25 febbraio 2014 il ricevimento si terrà il Mercoledì dalle 15.00 alle 17.00
Diario delle lezioni:
- Lezione 1 (gio. 26 settembre 2013, ore 10.15)
- Introduzione al corso. (slides)
Background: parte I - Architettura di un elaboratore e rappresentazione binaria dell'informazione (slides) - Lezione 2 (mar. 1 ottobre 2013, ore 12.00)
- Background: parte II - Linguaggi di programmazione e algoritmi (cont.lez.prec.)
- Lezione 3 (gio. 3 ottobre 2013, ore 10.15)
- Introduzione a Java (slides)
- Lezione 4 (mar. 8 ottobre 2013, ore 12.00)
- Espressioni, variabili e input dall'utente (slides)
LAB: Esercitazione 1 (testo) - Lezione 5 (gio. 10 ottobre 2013, ore 10.15)
- Tipi primitivi di Java (slides)
Introduzione a Eclipse (note)
LAB: Esercitazione 2 (testo) - Lezione 6 (mar. 15 ottobre 2013, ore 12.00)
- Istruzioni condizionali ed espressioni booleane (slides)
LAB: Esercitazione 3 (testo) - Lezione 7 (gio. 17 ottobre 2013, ore 10.15)
- Istruzioni condizionali ed espressioni booleane (cont.lez.prec.)
Blocchi e cicli (slides)
LAB: Esercitazione 4 (testo) - Lezione 8 (mar. 22 ottobre 2013, ore 12.00)
- Programmazione procedurale: metodi ausiliari (slides)
LAB: Esercitazione 5 (testo, soluzione parziale esercizio 5) - Lezione 9 (gio. 24 ottobre 2013, ore 10.15)
- Stringhe e altre classi della libreria di Java (slides)
LAB: Esercitazione 6 (testo) - Lezione 10 (mar. 29 ottobre 2013, ore 12.00)
- Array (slides)
LAB: Esercitazione 7 (testo) - Lezione 11 (gio. 31 ottobre 2013, ore 10.15)
- Schemi di programmi iterativi (slides)
- Lezione 12 (mar. 5 novembre 2013, ore 12.00)
- Schemi di programmi iterativi (cont. lez. prec.)
LAB: Uso di array bidimensionali - Il gioco del Tris (slides non disponibili, codice Java)
Presentazione prova in itinere del 12 novembre (dispensa disponibile nella sezione Esami) - Lezione 13 (gio. 7 novembre 2013, ore 10.15)
- Introduzione alla programmazione orientata agli oggetti (slides)
LAB: Esercitazione per la prova in itinere - Lezione 14 (mar. 12 novembre 2013, ore 12.00)
- Prova in itinere (Compito A, Compito B, Soluzioni)
- Lezione 15 (gio. 14 novembre 2013, ore 10.15)
- Gestione della memoria nella programmazione orientata agli oggetti (slides, Codice esempio complesso)
LAB: Esercitazione su Programmazione a Oggetti (testo) - Lezione 16 (mar. 19 novembre 2013, ore 12.00)
- Metodi, costruttori, overloading e altro... (slides)
- Lezione 17 (gio. 21 novembre 2013, ore 10.15)
- Packages (slides)
Ereditarietà (slides)
LAB: Uno sguardo a Greenfoot - Lezione 18 (mar. 26 novembre 2013, ore 12.00)
- Ereditarietà, tipi e gerarchie (slides)
LAB: Esercitazione 9 (testo) - Lezione 19 (gio. 28 novembre 2013, ore 10.15)
- Classi parzialmente definite: Classi Astratte e Interfacce (slides)
Eccezioni (slides) - Lezione 20 (mar. 3 dicembre 2013, ore 12.00)
- Vettori (slides)
LAB: Esercitazione 10 (testo) - Lezione 21 (gio. 5 novembre 2013, ore 10.15)
- La struttura dati Albero e la ricorsione (slides)
- Lezione 22 (mar. 10 dicembre 2013, ore 12.00)
- Input/Ouput su file e serializzazione di oggetti (slides, Codice esempio serializzazione)
- Lezione 23 (gio. 12 dicembre 2013, ore 10.15)
- Graphical User Interface (GUI) - Cenni (slides, Dispensa, Esempi: ContatoreGUI, Addizionatore, Finestra1, Scrollabile)
- Lezione 24 (mar. 17 dicembre 2013, ore 12.00)
- Spunti per approfondimenti (slides, Rettangolo.zip)
Regole per l'esame: progetto e prova orale (slides)
Elenco degli argomenti per la prova orale (elenco)
Materiale didattico:
Testi consigliati (a scelta):
- Savitch, Carrano. Programmazione con Java. PEARSON, Prentice Hall.
- Horstmann. Concetti di informatica e fondamenti di Java. APOGEO.
- Bruni, Corradini, Gervasi. Programmazione in Java. APOGEO.
Link Utili:
- Pagina di download di Java (versione JDK)
- Pagina di download di Eclipse (versione Standard)
- Note per l'installazione di Java ed Eclipse
- Sito dell'editor Notepad++
- Java API Specifications Ver. 6 (versione installata in Lab)
- Java API Specifications Ver. 7 (ultima versione)
- Convenzioni per la scrittura di programmi Java (in Inglese)
- Breve guida al sistema MS-DOS
- Breve guida al sistema Linux (bash shell) -- N.B. la prima parte è obsoleta!
- Dispensa di Introduzione alle Interfacce Grafiche (GUI) in Java
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.
[RISULTATI] I risultati della prova in itinere sono disponibili a QUESTA PAGINA
[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