CS2049: Intermediate iPhone Development

Cornell University, Spring 2016

Instructor: Daniel Hauagge (dc579)


Time: Saturdays, 1 PM to 4 PM
Dates: Feb 6th, Feb 20th, Mar 5th, Mar 19th
Place: G01 Gates Hall
TA: Guandao Yang (gy46)
TA: Zheng Fu (James) (zf38)

New York City

Time: Thursdays, from 6:15 PM to 9:15 PM
Dates: Feb 4th, Feb 18th, Mar 3rd, Mar 17th
Place: Big Red
TA: Brandon Plaster (bp364)


The course covers intermediate topics in iOS development with a hands-on approach. During each lecture students develop an application along with the lecturer.

Covered topic include AVFoundation (audio and video framework, including video capture), SpriteKit, CoreMotion, Auto-Layout, and multi-threaded application development.

The course is taught in Swift using the latest non-beta version of Xcode and iOS.

Pre-requisite: CS2048 or basic understanding of Xcode and Obj-C or Swift.

Requirements: In every lecture each student must bring: a Mac with Xcode 7 installed, and an iPhone running iOS 9.




Lecture Lab
1 CoreMotion, AutoLayout, Segue, StackViews [Keynote] [PDF] [Solution Code] Swift and Playgrounds [PDF] [Code]
2 AVFoundation [Keynote] [PDF] Debbuger and Profiler
3 Persistance with Realm.io, CocoaPods [Keynote] [PDF] [Solution Code] UI Testing and Unit Testing
4 SpriteKit Demos of Final Projects
Acknowledgments. We'd like to thank Tim Novikoff for providing the initial labs and class plan.