Software Atelier 4: Software Engineering Project
People
Description
COURSE 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 project and team development with an iterative, customer-oriented approach.
COURSE 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.
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.
PREREQUISITES
- Algorithms & Data Structures
- Programming Fundamentals 1
- Programming Fundamentals 2
- Software Atelier 1: Fundamentals of Informatics
- Software Atelier 2: Human-Computer Interaction
RECOMMENDED COURSES
- Programming Fundamentals 3
- Software Atelier 3: The Web
Education
- Bachelor of Science in Informatics, Foundation course, 2nd year