Search for contacts, projects,
courses and publications

Software Atelier 4: Software Engineering Project


Mocci A.

Course director

Campanella S.


Giagnorio A.


Raglianti M.



Programming skills are essential but not enough to develop large and complex software systems that require the coordination of a team of specialists. Software engineering is about the development of such moderns software systems. Students will learn to go beyond programming, to coordinate a team, to apply modern methodologies and techniques.


Learn development methodologies, the basics of requirements engineering, testing, and software quality; Learn a minimal set of DevOps skills including CI/CD on GitLab and Docker; Experience software development within a team with an iterative approach.

Teaching mode

In presence

Learning methods

The course pursues a learn by doing approach. Students will get a series of theoretical lectures on Software Engineering topics, accompanied by hands on lectures introducing related technologies and frameworks. Students will also develop a project working in teams of ~10 people. Instructors will play the role of the customers, while TAs will play the role of project managers.

Examination information

The examination will mainly include the evaluation of a group project for the practical aspects of software engineering, and a final exam that covers the conceptual part of the course.