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