Lecture 1 Slides PDF
Lecture 1 Slides PDF
CS193p
Spring 2016
Today
What is this class all about?
Why am I here?
Prerequisites
You must be a strong object-oriented programmer.
iOS Overview
What’s in iOS?
Show me!
A demo with a thousand words is worth tens of thousands of words.
CS193p
Spring 2016
What will I learn in this course?
How to build cool apps
Easy to build even very complex applications.
Result lives in your pocket or backpack!
Very easy to distribute your application through the AppStore.
Vibrant development community.
CS193p
Spring 2016
Prerequisites
Prior Coursework
Object-Oriented Programming experience mandatory.
CS106A&B (or X) required & CS107 or CS108 or CS110 also (at a minimum) required.
(or equivalent for non-Stanford undergrads)
Programming Experience
This is an upper-level CS course.
If you have never written a program where you had to design and implement more than a handful
of classes, this will be a big step up in difficulty for you.
CS193p
Spring 2016
What’s in iOS?
Cocoa Touch Core OS
OSX Kernel
Power Management
Media
Mach 3.0
Keychain Access
Sockets
File System
CS193p
Spring 2016
What’s in iOS?
Cocoa Touch Core Services
Collections
Core Location
Media
Address Book
Net Services
File Access
Preferences
CS193p
Spring 2016
What’s in iOS?
Cocoa Touch Media
Core Audio
JPEG, PNG, TIFF
Media
OpenAL
PDF
Audio Recording
Core Animation
CS193p
Spring 2016
What’s in iOS?
Cocoa Touch Cocoa Touch
Multi-Touch
Alerts
Media
Core Motion
Web View
Localization
Image Picker
CS193p
Spring 2016
Platform Components
Tools
u m e nts
Xcode 7 Instr
Language(s)
let value = formatter.numberFromString(display.text!)?.doubleValue
Cor
eM
ta otio
D a n
Frameworks
Co re Ma
Foundation UIKit p
Kit
Design Strategy
MVC
CS193p
Spring 2016
Demo
Calculator
All this stuff can be very abstract until you see it in action.
We’ll start getting comfortable with Swift and Xcode 7 by building something right away.
Two part demo starting today, finishing on Wednesday.
CS193p
Spring 2016