By the end of this course, you'll have the skills and confidence to create your own iOS applications from scratch. You'll understand modern Swift programming, the Apple ecosystem, and build apps that follow current industry standards and design patterns.
After completing this course, you will be able to:
Description | Link |
---|---|
Gitlab Repositories Individual assignments, team projects |
https://gitlab.mi.hdm-stuttgart.de/mad2/mad2-ws25 |
The course takes place in presence.
Due to university regulations, hybrid lectures are not allowed. However, I will provide you with videos of my coding examples so you can follow along if you cannot attend in person. Please note that the videos do not cover the entire lecture, and individual questions cannot be addressed through them. I will answer your questions during the lecture (that's what it's for), so please make an effort to attend. I will not respond to questions via email or other means, as I simply do not have the time. The second part of the lecture is dedicated to coding and answering questions, so please take advantage of this opportunity.
Date | Session (11:45–15:45) | Deadlines | Description |
---|---|---|---|
Week 1 | Kickoff + iOS Introduction | — | Course overview, Q&A |
Week 2 | Hardware rental + Lecture | — | Setup and rental instructions |
Week 3 | Lecture / Open Session | — | |
Week 4 | Lecture / Open Session | — | |
Week 5 | Lecture / Open Session | — | |
Week 6 | Lecture / Open Session | — | |
Week 7 | Lecture / Open Session + Team Setup | — | Form teams (3–4 members) |
Week 8 | Lecture / Open Session | — | |
Week 9 | Open Session | — | |
Week 10 | Open Session | Project Abstract | Submit project abstract |
Week 11 | Open Session | Assignments | Commits after the deadline will not be considered; see submission guidelines |
Week 12 | Open Session | — | |
Week 13 | Open Session | — | |
Week 14–15 (depends) | Open Session / Presentations | Project | Final project submission and presentations; late commits won't be counted |
Component | Points |
---|---|
Assignments (individual work) | 15 |
Project: Software Quality (Code Structure, Modularization, Coding Style) | 15 |
Project: Implementation Quality and Complexity | 15 |
Project: Usability and Design (UI Concepts, Platform Standards) | 10 |
Project: Automated Testing (Unit Test, UI Test) | 5 |
Project: Presentation | 10 |
Total | 70 |
Select at least two categories which you will implement in the app:
Category | Examples |
---|---|
Media and Camera | Take picture, load image from gallery |
Location and Sensors | GPS, Gyroscope, Motion, Barometer, Altimeter |
Data Storage | Store app local data using SQL, Key/Value |
Networking | Consume API, Parse JSON, XML, GraphQL |
Connectivity | Bluetooth, Wifi, Beacons |
Animation and Graphics | Implement charts, complex animations |
Grading is based on the gitlab repository
Add a README.md
in the repo that contains:
We create the repositories for you.
Important: Do not invite other users into your repo that are not taking part in the project. We will automatically generate list from the Gitlab Repo for the grading, so if a wrong user is in the repo this will cause problems.
Assignments: mad2/mad2-semester/student-short (e.g. mad2/mad2-ws25/jb007)
Project: mad2/mad2-semester/teams/group-name (e.g. mad2/mad2-ws25/teams/skynet)