iOS Application Development (2019/20)

  Class Information

Lectures Mon, 12:30 - 14:00
(starting 14.10.2019)
  Tue, 10:30 - 12:00
(starting 08.10.2019)
  2222, i10 Seminar room
Language English
Credits 6


Oral Exam 06.- 07.02.2020

In this course, you'll learn to develop mobile applications for Apple's iOS devices: iPhone and iPad. 

Apple's designed its mobile iOS operating system and its SDK from scratch. The iOS SDK follows many modern software development patterns, making it an ideal subject to learn how to design such SDKs today. Smartphones and tablets are also very interesting devices from an HCI perspective. The user interface has to deal with multitouch interaction, which presents new challenges to the software architecture, e.g., in event handling. With their rich sets of sensors, iOS devices also allow for input far beyond mouse and keyboard. Finally, both the iPhone and the iPad have simply become "in"-devices since their introduction. Didn't you ever want to show your own app to your friends on your iPhone? 

  • At the end of the course, you will be able to implement full iOS apps
  • You will know Swift: syntax, concepts, and how to use it correctly. Swift can be used to program iOS, macOS, watchOS, and tvOS
  • You will be able to design your apps to look and feel according to Apple’s Human Interface Guidelines
  • Your implementation will follow the recommended design strategies: MVC, delegation, target-action
  • You will be able to use the most important frameworks in Cocoa Touch (UIKit, Foundation, SpriteKit, MapKit, AVFoundation, etc.) and can easily learn more!
  • Your will know how to make your apps interactive: animations, multimedia, graphics, sensors, etc


This course has limited seating. You need to register to obtain a seat in this course. See the registration guide below for more information.


Dr. Simon



This course is structured in 3 different parts

  1. Lecture (~5 weeks): Here, we will introduce the fundamentals of iOS development (e.g., Swift fundamentals, mobile device development, event handling, ...). Both weekly timeslots are used for the lecture.
  2. Seminar (~4 weeks): Students will prepare and present information about a specific iOS framework (e.g., CoreData, Rendering frameworks, MapKit, ...). Both weekly timeslots are used for student presentations & preparations
  3. Project (~6 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.
  • Lectures

    • Intro to Mobile Development

      Tue, Oct. 8th
      Lecture Slides
      Lecture Video

    • Seminar Topics and Introduction into Swift

      Mon, Oct. 14th
      Lecture Slides

    • Swift and Introduction to UIKit

      Tue, Oct. 15th
      Lecture Slides

    • Navigation and Workflow

      Mon, Oct. 21th

    • SpriteKit, Protocols, and Extensions

      Tue, Oct. 22th

    • TableView Controller and TableViews

      Mon, Nov. 28th

    • Saving Data and System View Controllers

      Tue, Nov. 29th

    • Input Screens, Closures and Animations

      Mon, Nov. 4th

    • AR Kit

      Mon, Nov. 12th

    • Working with the Web

      Tue, Nov. 13th

  • Seminar Presentations

    • From Tue, Nov. 18th to Tue, Dec. 9th

  • Project Meetings

    • From Mon, Dec. 10th to Tue, Jan. 21th

  • Project Presentation

    • Tue, Jan. 28th

  • Oral Exams

    • Thu, Feb. 6th and Fri, Feb. 7th


Your grade will be calculated as follows:

Seminar 17%
Project 50%
Oral Exam 33%

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 are 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 Tuesday, 08.10.2019 (first lecture).
  • Sign the Declaration of Compliance and hand it in during the lecture or at the latest Thursday, 10.10.2019.
  • Form a group of 3 students and send us the group details until Thursday, 10.10.2019 at the latest.
    (You can form a group after the lecture on Tuesday, 08.10.2019. We'll also invite everyone who is registered for the course in RWTHOnline temporarily to the Moodle-Room to use the forum for finding group partners).

On Friday, 11.10.2019, we will randomly pick 14 groups to fill the 42 seats for this course.

Previous Offerings

WS18/19WS17/18WS15/16 – WS14/15WS13/14WS12/13 – WS11/12 – WS11/12WS09/10

FileDescriptionFile sizeDownloadsLast modified
Download this file (Declaration of compliance.pdf)Declaration of complicance 218 kB2972019-09-27 10:08
Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.
More information Ok