Skip to main content
CODE 101810
SEMESTER 1° Semester


This course gives the students the opportunity to put in practice the different technologies and concepts learned in the other courses of the degree in the development of a realistic project, following a given model of development process.

Active participation in the development process encourages students to think critically, learn how to be autonomous in their continuous education, solve challenging problems, and develop soft skills, as team working, communication, and self-time management.



Acquiring experience of a realistic team development effort that follows a given methodology and harnesses different technologies for the implementation of a specific product.


At the end of the course, diligent students who have worked as instructed will have:

  • integrated their competencies and knowledge about the development of software systems acquired (in previous undergraduate courses and) through the other courses of this program
  • a rough understanding of an agile development method and several agile practices
  • learned/consolidated team formation/working for software development through extensive hands-on experiences
  • experimented a full project development following a specific process
  • understood the relevance of user experience and how to test its quality
  • acquired decision-making autonomy, collaborative attitude, management of human and material resources, coordination, negotiation skills, management of uncertainty
  • learned to develop one's imagination and creativity, critical reflection, strategic thinking, problem solving with particular reference to contexts of innovation and evolving creative processes, ability to transform ideas into actions, self-awareness.
  • acquired awareness of one's own learning strategies, organization and assessment of personal learning, understanding of one's own needs and ways of developing skills, ability to identify and pursue learning objectives.
  • learned to communicate effectively, adapting one's communication to the context, to use sources and aids of various kinds, critical thinking, to use, process and evaluate information, argumentative skills
  • improved the ability to identify one's own abilities, the ability to concentrate and critically reflect on a task, the management of complexity, autonomy in making decisions and carrying out tasks, seeking support if necessary, managing stress, resilience
  • refined the ability to manage one's social interactions, the collaborative attitude, constructive communication in different environments, the ability to respect others and their needs, the willingness to overcome prejudices, to express and understand different points of view, the management of conflict, the ability to build trust, empathy.


To be successful in this course, students should have basic knowledge concerning

  1. object-oriented programming

  2. software engineering (terminology and main development tasks)

  3. relational databases and their design

  4. web development, IoT technologies and mobile development

  5. basic security concerns

  6. design of user interfaces

Moreover, students must have explored in practice at least the first four topics in the prerequisite list before attending the course.


Standard lessons will introduce the main concepts needed to use Scrum in practice.

Most student effort shall be devoted to the project development, because participating into the application of a methodology to a project is the only way to understand in depth the meaning of compliance to a method. The project activity will be strictly supervised by the teachers.

Students are expected to learn the technology mostly on their own, having already familiarity with (it or) some analogous environment for object-oriented programming, database management and web development. They will be led to share their knowledge within the team.


A specific agile method, from a conceptual viewpoint, and its practical application. More specifically, Scrum (one of the most popular agile development methods), its main principles and practices, and other useful agile practices to design the process tailored to the project.

User experience: principle, practices, and patterns.

Depending on the topic of the project, students will need to learn individually some technologies and practices, and share the acquired knowledge with the other team members as an integral part of the development process.


Exam Board



MARINA RIBAUDO (President Substitute)

GIANNA REGGIO (Substitute)



In agreement with the calendar approved by the Degree Program Board of Computer Science.

Class schedule

L'orario di tutti gli insegnamenti è consultabile all'indirizzo EasyAcademy.



A large part of the assessment will rely on the evaluation of the activities during the semester: participation into project development, team working, and technical contributions.

At the end of the course, a short oral examination will conclude the assessment.


The teacher observations during the project development will allow assessing the student soft-skills and their understanding of the process.

The technical presentations will show both the technology mastering and the presentation skills of the students.

The project quality will indicate the team's development capabilities, both the technical and the process ones.

The final oral examination will allow the teachers to complete the evaluation, spreading light on the competencies gained by not observed during the development.

Exam schedule

Data Ora Luogo Degree type Note
31/01/2024 09:00 GENOVA Esame su appuntamento
05/07/2024 09:00 GENOVA Esame su appuntamento
20/09/2024 09:00 GENOVA Esame su appuntamento
30/01/2025 09:00 GENOVA Esame su appuntamento


Students with learning difficulties, disabilities or other certificates of special educational needs are advised to contact both the referent Prof. Sergio Di Domizio (, and the teacher, at the beginning of the course, to agree on modalities of teaching and exams taking into account individual learning methods and providing for the appropriate compensatory tools. Further useful information can be found on the page of the Unige website which contains the relevant information:


 PRO3 - Soft skills - Sociale avanzato 1 - A
PRO3 - Soft skills - Sociale avanzato 1 - A
 PRO3 - Soft skills - Personale avanzato 1 - A
PRO3 - Soft skills - Personale avanzato 1 - A
 PRO3 - Soft skills - Alfabetica avanzato 1 - A
PRO3 - Soft skills - Alfabetica avanzato 1 - A
 PRO3 - Soft skills - Creazione progettuale avanzato 1 - A
PRO3 - Soft skills - Creazione progettuale avanzato 1 - A
 PRO3 - Soft skills - Gestione progettuale base 1 - A
PRO3 - Soft skills - Gestione progettuale base 1 - A
 PRO3 - Soft skills - Imparare a imparare avanzato 1 - A
PRO3 - Soft skills - Imparare a imparare avanzato 1 - A