Date Slides Topic Optional reading and assignments due
1/5/2021 [Slides] [Video] Intro none
1/7/2021 [Slides] [Video] [Source] First iOS app none
1/12/2021 [Slides] [Video] [Source] UI Widgets, auto layout, Swift Plus, there are many many resources online for how to learn Swift.

Homework 1 out
1/14/2021 [Slides] [Video] [Source] Swift optionals none
1/19/2021 [Slides] [Video] [Source] higher order functions to unwrap optionals

Homework 2 out, Homework 1 in
1/21/2021 [Slides] [Video] [Source] Closures Apple's docs on closures. Read the section on "Capturing values" carefully as it is subtle.
1/26/2021 [Slides] [Video] [Source] Higher order functions on arrays none
1/28/2021 [Slides] [Video] [Source] Protocols and delegates
Friday 1/29: Homework 3 out, Homework 2 in
2/2/2021 [Slides] [Video] [Source] Extensions and UITableView A note on code review
2/4/2021 [Slides] [Video] [Source] Project intro Friday 2/5: Homework 4 out, Homework 3 in
2/9/2021 [Slides] [Video] [Source] API calls
2/11/2021 [Slides] [Video] [Source] Threads Project proposal due

Sprint planning due

Friday 2/12: Homework 4 in
2/16/2021 [Slides] [Video] [Source] Threads none
2/18/2021 [Slides] [Video] [Source] DispatchQueues in practice iOS Memory Management
Sprint planning due
2/23/2021 None Milestone 1 due (due on 2/22)
2/25/2021 None VC and App lifecycle + advanced topics I Potential topics include: storage, security, Networking and APIs, Ethics, Notifications


Sprint planning due
3/2/2021 None Milestone 2 due (3/1)
3/4/2021 [Slides] [Video] [Source] info about project demo + final project + advanced topics II Sprint planning due
3/9/2021 none
3/11/2021 Demo Day! Sprint planning due