The following list gives an overview (not complete) of the theory you will learn in this lecture and the practical assignments. The practical assignments will help you to really understand and establish your knowledge by hands on exercises. You can conduct them either in the Tuesday lectures or at home. But please do them, they are important and relevant for the exam!
Topics | Slides |
---|---|
Introduction, lecture organisation, Cross-platform development basics | Lecture Organisation, Cross-Platform-Development |
General mobile app development toolchain overview, native build process, version control systems (short Git introduction), testing tools, collaboration tools, continous integration | App-Development Toolchain |
iOS introduction: system architecture, runtime environment, application life cycle, Xcode introduction | iOS Introduction |
Assignment: First iOS app | iOS Assignment First App |
Swift fundamentals: history, quick Objective-C overview, Swift basics | iOS Swift Fundamentals |
Assignment: Swift | Swift Assignment |
iOS framework basics part 1: Framework Layers, App components, Interface Builder / Storyboards, AppDelegate, UIViewController, CoreData | iOS Framework Basics Part 1 |
iOS Assignment: Storyboards, View Controller | Storyboards Assignment, ViewController Assignment |
iOS framework basics part 2: Properties & Protocols, UIKit: UITableViewController | iOS Framework Basics Part 2 |
iOS Assignment: Properties, Protocols, UITableView | Properties Assignment, Protocol Assignment, UITableView Assignment |
Topics | Slides |
---|---|
iOS framework basics part 3: More UIKit: UIWebView, AV Foundation | Framework Basics Part 3 |
iOS Assignment: Artist Explorer | iOS Artist Explorer Assignment |
iOS framework basics part 4: AutoLayout (Constraints, Size Classes, Stack Views, etc.) | Framework Basics Part 4 |
iOS Assignment: Autolayout | Autolayout Assignment |
iOS framework basics part 5: Persistence (NSUserDefaults, Property Lists, Core Data) | Framework Basics Part 5 |
Introduction to Android: System architecture, Android SDK basics, Android Studio introduction, ADM, ADB, Android Manifest, Android UI basics (layouts, resources, etc.) | Android Intro |
Android Application Framework basics: Android component types overview, Activity, Application Context, Intent, WebView, Permissions, Excursus to Support Libraries, Android Security and UI reaction times | Android Framework Basics |
Android assignments: First Android App, Using Activities & Intents | Android Assignment First App, Android Assignment Using Intents |
Android Application Framework Part 2: Implementing list views, filling lists with content using a Content Provider (MediaStore) | Android Lists and Content Provider |
Topics | Slides |
---|---|
Android assignment: WebViews and ListViews | Android Assignment Using WebViews Android Assignment on ListViews |
Android Application Framework Part 2: Advanced Lists with RecyclerView | Android RecyclerView |
Android assignment: RecyclerView | Android Assignment on RecyclerView |
Android Application Framework Part 3: Service & Broadcast Receiver | Android Service and Broadcast Receiver |
Android Assignment: Service, BroadCast Receiver | Android Assignment on Service Android Assignment on BroadcastReceiver |
Android Application Framework Part 4: Fragments | Android Fragments |
Assignment: Fragments | Android Assignment Fragment |
Android Application Framework Part 5: Async Programming | Android AsyncTask |
Assignment: Async Task & Artist Explorer | Android Assignment AsyncTask, Android Assignment Artist Explorer |
Android features for storing data | Android Data Storage |
Assignment: Using Data Storage | Android Assignment on Data Storage |
Bonus Assignment: Implementing a Twitter-like client app | Android Assignment on implementing a Twitter-like client app |
No liability assumed. As Android and iOS frameworks, programming languages (e.g. Swift) and development environments evolve very quickly, the lecture slides and assigments have to be constantly updated. Thus it is not always possible to provide lecture slides in advance to the planned lecture. Please bear with me, apologies for any inconvenience.
This lecture is limited to 32 participants, due to the available number of workstations (MacMinis) and room size. We apologize for any inconvenience.
Now we will go to Tobias Schneider (room 151) to get MacBooks for those who do not have any macOS system.