Skip to content

My solution for all the assignments for the CS193p-2017-18 course using UIKit, Storyboard, swift and Xcode.

Notifications You must be signed in to change notification settings

kadm91/Stanford-CS193p-2017-18-UIKit-Assigments-Solutions

Repository files navigation


Stanford-Repository2


This Stanford course has everything you need to start iOS Development. Every lesson is well explained with code demos and how Paul Hegarty explains the concepts of Swift and UIKit is amazing.

You can find the course at this link: https://www.youtube.com/playlist?list=PL3d_SFOiG7_8ofjyKzX6Nl1wZehbdiZC_

You can find the material for this course at this link: https://drive.google.com/drive/folders/14uxqi3ewCM2wvpwBY8nhkEa7ZLq7LXVu

These are my solutions for all the assignments for the CS193p-2017-2018 course using UIKit, Storyboard, Swift, and Xcode. If you are taking this course on your own, as I did, I hope this helps you.

Assignment 1: Concentration

Learned Concepts:

  • UIViewController - subclass
  • UILabel and UIButton
  • Targed/Action (@IBAction)
  • OUtlets (@IBOutlet) and Outlet Collections
  • functions and properties (instance variables)
  • let vs var
  • Value type (struct, enum) vs reference type (class)
  • Strong type and type inference
  • didSet
  • for in (and ..< CountableRange syntax)
  • Array and Dictionary<key, value>
  • [Element] and [Key:Value]syntax
  • initialization of struct and class
  • viewDidLoad
  • Optionals (including implicitly-unwrapped Optionals)
  • ?? optional defaulting operator
  • // TODO
  • arc4random() ( extension to create a random Int number)
  • Type conversion (e.g. from UInt to Int)
  • Stack View and (simple) autolayout

App Preview


Assignment 2: Set Game

Learned Concepts:

  • All the things from Assignment 1, but from scratch this time.
  • Closures
  • extension
  • Using struct to declare constants
  • Equatable
  • enum

App Preview


Assignment 3: Graphical Set Game

Learned Concepts:

  • Creating a custom UIView with a draw(CGRect) method
  • Gestures
  • Understanding the UIView hierarchy
  • Creating UIViews in code (rather than in Interface Builder)
  • Drawing with Core Graphics and UIBezierPath


App Preview


Assignment 4: Animated Set Game

Learned Concepts:

  • UIViewPropertyAnimator
  • UIDynamicAnimator
  • Timer
  • UIView.transition(with:duration:options:animations:completion:) 5. UINavigationController
  • UISplitViewController 7. UITabBarController
  • Segues
  • Autolayout

App Preview


Assignment 5: Image Gallery

Learned Concepts:

  • Drag and Drop
  • Collection View
  • Table View
  • Text Field
  • Scroll View
  • Multithreading
  • Delegation

App Preview


Assignment 6: Persistent Image Gallery

Learned Concepts:

  • Codable
  • FileManager
  • URL
  • UIDocument
  • UIDocumentBrowserViewController
  • URLCache
  • Running on an iOS device (rather than the simulator)

App Preview

About

My solution for all the assignments for the CS193p-2017-18 course using UIKit, Storyboard, swift and Xcode.

Topics

Resources

Stars

Watchers

Forks

Languages