Date Slides Topic Optional reading and assignments due
Thursday 9/26 [gdoc] Intro
Tuesday 10/1 [slides] First iOS app
Thursday 10/3 [slides][Source] UI Widgets, auto layout, Swift Plus, there are many many resources online for how to learn Swift.

Homework 1 out
Tuesday 10/8 [slides][source] Swift optionals
Thursday 10/10 [Slides][Source] Optionals high order functions and closures

Homework 2 out, Homework 1 in
Tuesday 10/15 [Slides][Source] High order functions (redo lecture)
Thursday 10/17 [Slides][Source] Closures Apple's docs on closures. Read the section on "Capturing values" carefully as it is subtle.

Homework 3 out, Homework 2 in
Tuesday 10/22 [Slides][Source] Protocols and delegates
Thursday 10/24 [Slides][Source] protocols and delegates
Tuesday 10/29 [Slides][Source] Extensions Homework 4 out, Homework 3 in
Thursday 10/31 [Slides][Source] Project intro
Tuesday 11/5 [Slides][Source] Threads Project proposal due

Sprint planning due

Homework 4 in
Thursday 11/7 None Threads
Tuesday 11/12 [Slides][Source] GCD Sprint planning due
Thursday 11/14 None Milestone 1 due (due on 11/13)
Tuesday 11/19 [Slides][Source] AsyncTask + Process Abstraction + VC and App lifecycle Potential topics include: storage, security, Networking and APIs, Ethics, Notifications


Sprint planning due
Thursday 11/21 Milestone 2 due (11/20)
Tuesday 11/26 [Slides] info about project demo + final project + advanced topics Sprint planning due
Thursday 11/28 no class
Tuesday 12/3 Sprint planning due
Thursday 12/5 Demos