Software Atelier 4: Software Engineering Project
People
Description
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.
Objectives
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.
Education
- Bachelor of Science in Informatics, Lecture, 2nd year
Prerequisite
- Algorithms & Data Structures, Carzaniga A., Di Lauro F., Mangipudi S., SP 2023
- Programming Fundamentals 1, Furia C. A., Rezaalipour M., Rovelli D., Slooff T. A., Zohdinasab T., SA 2022-2023
- Programming Fundamentals 2, Hauswirth M., Chiodini L., Moreno Santos I., Slooff T. A., Venâncio Marcílio D., SP 2022
- Software Atelier 1: Fundamentals of Informatics, Bavota G., Ciniselli M., Mastropaolo A., Tufano R., SA 2022-2023
- Software Atelier 2: Human-Computer Interaction, Santini S., Abdalazim N. A. R., Zanardi I., SP 2023