MDB iOS Training Program
Fall 2022
Welcome 🎉
In this training program, we will take you through the Apple technologies behind the millions of Apps used by over one billion iPhones around the world. While this course is fundamentally about building iOS Apps, it will often touch upon the big picture concepts – such as modern programming paradigms, concurrency, memory management, database design and etc. We hope that this will help you develop the general software engineering knowledge which will help you no matter what career path you take in the future.
In terms of assignments, the iOS TP consists of 3 individual projects and a final group project. We will use Gradescope for submitting projects and assessing grades. You can also checkout lessons and projects details from the archive from last semester.
Software/Hardware Requirements
Because we will be developing and testing using native SDK, a Mac is required for this training program. In addition, for your sanity during debugging, you Mac model should be from 2016 or later. You should have macOS Monterey (12.1+) and Xcode (13.0+) installed before coming to the first lesson.
Calendar
Week | Lesson Topics | Assignments |
---|---|---|
Week 1 | Introduction to Swift and iOS Development | Project 1 |
Week 2 | iOS SDK I | |
Week 3 | iOS SDK II | Project 2 |
Week 4 | Concurrency and Memory Management | |
Week 5 | Web APIs and Firebase | Project 3A |
Week 6 | Notification Center and Advanced Auto Layout | Project 3B |
Week 7 | Modern Cocoa Touch APIs | Project 4 |
Week 8 | TBD |
Lessons
- Lesson 1: Introduction to Swift and iOS Development
- Lesson 2: iOS SDK I
- Lesson 3: iOS SDK II
- Lesson 4: Concurrency and Memory Management
- Lesson 5: Web APIs and Firebase
- Lesson 6: Notification Center and Advanced Auto Layout
- Lesson 7: Modern Cocoa Touch APIs
- Lesson 8: TBD
Projects
- Project 1: Meet the Member
- Project 2: Pokédex
- Project 3A / 3B: MDB Social