- Docente: Mirko Viroli
- Credits: 12
- SSD: ING-INF/05
- Language: Italian
- Moduli: Mirko Viroli (Modulo 1) Danilo Pianini (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Cesena
- Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)
Learning outcomes
At the end of the course, students will be acquainted with
basic knowledge of the object-oriented paradigm of software
construction, of its basic design patterns, its incarnation in the
Java programming language and the corresponding framework,
including advanced aspects like GUIs, multi-threading and
events.
Course contents
- Basic elements of object-oriented programming and design - The case of the java programming language: overview and development tools - Basic functionality: classes, objects, methods, fields, and instantiation - Polimorphism, inheritance, reuse:: interfaces and abstract classes - Advanced aspects: generics, annotations, exceptions, inner classes, lambda expressions - Basic libraries for program construction - I/O management and graphical interfaces - Elements of concurrency programming in Java - Design patterns and techniques of effective programming - Development tools: JDK, Eclipse, Mercurial
Readings/Bibliography
Reference book:
Bruce Eckel. Thinking in Java -- Fourth Edition
Additional books:
Joshua Block. Effective Java -- Second Edition
Erich Gamma, Richard Elm, Ralph Johnson, John Vlissides.
Design Patterns
The course will also rely on tutorials and documentation
available on the Internet.
Teaching methods
9 hours of lesson per week, typically 6 in the teaching room and 3 in the lab
Assessment methods
Practical test on Java programming in lab
Ora exam based on presentation of a project
Teaching tools
Slides projected during the lessons, published on the web
site
Software: Java Development Kit, Eclipse
Links to further information
http://apice.unibo.it/xwiki/bin/view/MirkoViroli/
Office hours
See the website of Mirko Viroli
See the website of Danilo Pianini