the mobile montage

a collection of scattered thoughts on mobile technology and related topics…

iOS Bootcamp: learning to create awesome apps on iOS using Swift

Posted on | May 12, 2015 | No Comments

apple-swift-logo-iconI teach a couple of courses here at GVSU on mobile app development, both at the undergraduate and graduate level.  Normally, I record my lectures and make them available to students taking the course via Blackboard.  Since we are switching to Swift (from Objective-C) this year,  I’ve had a number of past students and others express interest in the course material, so this summer (2015) I’ve decided to make all of the lecture recordings / notes available right here to anybody who wants them.

This material has been delivered in a bootcamp fashion, e.g. a lot of material covered over a very short period of time (6 weeks total).   We will be posting lectures, the notes, and source code examples available as we go, so check back often for updates.

I’m making this material available for free to anybody interested in learning Swift / iOS.   All I ask is that you Tweet this page, share on Facebook, G+ and/or anywhere else you happen to hang out online.  If you are another instructor teaching a similar course, I’d love to hear from you.  Feel free to incorporate in your own course if you find it useful – just give credit by linking back to this page.  However, please don’t rip off my videos and post them on YouTube as your own – I will find them, and have YouTube shut you down real quick once I do.  🙂

Here is the course outline.  Follow the links to watch the lectures and/or download the notes and other materials.

All of the source code examples discussed in these lectures are being posted on github.

Lecture 00 – Introduction to Mobile Application Development.  

  • Lecture Topics:
    • Mobile Past, Present Future
    • Why Develop for Mobile?
    • The Mobile Development Landscape
    • Why Develop for iOS?
  • Watch the entire lecture on YouTube: https://youtu.be/Xi6LfpMEVQE
  • View / Download the lecture notes.

Lecture 01 – Xcode, iOS Overview. 

Lecture 02 – Introduction to the Swift Programming Language

  • Lecture Topics
    • Swift Language Overview
    • The obligatory “Hello, world!”
    • Variables and constants
    • Strings
    • Collection Types
    • Control Flow
    • Functions
  • Watch the entire lecture on YouTube: http://youtu.be/fwstpDs2biQ
  • View / Download the lecture notes.
  • Get a copy of the sample code on github.
  • Download Homework #1 (you’ll need some info from Lecture 3 to complete)!

Lecture 03 – Swift: Beyond the Basics 

  • Lecture Topics
    • Closures
    • Optionals
    • Enums
    • Structs
    • Classes (with the “RocketShip” code demo)
      • convenience and designated initializers
      • inheritance / subclassing
      • overriding methods
    • Protocols
  • Watch the entire lecture on YouTube: http://youtu.be/zUVDq9cJFvM
  • View / Download the lecture notes.
  • Get a copy of the sample code on github.
  • Download Homework #2.

Lecture 04 – iOS Essentials 

Lecture 05 – The Essentials of iOS TableView Controllers / Navigation Controllers

Lecture 06 – More iOS User Interface Considerations

Lecture 07 – Threading, Web APIs, UIWebViews and more!   

  • Lecture Topics
    • Bridging Swift and Objective-C.
    • iOS Thread Model
    • Accessing Web APIs in iOS
    • TopTracks Demo – Accessing a Web API in iOS. (watch video)
    • TopTracks Demo – Hooking up the UIActivityIndicator. (watch video)
    • TopTracks Demo – Working with UIWebView. (watch video)
  • Watch the entire lecture on YouTube
  • View/download the lecture notes.
  • Get a copy of the sample code on github.
  • Download Homework #6.

Lecture 08 – Mobile Computing and the Cloud   

  • Lecture Topics
    • MBaaS: Mobile Backend as a Service. (watch video)
    • Using parse.com to add a backend to your iOS App.
    • Setting up Parse Demo (watch video)
    • Using parse.com to manage users. (watch video)
    • Demo: Supporting User Signup / Facebook in Parse.com (watch video)
  • Watch the entire lecture on YouTube
  • View/download the lecture notes.
  • Get a copy of the sample code on github.

Lecture 09 – Using 3rd Party Libraries / Frameworks in iOS   

  • Lecture Topics
    • Motivation. (watch video)
    • Inventory of useful 3rd party iOS libraries/frameworks.
    • Working with CocoaPods to manage external dependencies.
    • Demo: Using CocoaPods. (watch video)
  • Watch the entire lecture on YouTube
  • View/download the lecture notes.
  • Get a copy of the sample code on github.

Lecture 10 – Working with the iOS CoreLocation Framework and with the Google Maps SDK   

  • Lecture Topics
    • The fundamentals (watch video)
    • Working with CoreLocation.
    • Working with Google Maps SDK for iOS
    • Demo: Getting started with Google Maps SDK for iOS. (watch video)
  • Watch the entire lecture on YouTube
  • View/download the lecture notes.
  • Get a copy of the sample code on github.

Lecture 11 – Extending the reach of your iOS app   

  • Lecture Topics
    • Motivation (view video)
    • Custom URL schemes
    • Demo: Working with URL Schemes (watch video)
    • App Extensions
    • Demo: working with app extensions (watch video)
  • Watch the entire lecture on YouTube
  • View/download the lecture notes.
  • Get a copy of the sample code on github.

Comments

Leave a Reply





  • Search

  • About Me

    Jonathan Engelsma

    Jonathan Engelsma is a computer scientist, programmer, teacher, mobile technology enthusiast, inventor, beekeeper and life long learner. He is currently a Professor in GVSU's School of Computing, where he leads the GVSU Mobile Applications and Services Laboratory.

  • Find me on the Social Web