This courses covers how and why to persist data in mobile development. We will learn the various options for saving data locally in iOS including Core Data, Realm, NSCoder, UserDefaults, and Keychain. Understand best practices in storing and retrieving sensitive data and how to work with the iOS file system.
Course Delivery: Bichronous | 7 weeks | 16 sessions
Course Credits:3 units | 14 Contact Hours/Term | 115.5 Non-Contact Hours/Term | 129.5 Total Hours/Term
Students by the end of the course will be able to ...
- Build apps that store information locally on an iOS device
- Compare and contrast various persistence options such as Core Data, Realm, NSCoder, UserDefaults, Keychain and chose the best options for their project.
- Identify and use the built in persistence mechanisms in iOS as well as some third party options for persistence
- Store and retrieve sensitive information in iOS.
- Learn and understand the iOS filesystem.
Course Dates: Monday, May 31 – Wednesday, July 14, 2021 (7 weeks)
Class Times: Monday, Wednesday at 4:00pm–5:30pm (12 class sessions)
Class | Date | Topics |
---|---|---|
- | Mon, May 31 | No Class - Memorial Day |
1 | Wed, June 2 | Introduction to Persistence Technologies |
2 | Mon, June 7 | Plist |
3 | Wed, June 9 | UserDefaults & NSCoding & Codable |
4 | Mon, June 14 | The FileSystem |
5 | Wed, June 16 | Keychain |
6 | Mon, June 21 | Unit Testing |
7 | Wed, June 23 | CD - Introduction |
8 | Mon, June 28 | CD - Relationships |
9 | Wed, June 30 | CD - Fetching Data + Project Intro |
- | Mon, July 5 | No Class - Independence Day Observed |
10 | Wed, July 7 | CD - Multiple contexts |
11 | Mon, July 12 | Project Lab |
12 | Wed, July 14 | Realm |
Assignment | Type | Date Assigned | Due Date | Submission Form |
---|---|---|---|---|
[Keychain Demo] | Activity | Github link in Gradescope | ||
[Food Rating App] | Activity | Github link in Gradescope | ||
[CoreData Components] | Activity | Github link in Gradescope | ||
[Friends App] | Activity | Github link in Gradescope | ||
[Plants App] | Activity | Github link in Gradescope | ||
[World Cup App] | Activity | Github link in Gradescope | ||
Course Project | Project | Jun 30 | Jul 16 | Github link in Gradescope |
To pass this course you must meet the following requirements:
- Score a passing grade in the Course Rubric
- Pass the final summative assessment with at least 70%
- Get a score of at least 70% in the Course Project
- Actively participate in class and abide by the attendance policy
- Make up all classwork from all absences
Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:
- Program Learning Outcomes - What you will achieve after finishing Make School, all courses are designed around these outcomes.
- Grading System - How grading is done at Make School
- Diversity and Inclusion Statement - Learn about Diversity and Inclusion at Make School
- Academic Honesty - Our policies around plagerism, cheating, and other forms of academic misconduct
- Attendance Policy - What we expect from you in terms of attendance for all classes at Make School
- Course Credit Policy - Our policy for how you obtain credit for your courses
- Disability Services (Academic Accommodations) - Services and accommodations we provide for students
- Student Handbook - Guidelines, policies, and resources for all Make School students