Class Outlines:
1. The basic skills and foundations in Swift4.
2. The simple iOS application
3. Sensing technology for mobile phones
4. AR technology in iOS
Prerequisites:
1. A Mac have Xcode 9.0+ installed (from the Mac App Store).
MacBook Pro, MacBook, and MacBook Air are recommended.
2. An Apple ID and a GitHub account.
3. An iOS device (minimum: iPhone 6s). (required)
4. Programming experience with Object-Oriented Languages, like Python, Java, or C++.
Syllabus:
Date |
Title |
Topics |
Resources |
2/28 |
228 Peace Memorial Day |
Class Registration |
|
3/7 |
Preface & Introduction Class announcement & Introduction to the platform and developer tools.
|
- Preface
- Introduction to Apple’s Platform
- Introduction to Xcode
- Git SCM tool
|
|
3/14 |
the Swift language – I |
- Literals, Variables, and Constants
- Types
- Operators
- Functions
- Control flows
- Optionals
- Collections
|
|
3/21 |
the Swift language – II |
- Error Handling
- Enum
- Struct and Class
- Extensions
- Protocols
|
|
3/28 |
the Swift language – III |
- Closures
- Optional Chaining
- Type Casting
- Generics
- Automatic Reference Counting (ARC)
- Access Control
|
|
4/4 |
Spring Break |
|
|
4/11 |
Your first iOS app |
- The first iOS app – Counter
- UIView
- Storyboard review
- Case: Build a Note app
- the MVC pattern
- Using Auto Layout to layout views
- Using Adaptivity APIs to create responsive UI
|
|
4/18 |
Design an iOS app |
- Lifecycle of UIViewController
- Load Storyboard
- Storyboard Segue
- UINavigationController and UITableViewController
|
|
4/25 |
CHI Conference |
|
|
5/2 |
ARKit |
- Introduce ARKit
- Initialize AR Session
- Visualize 3D content
- Handle 3D Interaction and UI controls
- Face-Based AR Experiences
|
|
5/9 |
Midterm presentation – Proposal of the Final Project |
- 2-3 members for each team, register before the class of 5/9.
- 7 min for presentation, and 3 min for Q&A. (Team based)
- The presentation materials are not limited. Slides, videos, or other forms are acceptable.
If you have digital materials, make sure they’re okay to play with your computer.
I could lend my VGA adapter for Macs with mini display port or thunderbolt port.
- The presentation should include a problem to be solved, but not just tech items you are interested in.
It should also talk about who, when, where, why, what, and how to use this solution.
You can provide a hand-draft or low-fi prototype of your app; Detail mockup/wireframe are not required,
and also not suggested. If possible, you can also show your schedule/plan and related works
|
About the Design |
5/16 |
iOS Library and Framework |
- Library and Framework
- CocoaPods
- Pod init and install
- WorkSpace
- Example – Firebase
- Using Swift and Objective-C in the same project
|
|
5/23 |
Advanced Topics:
Communication Patterns |
- Target-Action pattern
- Delegate pattern
- Notification pattern
- KVO, Key-Value Observing, pattern
|
|
5/30 |
Advanced Topics:
Sensing Technologies |
- Gesture Recognizer
- Accelerometers
- Camera
- GPS
|
|
6/6 |
Final Project – Technical Sharing |
- Technical Sharing for your final project.
- Each team has 12 minutes to share
one technical topic and 1 minutes to Q&A
- Any topic you found interesting
- Scores come from evaluation form
|
|
6/13 |
Final Project Demo |
|
|
6/20 |
No Class –
Github Readme and Wiki as Report |
|
|
|
|
|
|
Like this:
Like Loading...