Syllabus

The syllabus for CS193P is preliminary and is subject to change, especially the last few weeks where we will be working on a final project and have some freedom regarding what topics we cover in lecture. We want to hear from the students about what topics might be of particular interest and will tailor the last few weeks to satisfy those interests.

You can download a PDF version of the syllabus from here: syllabus Handout-1-Syllabus.pdf

Week 1 — 4/1
4/1: Intro to Mac OS X and Cocoa Touch, Objective-C and Dev Tools
Assignment: Hello Stanford and Command Line Tool I (due 4/9)
Week 2 — 4/6 & 4/8
4/6: Using Objective-C, Foundation framework
4/8: Custom classes, Memory Management, ObjC Properties
Assignment: Command Line Tool II and HelloPoly I (due 4/14)
Week 3 — 4/13 & 4/15
4/13: Interface Builder, Controls, Target-Action
4/15: Views and Drawing, Animations
Assignment: HelloPoly II (due 4/21)
Week 4 — 4/20 & 4/22
4/20: View Controller Basics
4/22: Navigation Controllers
Assignment: Presence 1 (due 4/28)
Week 5 — 4/27 & 4/29
4/27: Table Views
4/29: Dealing with Data: User Defaults, SQLite, Web Services
Assignment: Presence 2 (due 5/5), Final project proposals
Week 6 — 5/4 & 5/6
5/4: Threading, Caching and Memory
5/6: Text Input, Responder Chain, Presenting Content Modally
Assignment: Presence 3 (due 5/12)
Week 7 — 5/11 & 5/13
5/11: Address Book
5/13: Searching, Notifications
Assignment: Presence 4 (due 5/19)
Week 8 — 5/18 & 5/20
5/18: Multitouch
5/20: Device APIS: Image Picker, Core Location, Accelerometer, Battery Life
Assignment: Final project (due 6/7)
Week 9 — 5/27
5/25: Memorial Day Holiday, no classes
5/27: Audio, Video, Web Views
Assignment: Final project (due 6/7)
Week 10 — 6/1 & 6/3
6/1: Guest Lecture with Dr. Ge Wang
6/3: Unit testing, Objective-C fun, Internationalization
Assignment: Final project (due 6/7)