#acl FrancescoRicca:read,write,revert,admin,delete CarmineDodaro:read,write,revert,admin,delete PierangelaBruno:read,write,delete,admin,revert EditorsGroup:read,write,revert,admin,delete All:read = Interfacce Grafiche e Programmazione ad Eventi = == Nuovo sito del corso == Il nuovo sito del corso è disponibile a questo [[https://sites.google.com/unical.it/inf-igpe | link]]. == Informazioni sul corso == Il corso di Interfacce Grafiche e Programmazione ad Eventi è rivolto agli studenti del secondo anno del corso di laurea in Informatica. Lo scopo del corso è l'apprendimento delle tecniche di programmazione di interfacce grafiche e della programmazione ad eventi. Il corso presuppone la conoscenza dei principi di programmazione orientata agli oggetti. '''Docente:''' Carmine Dodaro. * '''Orario di ricevimento:''' su appuntamento. * '''Contatti:''' Dipartimento di Matematica, Università della Calabria, 87036 Rende (CS) - Ufficio: cubo 31B, 2° piano (ponte coperto) - Telefono: +39 0984 496403. * mailto:dodaro@mat.unical.it == Materiale didattico == '''Libro di testo''' Pellegrino Principe. ''Java 8''. Apogeo, 2014. '''Strumenti di sviluppo''' * [[https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html | Java Development Kit (JDK 8)]] (A lezione useremo questa versione) * [[https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html | Java Development Kit (JDK 11)]] * [[https://www.eclipse.org/downloads/ | Eclipse]] * E(fx)clipse. Install in Eclipse: Help -> Eclipse Marketplace -> Search E(fx)clipse and install. * [[https://www.oracle.com/technetwork/java/javafxscenebuilder-1x-archive-2199384.html | SceneBuilder]] (Scaricare la versione 2.0) * [[https://www.sqlite.org/download.html | Sqlite Download]] * [[https://bitbucket.org/xerial/sqlite-jdbc/downloads/ | Sqlite-JDBC-Old]] - [[https://github.com/xerial/sqlite-jdbc/releases | Sqlite-JDBC]] '''Lezioni''' * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-03-11.pdf | Lezione-2020-03-11]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-03-11.zip | Materiale-Lezione-2020-03-11]] (Tipi base, array, hello world, matrici, strutture di controllo) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-03-13.pdf | Lezione-2020-03-13]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-03-13.zip | Materiale-Lezione-2020-03-13]] (Classi e oggetti, stringhe) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-03-16.pdf | Lezione-2020-03-16]] (Ereditarietà e generics) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-03-20.pdf | Lezione-2020-03-20]] (Vector, List, Set, Map) * [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-03-23.zip | Materiale-Lezione-2020-03-23]] (Utilizzo pratico di List e Map) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-03-27.pdf | Lezione-2020-03-27]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-03-27-MaterialeAggiuntivo.pdf | Materiale Aggiuntivo Lezione-2020-03-27]] (Gestione errori e file) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-03-30.pdf | Lezione-2020-03-30]] (Espressioni regolari) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-04-03.pdf | Lezione-2020-04-03]] (Introduzione alle swing) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-04-06.pdf | Lezione-2020-04-06]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-04-06.zip | Materiale-Lezione-2020-04-06]] (Controlli) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-04-17.pdf | Lezione-2020-04-17]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-04-17.zip | Materiale-Lezione-2020-04-17]] (Eventi) * [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-04-20.zip | Materiale-Lezione-2020-04-20]] (Utilizzo pratico di swing ed eventi) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-04-24.pdf | Lezione-2020-04-24]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-04-24.zip | Materiale-Lezione-2020-04-24]] (JavaFX) * [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-04-27.zip | Materiale-Lezione-2020-04-27]] (JavaFX in practice: Change Scene, Board, Pacman) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-05-04.pdf | Lezione-2020-05-04]] (Interfacce grafiche e pattern MVC) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-05-08.pdf | Lezione-2020-05-08]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-05-08.zip | Materiale-Lezione-2020-05-08]] (Thread parte 1) * [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-05-11.zip | Materiale-Lezione-2020-05-11]] (Animazioni) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-05-15.pdf | Lezione-2020-05-15]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-05-15.zip | Materiale-Lezione-2020-05-15]] (Thread parte 2) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-05-18.pdf | Lezione-2020-05-18]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-05-18.zip | Materiale-Lezione-2020-05-18]] (Reti) * [[https://www.mat.unical.it/~dodaro/igpe/2020/slides/Lezione-2020-05-25.pdf | Lezione-2020-05-25]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/materiale/Materiale-Lezione-2020-05-25.zip | Materiale-Lezione-2020-05-25]] (Database) '''Laboratorio''' * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-03-18.pdf|Laboratorio-2020-03-18]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-03-18.zip|Soluzione-Laboratorio-2020-03-18]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-03-25.pdf|Laboratorio-2020-03-25]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-03-25.zip|Soluzione-Laboratorio-2020-03-25]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-04-01.pdf|Laboratorio-2020-04-01]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-04-01.zip|Soluzione-Laboratorio-2020-04-01]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-04-08.pdf|Laboratorio-2020-04-08]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-04-08.zip|Soluzione-Laboratorio-2020-04-08]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-04-15.pdf|Laboratorio-2020-04-15]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-04-15.zip|Soluzione-Laboratorio-2020-04-15]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-04-22.zip|Laboratorio-2020-04-22]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-04-22.zip|Soluzione-Laboratorio-2020-04-22]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-04-29.zip|Laboratorio-2020-04-29]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-04-29.zip|Soluzione-Laboratorio-2020-04-29]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-05-06.zip|Laboratorio-2020-05-06]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-05-06.zip|Soluzione-Laboratorio-2020-05-06]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-05-13.zip|Laboratorio-2020-05-13]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-05-13.zip|Soluzione-Laboratorio-2020-05-13]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-05-20.zip|Laboratorio-2020-05-20]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-05-20.zip|Soluzione-Laboratorio-2020-05-20]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-05-22.zip|Laboratorio-2020-05-22]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-05-22.zip|Soluzione-Laboratorio-2020-05-22]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-05-27.zip|Laboratorio-2020-05-27]] - [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-05-27.zip|Soluzione-Laboratorio-2020-05-27]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-05-29.zip|Soluzione-Laboratorio-2020-05-29]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-06-01.zip|Soluzione-Laboratorio-2020-06-01]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Laboratorio2020-06-03.pdf|Laboratorio-2020-06-03]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-06-05.zip|Soluzione-Laboratorio-2020-06-05]] * [[https://www.mat.unical.it/~dodaro/igpe/2020/laboratorio/Soluzione-Laboratorio-2020-06-10.zip|Soluzione-Laboratorio-2020-06-10]] == Informazioni pratiche sull'esame == '''N.B.: Per sostenere l'esame è necessario aver superato l'esame di Fondamenti di Informatica.''' Fino al 30 settembre 2020, l'esame consiste in: '''Prova scritta:''' * È una valutazione delle competenze acquisite dallo studente su java. * Richiede di rispondere ad alcune domande e a realizzare alcuni esercizi sugli argomenti del corso. * Il superamento determina l'ammissione alla prova orale. * Concorre alla determinazione del voto finale. '''Progetto:''' * È una valutazione approfondita delle capacità dello studente di realizzare interfacce grafiche complesse in java. * Concorre alla determinazione del voto finale. '''Orale:''' * È una discussione del progetto e sugli argomenti trattati durante il corso. * Concorre alla determinazione del voto finale. Dopo il 30 settembre 2020, l'esame consiste in: '''Prova di laboratorio:''' * È una valutazione approfondita delle capacità dello studente di realizzare interfacce grafiche complesse in java realizzando un'applicazione in laboratorio. * Concorre alla determinazione del voto finale. '''Orale:''' * È una discussione sugli argomenti trattati durante il corso. * Concorre alla determinazione del voto finale. === Appelli precedenti === * [[https://www.mat.unical.it/~dodaro/igpe/2019/esami/SimulazioneProvaScritta.pdf | SimulazioneProvaScritta.pdf]] * [[https://www.mat.unical.it/~dodaro/igpe/2019/esami/2019-07-08-Traccia.pdf | Traccia scritto 08/07/2019]] * [[https://www.mat.unical.it/~dodaro/igpe/2019/esami/2019-09-19-Laboratorio.pdf | Traccia laboratorio 19/09/2019]] == Progetto e laboratorio == === Suddivisione in gruppi === Per la realizzazione del progetto gli studenti potranno lavorare singolarmente o in gruppo. I gruppi possono essere composti da 2 o 3 studenti, ma sono consigliati i gruppi da 2. === Valutazione del progetto e del laboratorio === Per il calcolo del voto assegnato al progetto e al laboratorio saranno considerati i seguenti criteri: * coerenza grafica e semplicità di utilizzo dell'applicazione * funzionalità implementate * qualità, pulizia e flessibilità del codice * apporto individuale al progetto (nel caso di gruppi composti da più studenti) === Discussione progetto === La discussione del progetto può essere fatta separatamente da ogni componente del gruppo.