| Date | Slides | Topic | Optional reading and assignments due |
|---|---|---|---|
| 1/8/24 | [Slides] | Intro | |
| 1/10/24 | [Slides] [Source] | First iOS app | |
| 1/12/24 | [Slides] [Source] | UI Widgets, Swift, and Swift UI | Managing UI state [Apple] Monitoring data changes [Apple] Homework 1 out |
| 1/15/24 | No class | ||
| 1/17/24 | Discussion: Homework 1 intro + q/a | ||
| 1/19/24 | [Slides] [Source] | Multiple Views | Homework 2 out, Homework 1 due |
| 1/22/24 | [Slides] [Source] | Multiple Views | |
| 1/24/24 | [Slides] [Source] | Swift Optionals | Apple's Swift page and O'Reilly Swift book. I haven't read this, but in general O'Reilly books tend to be quite good. |
| 1/26/24 | [Slides] [Source] | Swift Optionals | Homework 3 out, Homework 2 due |
| 1/29/24 | [Slides] [Source] | Swift Optionals | Apple's docs on Optionals and optional chaining |
| 1/31/24 | [Slides] [Source] | Closures | Apple's docs on closures. Read the section on "Capturing values" carefully as it is subtle.Homework 4 out, Homework 3 due |
| 2/2/24 | [Slides] [Source] | Closures and map | |
| 2/5/24 | [Slides] [Source] | High order functions | |
| 2/7/24 | [Slides] [Source] | Project intro | |
| 2/9/24 | [Slides] [Source] | High order functions | |
| 2/12/24 | Sam was sick, no lecture | Homework 4 due | |
| 2/14/24 | [Slides] [Source] | Dispatch queues | |
| 2/16/24 | [Slides] [Source] | Dispatch queues | Sprint planning due |
| 2/19/24 | President's day -- no class | ||
| 2/21/24 | [Slides] [Source] | Async / await | WWDC Video for async / await and the Swift book chapter on concurrency |
| 2/23/24 | Milestone 1 meetings | Milestone 1 and sprint planning due (2/22) | |
| 2/26/24 | [Slides] [Source] | Dispatch Queue programming | |
| 2/28/24 | DispatchQueue quiz | ||
| 3/1/24 | Milestone 2 meetings | Milestone 2 and sprint planning due (2/29) | |
| 3/4/24 | [Slides] [Source] | Info about project demo + final project | |
| 3/6/24 | [Slides] [Source] | Actors | WWDC video on Actors |
| 3/8/24 | Lecture: Live Activities with Ashley, Discussion: Research + AMA with Sam | Sprint planning due | |
| 3/11/24 | [Optional] Demo practice for feedback (in Sam's office from 8-10am) | ||
| 3/13/24 | Demos | ||
| 3/15/24 | Demos |