iOS Application Development WS 2017/18 (Updated for iOS 11)
The site contains additional learning materials and logistics.
News:
- 20.09.17: Lectures at the beginning of the semester:
- first lecture (introduction) is on Tuesday 10.10.17
- second lecture is on Monday 23.10.17
Why Take This Course?
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
Swift or Objective-C?
If you are starting, Swift. If you know Objective-C, then Swift as well. Objective-C is not going away any time soon, but Swift is slowly taking over as an independent language for all Apple devices(iOS, OS X, tvOS, watchOS). You can (almost) write all Swift apps now.
Structure
This course is structured in 3 different parts
- 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.
- 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
- 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.
Due to the focus on hands-on development, we have a limit of 36 students for this class.
People
- Dr. Simon Völker — Lecturer
- Philipp Wacker — Coordinator, main contact person for this course
Course Registration
Details & Links will be added at a later date.
TK students: please drop Phil an email for registration information.
Schedule
Lecture | Mon | 14:15-15:45 | Room 2222 |
Lecture | Tue | 10:15-11:45 | Room 2222 |
- first lecture (introduction) is on Tuesday 10.10.17
- second lecture is on Monday 23.10.17
Exams
Details & Links will be added at a later date.
Grading
The final grade consists of three components:
A short presentation based on a written report | 17% | ||
A project in groups (2-4 Students) with a 20 minute presentation at the end of the semester | 50% | ||
An oral exam | 33% | ||
Course Grade | 100% |
Course Plan
Lecture | Topic | Presenter | Materials |
---|---|---|---|
10.10. | Logistics and Intro to Mobile Development | Simon | Slides Video |
23.10. | Intro into Swift & Xcode (Unit 1) | Simon | Slides Video |
14.10. | Swift & UIKit (Unit 2) | Simon | Slides Video |
30.10. | Navigation and Workflow (Unit 3) | Simon | Slides Video |
06.11. | SpriteKit, Protocols, App & ViewController life cycles | Simon & Phil | 1st Slides 2nd Slides Video |
07.11. | TableView Demo | Phil | Slides Video |
13.11. | Save Data, System View Controllers | Phil | Slides No Video (recording error) |
14.11. | Building Complex Input Screens, Closures and Animations | Simon & Phil | Slides Video |
20.11. | Working with the Web | Simon | Slides Video |
Previous courses: