Skip to content
🎒 Stanford CS193P 2017
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Stanford CS193P 2017

Lecture 1

Slides Reading Assignment

  • Creating a project in XCode 8 (Calculator)
  • Building a UI
  • The iOS Simulator
  • Print (outputting to the console using \() notation)
  • Defining a class in Swift, including how to specify instance variables and methods
  • Connecting properties (instance variables) from our Swift code to the UI (outlets)
  • Connecting UI elements to invoke methods in our Swift code (actions)
  • Accessing iOS documentation from our code
  • Optionals (?, unwrapping implicitly by declaring with !, and unwrapping explicitly with ! and if let)

Lecture 2

Slides Programming Assignment

  • MVC
  • struct vs. class (mutating, etc.)
  • public versus private API
  • More examples of Optional
  • Dictionary<KeyType,ValueType>
  • enum
  • Associated values
  • Switch
  • Functions as types
  • Closure syntax for defining functions “on the fly”
  • UIStackView
  • First peek at Autolayout (stick things to the edges)

Lecture 3


  • What are Optionals really?
  • Tuples
  • Range
  • Data Structures, Methods and Properties
  • Array, Dictionary<K,V>, String, et. al.
  • Initialization
  • AnyObject, introspection and casting (is and as)
  • UserDefaults
  • assert

Lecture 4


  • Custom Views

Lecture 5

Slides Reading Assignment Programming Assignment

  • Demo (FaceIt)
  • Gestures
  • Multiple MVCs

Lecture 6


  • Multiple MVCs
  • View Controller Lifecycle
  • Time Permitting
You can’t perform that action at this time.