iOS Application Development (2021/22)

  Class Information

Lectures Mon, 12:30 - 14:00
(starting 18.10.2021)
  Tue, 10:30 - 12:00
(starting 12.10.2021)
  Online Zoom lectures
Language English
Credits 6

 Exams

Final PT1 Sat, Feb 19th
Final PT2 Wed, Mar 16th
Logo: Apple Authorized Training Center Eduction

In this course, you'll learn to develop mobile applications for Apple's iOS devices: iPhone and iPad. We'll also touch upon developing for the Apple Watch and Apple TV.


Apple 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 / MVVM, 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

 

Please note that you need a Mac compatible with macOS Big Sur or later and Xcode 12 or later in order to participate.

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

Contact

Prof. Dr. Jan
Borchers

Sebastian
Hueber

Philipp
Wacker

Adrian
Wagner

Please contact Philipp Wacker (This email address is being protected from spambots. You need JavaScript enabled to view it.) with questions regarding this years course.

Syllabus

  • Introduction

    • Lecture 1: Logistics and Intro to Mobile Development

      Tue, Oct 12th

  • Develop in Swift: Fundamentals

    This part of the course gives a rapid introduction to app development in Swift. This includes units 1 to 3 of the iBook Develop in Swift: Fundamentals.

    • Lecture 2: Intro into Swift and Seminar

      Mon, Oct 18th

    • Lecture 3: More Swift and Introduction to UIKit

      Tue, Oct 19th

    • Lecture 4: Navigation and Workflows

      Mon, Oct 25th

    • Lecture 5: AutoLayout, Protocols, and Extensions

      Tue, Oct 26th

  • Develop in Swift: Data Collections

    This part of the course gives a rapid introduction to app development in Swift. This includes units 1 to 3 of the iBook Develop in Swift: Data Collections.

    • Lecture 6: Tables and Persistence

      Mon, Nov 8th

    • Lecture 7: Tables and Persistence, Working with the Web

      Tue, Nov 9th

    • Lecture 8: Advanced Data Display 1

      Mon, Nov 15th

    • Lecture 9: Advanced Data Display 2

      Tue, Nov 16th

    • Lecture 10: Encapsulating Views, Presentation Controllers

      Mon, Nov 22nd

  • SwiftUI

    • Lecture 11: Introduction to SwiftUI

      Tue, Nov 23rd

  • Seminars

    • Student Seminar Presentations

      Mon, Nov 29th – Dec 20th

  • Project

    • Project Kickoff

      Tue, Dec 14th

    • Continue Project Development

      Mon, Dec 20th – Tue, Jan 25th

    • Project Presentations

      Tue, Feb 1st

  • Exams

    • 60min Written Exam PT1

      Sat, Feb 19th

    • 60min Written Exam PT2

      Sat, Mar 16th

The Best Projects of 2021

Grading

Your grade will be calculated as follows:

Seminar 17%
Project 50%
Exam 33%

Course Teaser

The lecture consists out of three blocks:

  1. Lecture (~8 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 (~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
  3. 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.

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 84 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 Tuesday, 12.10.2021.
  • Sign the Declaration of Compliance and send it to Philipp until Wednesday, 13.10.2021 1pm.
  • Form a group of 3 6 students in Moodle until Friday, 15.10.2021 at the latest.

Lecture Zoom Recordings Declaration of Consent

The lecture might be recorded. We will only record the presenter and not the students. However, if you ask a question your voice will be in the recording. Therefore, have a look at the pdfdeclaration of consent regarding lecture video recordings

Previous Offerings

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