70219 - PROGRAMMAZIONE AD OGGETTI

Anno Accademico 2016/2017

  • 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