iOS Application Development: New with Agentic Coding and SwiftUI (WS 2026/27)
Class Information
| Lectures | Mon, 12:30-14:00 (12.10.2027) |
| Tue, 10:00-11:30 (13.10.2027) |
|
| Room 2.73 | |
| Language | English |
| Credits (BSc/MSc CS) |
6 |
Exams
| Final PT1 | 10.02.2027 |
| Final PT2 | 12.03.2027 |

In this course, you will learn to develop applications for Apple's family of devices. We focus on mobile apps for the iPhone, but also touch upon Macs, Apple Watch, Apple TV, and Apple Vision Pro.
Two things are new this year: First, we are introducing Agentic Software Development, which has rapidly become the industry standard. You will learn how to create robust, maintainable apps with the help of coding agents, but also the fundamentals of the Swift language and Apple's SwiftUI framework, so you can verify and understand what the code is doing.
Second, we focus on using SwiftUI. This is Apple's modern, declarative framework in the style of React Native and JetPac Compose. It lets you write apps for all Apple devices using a single user interface toolkit. Apple designed it from scratch with the modern Swift programming language in mind. It follows many modern software development patterns, making it an ideal subject to learn how to design such SDKs today. Covering the wide variety of devices with a single UI toolkit is also an interesting challenge from an HCI and software engineering perspective. We will also briefly introduce Apple's original UIKit SDK so you can find your way through existing codebases.
- At the end of the course, you will be able to implement full iOS apps with and without the use of coding agents.
- You will know the concepts and syntax of Swift and SwiftUI, which are also today's language and UI framework of choice for developing apps for macOS, watchOS, tvOS and visionOS.
- You will understand the particular technical and design challenges of developing for mobile devices.
- You will be able to design your apps with a look and feel following Apple’s Human Interface Guidelines.
- You will learn to use both Apple's original UIKit and their modern, declarative SwiftUI framework to develop iOS apps.
- Your implementation will use recommended design strategies like MVC / MVVM, delegation, and target-action.
- You will learn how to use many of the key iOS SDKs like Foundation, SpriteKit, MapKit, AVFoundation, etc., and how to pick up more SDKs as you need them.
- You will know how to make your apps interactive with animations, multimedia, graphics, sensors, etc.
You need a Mac running the latest versions of macOS and Apple's free Xcode IDE to participate. Xcode's device simulator is usually sufficient, although for some projects involving particular sensors or other hardware a recent iPhone is necessary. We have a few Macs and iPhones available for loan.
This course has limited seating. You need to register to obtain a seat in this course. See the registration guide below for more information.
Lecturers
Please contact
Syllabus
This class follows an unusual format: We start with a few weeks of lectures to cover the fundamentals of iOS, Swift, and SwiftUI. Afterwards, you will study and present a selected iOS framework in a small group, seminar-style. Finally, the last weeks of this course are dedicated to a longer software development project in which you build a complete iOS app yourself.
-
Introduction
-
Lecture 1: Logistics and Intro to Mobile Development
Tue, Oct 14th
-
Grading
Your grade will be calculated as follows:
| Seminar | 20% |
| Project | 50% |
| Exam | 30% |
Course Teaser
The lecture consists of three blocks:
- Lecture (~8 weeks): Here, we will introduce the fundamentals of iOS development (e.g., Swift and SwiftUI fundamentals, mobile device development, event handling, ...). Both weekly timeslots are used for the lecture.
- Seminar (~3 weeks): Students will prepare and present information about tasks that can be solved with a specific iOS framework (e.g., CoreData, Rendering frameworks, MapKit, ...). Both weekly timeslots are used for student presentations & preparations. Attendance is mandatory for all presentations.
- Project (~5 weeks): During this part, students will develop a larger application using the knowledge gained in the course. Both weekly timeslots are used for feedback sessions with the individual groups. Attendance for the final presentation is mandatory.
Fields of Study
- Informatik (B.Sc.)/Wahlpflichtbereich Angewandte Informatik
- Informatik (M.Sc.)/Angewandte Informatik
- Technik-Kommunikation (M.A.)/2. Hauptfach (Technisches Fach)/Grundlagen der Informatik/isierung Informatik
- TK 2. Fach-Grundlagen der Informatik (M.Sc.)/Wahlpflicht Informatik/Angewandte Informatik
- Media Informatics (M.Sc.)/Multimedia Technologie
- Software Systems Engineering (M.Sc.)/Applied Computer Science
- Data Science (M.Sc.)/Computer Science and Mathematics/Computer Science
Course Allocation and Registration Guide
Number of SWS: V3+Ü2 (Aachen)
ECTS Credits: 6
Course language: English for all lectures, seminars, and exams.
We only have 42 seats available for this course. To have a chance for a seat in this course, you have to complete the following steps:
- Register for the course in RWTHOnline by Wednesday, 14.10.2026.
- Sign the Declaration of Compliance and upload it to this sciebo folder until Wednesday, 14.10.2026. Name the file iOS_DoC_last name_matriculation_number.pdf
- Form a group of 3 students in Moodle until Friday, 16.10.2026 at the latest.
- We will randomly select 14 (full) groups.
Previous Offerings
WS25/26 - WS24/25 - WS23/24 - WS22/23 - WS21/22 - WS20/21 - WS19/20 - WS18/19 - WS17/18 – WS15/16 – WS14/15 – WS13/14 – WS12/13 – WS11/12 – WS11/12 – WS09/10