a.a. 2010-2011 Programma del corso di: LABORATORIO DI INFORMATICA GRAFICA (6 CFU) [EL] DOCENTE: GRILLI LUCA OBIETTIVI: Il corso si propone di fornire le tecniche di base e le metodologie per la progettazione di applicazioni grafiche nell’ambito della programmazione orientata agli oggetti. Il corso seguirà un approccio pratico; ogni lezione consisterà in una esercitazione guidata al calcolatore, nella quale si illustrerà la tecnologia Java per lo sviluppo di interfacce utente grafiche in applicazioni di interesse pratico. CONTENUTI: Unità didattica: Modulo 1 – Strumenti di base (12 ore) Richiama sulla programmazione orientata agli oggetti. Ereditarietà tra classi, classi astratte e interfacce. Cenni sul polimorfismo e sui tipi generici. Gestione degli errori. Gestione dei flussi Input/Output. Cenni alla programmazione multithreading. Unità didattica: Modulo 2 – Progettazione di interfacce utente grafiche (18 ore) Componenti grafiche di tipo JFC/Swing. Definizione del layout di una interfaccia grafica utente (GUI). Sviluppo di GUI interattive. Uso di classi interne anonime per la gestione degli eventi di una GUI. Progetto e sviluppo di un semplice editor di testo. Unità didattica: Modulo 3 – Grafica bidimensionale in Java 2D (24 ore) Uso del contesto grafico. Primitive grafiche. Rendering di immagini raster e animazioni. Progetto e sviluppo di un sistema per la visualizzazione di forme geometriche e di immagini. Progetto e sviluppo del video game “Tetris”. Uso del mouse per selezionare, spostare e modificare oggetti grafici. PREREQUISITI: Si consiglia di aver frequentato il corso di Fondamenti di Informatica. TESTI CONSIGLIATI: Dispense a cura del docente. Kathy Walrath, Mary Campione, Alison Huml, Sharon Zakhour. The JFC Swing Tutorial: A Guide to Constructing GUIs (2nd Edition), Addison-Wesley, 2004. Stefano Mazzanti, Vitaliano Milanese. Programmazione di applicazioni grafiche in Java, Apogeo, 2006. Bruce Eckel. Thinking in Java, Apogeo, 2003. MODALITÀ DI VERIFICA DEL PROFITTO: La verifica consiste nella discussione di un lavoro progettuale e realizzativo di una applicazione desktop. Oggetto di valutazione saranno il software sviluppato e il relativo documento di progetto.