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


A.Y. Credits
2021/2022 9
Lecturer Email Office hours for students
Sara Montagna Tuesday 11am-1pm 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

The aim is to provide a complete yet terse overview of the basics of object-oriented software development.


01. Software analysis and desing

  01.01 Object-oriented programming

  01.02 Other kinds of software development paradigms

  01.03 Introduction to software modelling

02. Unified modeling language (UML)

  02.01 Introduction to UML

  02.02 Structure diagrams

  02.03 Behaviour diagrams

  02.04 Robusteness analysis

  02.05 Interaction diagrams

  02.06 Finite state machines and other diagrams

03. Java language

  03.01 Introduction

  03.02 Data types, stetements, and methods

  03.03 Advanced concepts

04. Object-oriented software development

  04.01 Classes and objects

  04.02 Inheritance

  04.03 Polymorphism, abstract classes, and interfaces

  04.04 Exceptions

  04.05 Generics

05. Software design patterns

  04.01 Introduction to design patterns

  04.02 Creational patterns

  04.03 Structural patterns

  04.04 Behavioral patterns

06 Laboratory activities

  06.01 The Visual Studio environment

  06.02 How to write a simple class

  06.03 How to develop class hierarchy and polymorphism

  06.04 How to develop generics and how to manage exeptions

  06.05 Design pattern implementation

  06.06 Difference between software core logic and UI

  06.07 How to develop dynamic libraries

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: 18/02/2022

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