- Docente: Mirko Viroli
- Crediti formativi: 12
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Moduli: Mirko Viroli (Modulo 1) Danilo Pianini (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Cesena
- Corso: Laurea in Ingegneria e scienze informatiche (cod. 8615)
Conoscenze e abilità da conseguire
Al termine del corso, lo studente possiede le conoscenze di base del paradigma object-oriented per la costruzione del software, dei suoi principali pattern di progettazione, della sua incarnazione nel linguaggio di programmazione Java e relativo framework, includendo aspetti avanzati quali la gestione delle interfacce grafiche, del multi-threading, e degli eventi.
Contenuti
- Elementi base di programmazione e progettazione object-oriented - Il caso del linguaggio Java: panoramica e tool di sviluppo. - Funzionalità base: Classi, oggetti, mettodi, campi, istanziazione - Polimorfismo, ereditarietà e riuso: interfacce e classi astratte - Aspetti avanzati: genericità, annotazioni, eccezioni, classi innestate, lambda expressions. - Librerie base per la costruzione di programmi - La gestione dell'I/O e della grafica - Elementi di programmazione concorrente in Java - Pattern di progettazione e tecniche di programmazione efficace - Strumenti di sviluppo: JDK, Eclipse, Mercurial
Testi/Bibliografia
Testo di riferimento per il corso:
Bruce Eckel. Thinking in Java -- Fourth Edition
Testi aggiuntivi:
Joshua Block. Effective Java -- Second Edition
Erich Gamma, Richard Elm, Ralph Johnson, John Vlissides.
Design Patterns
Il corso si avvarrà anche di tutorial e documentazione tecnica
disponibile in rete
Metodi didattici
9 ore di lezione alla settimana, di norma 6 in aula e 3 in laboratorio
Modalità di verifica e valutazione dell'apprendimento
Prova pratica su programmazione Java in laboratorio Colloquio orale con presentazione di un progetto
Strumenti a supporto della didattica
Slide proiettate a lezione e pubblicate sul sito del docente in anticipo Software: Java Development Kit, Eclipse
Link ad altre eventuali informazioni
http://apice.unibo.it/xwiki/bin/view/MirkoViroli/
Orario di ricevimento
Consulta il sito web di Mirko Viroli
Consulta il sito web di Danilo Pianini