Skip to Main Content
In this paper, we describe how we teach real-world software engineering to students using a project course simulating in-vivo software development projects. The course gives the students an opportunity to try out in practice the skills gained on other computer science and software engineering courses. The students execute projects in teams consisting of seven to ten students, developing software for a real customer. Students spend more than 150 hours each on the project. The main stakeholders of the projects are the project team, customer, and mentor. The mentor represents the course personnel and provides practical guidance for the project team during the project. During the course, the students are supported by mentoring and experience exchange sessions. While laborious, the course is consistently ranked in the top three in the CS curriculum by the students.