Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


A.Y. Credits
2022/2023 9
Lecturer Email Office hours for students
Sara Montagna By appointment
Teaching in foreign languages
Course with optional materials in a foreign language English
This course is entirely taught in Italian. Study materials can be provided in the foreign language and the final exam can be taken in the foreign language.

Assigned to the Degree Course

Applied Informatics (L-31)
Date Time Classroom / Location
Date Time Classroom / Location

Learning Objectives

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 and events. 


01. Software development paradigms

  01.01 Software systems, languages, software development paradigms

  01.02 Object Oriented paradigm

02. Unified modeling language (UML)

  02.01 Introduction to UML

  02.02 Structure diagrams

  02.03 Behaviour diagrams 

03. Basics of Java language 

  03.01 Introduction

  03.02 Data types, stetements, and methods

  03.03 Classes and objects

  03.04 Inheritance

  03.05 Polymorphism, abstract classes, and interfaces

04. Advanced Java concepts

  04.01 Parametric polymorphism: generics and wildcards

  04.02 Java Collections Framework

  04.03 Exceptions

  04.04 Inner classes, static inner classes, anonymous classes, enum, lambda expressions and stream

05. Graphical User Interface

  05.01 Swing

06. Software design patterns

  06.01 Introduction to design patterns

  06.02 Creational patterns

  06.03 Structural patterns

  06.04 Behavioral patterns

07 Laboratory activities: Java baasics

  07.01 The Eclipse environment

  07.02 How to write a simple class

  07.03 How to develop class hierarchy and polymorphism

08 Laboratory activities: Java advanced

  08.01 How to develop generics and how to manage exeptions

  08.02 How to use lambda expressions and stream

09 Software System Development

  09.01 Decentralised Version Control System (introduzione a git)

  09.02 JUnit 5 principles

Bridging Courses

Although there are no mandatory prerequisites, it is advisable to follow this course after completing the courses of Procedural Programming and Algorithms and Data Structure.

Learning Achievements (Dublin Descriptors)

Knowledge and understanding

At the end of the course, the student will learn: to recognize and make use of the main techniques for developing and designing software; to understand the UML visual language and basic "design patterns" for software development.

Applying knowledge and understanding

The student will be able to employ UML to describe software architectures. She/He will learn to make use of standard ”design patterns.” The student will learn how to write accurately structured software using Java code.

Making judgements

The student will be able to evaluate a software source code in terms of modularity, maintainability, abstraction, structure, and code reuse.

Communication skills

The student will acquire the ability to communicate with other object-oriented developers using appropriate verbiage.

Learning skills

The student will be able to learn and understand the main features of any object-oriented language.

Teaching Material

The teaching material prepared by the lecturer in addition to recommended textbooks (such as for instance slides, lecture notes, exercises, bibliography) and communications from the lecturer specific to the course can be found inside the Moodle platform › blended.uniurb.it

Teaching, Attendance, Course Books and Assessment


Theory lectures and laboratory exercises, both face-to face and on-line.


Although recommended, course attendance is not mandatory.

Course books
  • Bruce Eckel. Thinking in Java -- Fourth Edition, Prentice Hall, 2006
  • Fowler, "UML Distilled", Addison-Wesley, 2003 (and newer editions).
  • Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley, 1995 (and newer editions).

Learning achievements will be evaluated through three types of assessments: individual project, written exam, and oral exam.

The written exam is passed if the mark (which is valid for an academica year) is at least 18/32. It consists on the development of source code in lab and theory questions.

The individual project has to be submitted at least seven days before the oral. The student defines his/her project specification. The project has to be developed in 2-to-4 students team. During the oral exam students discuss the project development and the written test. Possibly further questions about the course program can be asked. The project is evalutated during the oral discussion according to both the quality of the material developed as well the competence demonstrated during the discussion. The evaluation has to be considered positve if at least 18/32.

The final mark is the average of the two previous marks.

Disability and Specific Learning Disorders (SLD)

Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.

To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.

« back Last update: 14/09/2023

Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

Il tuo 5x1000 per sostenere le attività di ricerca

L'Università di Urbino destina tutte le risorse che deriveranno da questa iniziativa alla ricerca scientifica ed al sostegno di giovani ricercatori.

15 22

Se sei vittima di violenza o stalking chiama il 1522, scarica l'app o chatta su www.1522.eu

Il numero, gratuito è attivo 24 h su 24, accoglie con operatrici specializzate le richieste di aiuto e sostegno delle vittime di violenza e stalking.

Posta elettronica certificata



Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2024 © Tutti i diritti sono riservati