iOS Bootcamp: learning to create awesome apps on iOS using Swift
Posted on | May 12, 2015 | No Comments
I 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 Topics:
- The Tools – Xcode and friends.
- iOS Model / View / Controller design pattern.
- Watch the entire lecture on YouTube: https://youtu.be/XchvSH4EYEk
- View / Download the lecture notes.
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 Topics
- Understanding the Model – View – Controller architecture (watch video)
- The “Greeting” coding demo (watch video)
- ViewControllers, and the ViewController lifecycle (watch video)
- The “LifeCycle” coding demo (Watch: TBD)
- The “StopWatch” coding demo (watch video)
- Watch the entire lecture on YouTube.
- View / Download the lecture notes.
- Get a copy of the sample code on github.
- Download Homework #3.
Lecture 05 – The Essentials of iOS TableView Controllers / Navigation Controllers
- Lecture Topics
- More about View Controllers (watch video)
- Navigation Controllers (watch video)
- TableView Controller overview (watch video)
- Static TableViews coding demo (watch video)
- Dynamic TableViews coding demo (watch video)
- Edit TableViews coding demo (watch video)
- Watch the entire lecture on YouTube (TBD)
- View / Download the lecture notes.
- Get a copy of the sample code on github.
- Download Homework #4. Download the data.json input file.
Lecture 06 – More iOS User Interface Considerations
- Lecture Topics
- AttributedStrings: Making text pretty (watch video)
- Working with AttributedStrings code demo (watch video)
- AutoLayout: Getting things to layout correctly (watch video)
- AutoLayout code demo (watch video)
- AutoRotation: Supporting different screen orientations (watch video)
- AutoRotation code demo (watch video)
- Watch the entire lecture on YouTube
- View / Download the lecture notes.
- Get a copy of the sample code on github.
- Download Homework #5.
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