/MOB-2.1-Local-Persistence-in-iOS

Learn how to store data locally on your device for later use

Primary LanguageHTMLMIT LicenseMIT

MOB 2.1 - Local Persistence in iOS

Course Description

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.

Prerequisites:

Course Specifics

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

Learning Outcomes

Students by the end of the course will be able to ...

  1. Build apps that store information locally on an iOS device
  2. Compare and contrast various persistence options such as Core Data, Realm, NSCoder, UserDefaults, Keychain and chose the best options for their project.
  3. Identify and use the built in persistence mechanisms in iOS as well as some third party options for persistence
  4. Store and retrieve sensitive information in iOS.
  5. Learn and understand the iOS filesystem.

Lessons

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

Class Assignments

Assignment Schedule

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

Evaluation

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

Information Resources

Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:

Make School Course Policies