Course Outline
Below is an outline of the course, broken down by week. See mycourses for official due dates and dropboxes.
Week 1 (1/24, 1/26)
Topics
- Intro to Course
- Intro to Xcode
- Creating and running a project
- The iOS Simulator - choose the right one and scale it down!
- Getting help in Xcode
- Intro Swift:
- Swift Language Guide
- Swift Guided Tour
- Swift Safety
- Swift requires less coding - approximately 50% less code than a Android project written in Java.
- By default, variables are not allowed to be nil and this is enforced at compile time
- Strict typing and inferred data types
- Compiler warnings if a variable not used, or if a result is discarded
- Closures are "first class" data types
switch
cases must be exhaustive- Arrays and integers are checked for overflows
- Automatically managed memory using reference counting
- iOS 10 "grand renaming" of methods
- Features that better communicate developer intent such as
guard
anddefer
var
andlet
- Base types:
Int, Float, Double, String, Boolean
- These base types are copied by value, and can have methods assigned to them.
print()
and string interpolation- Type Inference and Explicit Typing
Assignments (see dropboxes for due dates)
- Hello RIT ICE
- Hello RIT II ICE
- SG-1
Links
- See links on syllabus
Week 2 (1/31, 2/2)
Topics
- More Swift:
- Tuples
- Optionals and Unwrapping
- Collection classes:
Dictionary
&Array
discussed in SG-2 - Functions
- Random Numbers
- Loading files
- Installing an App onto iOS hardware
Demos
Assignments
Links
Week 3 (2/7, 2/9)
Topics
- ...
Assignments
- ...
Links
- ...
Week 4 (2/14, 2/16)
Topics
- ...
Assignments
- ...
Links
- ...
Week 5 (2/21, 2/23)
Topics
- ...
Assignments
- ...
Links
- ...
Week 6 (2/28, 3/2)
Topics
- GDC Week
Assignments
- ...
Links
- ...
Week 7 (3/7, 3/9)
Topics
- ...
Assignments
- ...
Links
- ...
Spring Break (Monday 3/13 - Friday 3/17)
Enjoy your time off!
Week 8 (3/21, 3/23)
Topics
- Midterm Written Exam Thursday 3/23
Assignments
- ...
Links
- ...
Week 9 (3/28, 3/30)
Topics
- ...
Assignments
- ...
Links
- ...
Week 10 (4/4, 4/6)
Topics
- ...
Assignments
- ...
Links
- ...
Week 11 (4/11, 4/13)
Topics
- ...
Assignments
- ...
Links
- ...
Week 12 (4/18, 4/20)
Topics
- ...
Assignments
- ...
Links
- ...
Week 13 (4/25, 4/27)
Topics
- ...
Assignments
- ...
Links
- ...
Week 14 (5/2, 5/4)
Topics
- ...
Assignments
- ...
Links
- ...
Week 15 (5/9, 5/11)
Topics
- Final Written exam on last day of class - 5/11
Assignments
- ...
Links
- ...
Finals Week
You will present your final projects during finals week: Tuesday 5/16 from 10:15AM-12:15PM