2/22 |
Preface & Introduction
Class announcement & Introduction to the platform and developer tools.
|
- Preface
- Introduction to Apple's Platform
- Introduction to Xcode
- Git SCM tool
|
|
3/1 |
the Swift language - I
|
- Literals, Variables, and Constants
- Types
- Operators
- Functions
- Control flows
- Optionals
|
|
3/8 |
the Swift language - II
|
- Collections
- Enum
- Error Handling
- Struct and Class
|
|
3/15 |
the Swift language - III
|
- Struct and Class
- Extensions
|
|
3/22 |
the Swift language - IV
|
- Protocols
- Closures
- Optional Chaining
- Type Casting
- Generics
- Automatic Reference Counting (ARC)
- Access Control
|
|
3/29 |
Your first iOS app
|
- Swift Introduction - Generics
- Swift Introduction - Automatic Reference Counting (ARC)
- Swift Introduction - Access Control
- The first iOS app - Counter
|
|
4/5 |
Design an iOS app
|
- Introduction to UIView
- Storyboard review
- Case: Build a Note app
- the MVC pattern
|
|
4/12 |
Midterm presentation - Proposal of the Final Project
|
- 4 members for each team, register before the class of 4/5.
- 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 table 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
|
|
4/19 |
Auto Layout and Adaptivity UI
|
- Using Auto Layout to layout views
- Using Adaptivity APIs to create responsive UI
|
|
4/26 |
iOS Human Interface Guideline
|
- Presentation
- You have to prepare a 7 min presentation and 3 min for Q&A (team based), with assigned sections of the iOS HIG.
- You should prepare slides with the outline or digest of the assigned sections.
- Assigned sections of each teams
- Lecture
- Using Cocoapods Package Manager
|
|
5/3 |
App Structure & File System Programming
|
- File System Programming
- App Structure and Bundle
|
|
5/10 |
Storyboard Segue & Table View Controller
|
- Lifecycle of UIViewController
- Load Storyboard
- Storyboard Segue
- UINavigationController and UITableViewController
|
|
5/17 |
Communication Patterns
|
- Target-Action pattern
- Delegate pattern
- Notification pattern
- Closure/Block (Callback) pattern
- KVO, Key-Value Observing, pattern
|
|
5/24 |
Gesture Recognizer & Midterm presentation - Progress Report of the Final Project
|
- Progress report of your final project. Each team has 5 minutes to report
current progress, including questions or some research you found interesting.
There's no required content or format for this report.
- Using Gesture Recognizer
|
|
5/31 |
Networking & Async Tasks
|
- Concurrency programming in iOS
- Networking in iOS
|
|
6/7 |
Networking & Debugging
|
- Swift 4
- Networking in iOS
- Using LLDB
|
|
6/14 |
Unittest, UI Testing, and Objective-C
|
- Unittest
- UI Testing
- Brief introduction to Objective-C.
|
|
6/21 |
Final Project presentation
|
- Don't be late. We won't wait for you if you're late.
- Each team has 10-12 minutes to present.
- Each team should also have to submit their slides and git repo at 2017 6/21 23:59.
- The presentation should contain
- A brief review of the idea/goal of your final project
- Design process overview
- Demo of the app
- Tools/packages you used
- Summary
- Please make sure your slides and demo could be displayed well with the projector.
|
|