In this course you develop a mobile application in the context of a larger system architecture. Depending on the project, you work with application servers, machine learning algorithms, smart sensors, intelligent clothing, wearables like the Apple Watch or micro-controllers. You get to know the workflows, activities and tools of state-of-the-art agile software engineering, in particular agile hardware/software co-development, from requirements engineering to system delivery. In particular, you learn Apple’s programming language Swift, UI frameworks like UIKit and SwiftUI, and Server-Side Swift. In addition, you will gain hands-on knowledge in the fields of system modeling, usability engineering and continuous integration and delivery. For this course, industry partners provide real problem statements. You get real team and project experience while working tightly together with a real client towards a real deadline.
The chart shows the project-based organization of the course. All projects are shown as columns, including information about the customer, project management, and student team. A team of twelve student coaches dealt with the project management of the teams. Furthermore, cross-project teams with one member of each team (horizontal bars) dealt with different aspects during the project. The release management team was in charge of the right usage of version control, continuous integration, continuous delivery, and feedback management. The Usability Engineering team kept an eye on usability aspects and metrics of the mobile applications. The modeling team was responsible for the modeling activities, including the creation of informal models, i.e., trailer, mockups, and UML diagrams, to improve the communication of difficult aspects within the team.