Course Outline
Below is an outline of the course, broken down by week. See mycourses for official due dates and dropboxes.
Week 1 (1/26 - 2/1)
Topics
- Intro to Course
- Intro to Xcode
- Intro Swift:
- Swift Language Guide
- Swift Guided Tour
var
andlet
- Primitive types:
Int, Float, Double, String, Boolean
println()
and string interpolation- Type Inference and Type Safety
- Type Aliases
- Intro to Playgrounds
Assignments
- SG-1 (Chapter 1 & 2 - ABC_HelloWorld App)
- Hello RIT parts 1 & 2
- Intro to Swift Video HW
Links
- Sample Code and Errata for course text
- store.apple.com - education
- wikipedia.org - Minimum Viable Product
- Here are some high quality iOS/Swift resources for you to check out:
- The iOS Dev Center has links to documentation, video, sample code, and the latest version of Xcode. You'll have to login with your developer account to access everything.
- The Swift Programming Language Tour and Language Guide
- The Swift Standard Library Reference
- Swift has 74 built-in functions in the standard library - only 7 of them are documented in the Swift online book. Here is a link to a page that documents them all.
- Apple's Start Developing iOS Apps Today is a great overview of how to develop iOS Apps. Unfortunately, it's written in Objective-C, so it's not as useful to us as it could be.
- The Big Nerd Ranch has an excellent blog on iOS and Android development here: http://www.bignerdranch.com/blog/
- raywenderlich.com has a large number of iOS and Swift tutorials: http://www.raywenderlich.com
- This site has a lot of links to nice Swift tutorials: http://www.learnswift.tips
- SpriteKit is Apple's API for creating 2D games. This site has a lot of links to nice SpriteKit tutorials: http://www.sprite-kit.com/tutorials/
- SceneKit is Apple's API for creating 3D games. It is ne with iOS 8. Here's a tutorial on how to get started: http://www.raywenderlich.com/83748/beginning-scene-kit-tutorial
- There are also a lot of video tutorials and demos on YouTube - just ask the google.
Week 2 (2/2 - 2/8)
Topics
- Storyboards
- More Swift:
- Tuples
- Optionals and Unwrapping
- Collection classes:
Dictionary
&Array
discussed in SG-2 - Functions
- Random Numbers
- Loading files
- Playing sound with
AVAudioPlayer
NSError
- Installing an App onto iOS hardware
Demos
- iNoying
- iNoying2 - making it "bulletproof" with optionals and
NSError
Assignments
- SG-2 (Chapter 3 - ABC_TipCalculator App)
- Technobabble take-home practical
Links
- stackoverflow - What is an optional value in Swift
- stackoverflow - What does an exclamation mark mean in the swift language?
- matteomanferdini.com - Understanding Swift Optionals
- developer.apple.com -
AVAudioPlayer
- developer.apple.com -
NSBundle
- developer.apple.com -
NSString
- developer.apple.com -
NSString
Programming Guide - developer.apple.com -
UILabel
- developer.apple.com -
UIButton
- developer.apple.com -
UITextField
- developer.apple.com -
UISegmentedControl
Week 3 (2/9 - 2/15)
Topics
- MVC - Model-View-Controller
- Creating a Model Class:
- Properties
- Initializers
- Methods
- Application Lifecycle & the App Delegate
- Notifications with
NSNotificationCenter
- Saving app state with
NSUserDefaults
- Auto Layout - setting constraints and previewing
- Commenting your code with
//MARK:
//TODO:
and//FIXME:
Demos
- CountR
- CountR plus Model
Assignments
- SG-3 (Chapter 5 - Passport App)
- SG-Apple Design Video
- HW - Technobabble with model class and state saving
Links
Week 4 (2/16 - 2/22)
Topics
- App Design Process
- Multi-screened apps
- Navigation Controller
- Table Views
Assignments
- App Design Group ICE (Magnetic Poetry)
- Dr. Magneto Magnetic Poetry ICE
- Project 1 - Magnetic Poetry App
- Project 1 Teams
- SG-4 (Adding Autolayout and Size Classes to the Passport App)
Links
- Mobile UI Design:
- View Controllers:
- Table View Controllers:
- Other:
Week 5 (2/23 - 3/1)
Topics
UITableView
andUITableViewController
- Delegation and DataSource Patterns
- A model class for your app's data
- Singelton Design Pattern
- Custom Notifications
Assignments
- Chapter 8 - Maps and Location
- Chapter 9 - Camera, Photos, and Social Networks
- Work on Project 1
Links
Week 6 (3/2 - 3/8)
Topics
- Getting a screenshot of a view
- Saving/Reading files & the iOS Documents Folder
- Swift Extensions and Computed Properties
Assignments
- Work on Project 1
Links
Week 7 (3/9 - 3/15)
Topics
UIAppearance
NSURLConnection
Assignments
- Last.fm Web Service HW
- Music Finder App Design HW
- Data Downloader HW
Links
UIAppearance
- UIAppearance Protocol
- developer.apple.com - Appearance Customization
- nshipster.com/uiappearance/
- www.appcoda.com - Customizing tab bar background appearance
Downloading Data
Week 8 (3/16 - 3/22)
Topics
- Parsing a web service
UISearchBar
- Thursday 3/19 - Midterm Written Exam
Assignments
- ...
Links
- ...
Spring Break (3/23 - 3/29)
No classes!
Week 9 (3/30 - 4/5)
Topics
- ...
Assignments
- ...
Links
- ...
Week 10 (4/6 - 4/12)
Topics
- ...
Assignments
- ...
Links
- ...
Week 11 (4/13 - 4/19)
Topics
- ...
Assignments
- ...
Links
- ...
Week 12 (4/20 - 4/26)
Topics
- ...
Assignments
- ...
Links
- ...
Week 13 (4/27 - 5/3)
Topics
- ...
Assignments
- ...
Links
- ...
Week 14 (5/4 - 5/10)
Topics
- ...
Assignments
- ...
Links
- ...
Week 15 (Monday 5/11 - Wednesday 5/13)
Topics
- ...
Assignments
- ...
Links
- ...
Finals Week (Friday 5/15 - Thursday 5/21)
Section 01 Final:
Section 02 Final: