MOB-2.3 - Concurrency & Parallelism in iOS

Course Description

This course covers concurrency and parallelism in iOS to optimize programming performance on mobile devices built with multiple cores. You will learn the foundation of Grand Central Dispatch, Operations and other tools to build applications that run multiple tasks simultaneously, optimizing resources.

Prerequisites:

MOB 2.1

Learning Outcomes

By the end of this course, you will be able to ...

  1. Define and distinguish concurrency from parallelism
  2. Work with GCD Dispatch Queues and Operation Queues
  3. Identify the most common pitfalls and challenges that come with concurrency.
  4. Understand and apply Semaphores to solve synchronization problems.
  5. Practice common iOS interview projects & questions

Schedule

Course Dates: Tuesday, August 27 – Thursday, October 10, 2019 (7 weeks)

Class Times: Tuesday and Thursday at 1:30–3:20pm (14 class sessions)

Class Date Topics
1 Tue, Aug 27 Introduction to Concurrency & Parallelism
2 Thu, Aug 29 Grand Central Dispatch (Pt 1)
3 Tue, Sept 3 Grand Central Dispatch (Pt 2)
4 Thu, Sept 5 Grand Central Dispatch (Pt 3)
5 Tue, Sept 10 Semaphores
6 Thu, Sept 12 Operations (Pt 1)
7 Tue, Sept 17 Operations (Pt 2)
8 Thu, Sept 19 Operations (Pt 3)
9 Tue, Sept 24 Pitfalls & Challenges
10 Thu, Sept 26 Libraries and tools: PromiseKit
11 Tue, Oct 1 Lab day
12 Thu, Oct 3 Course Review & Workshop
13 Tue, Oct 8 Final Exam
14 Thu, Oct 10 Presentations & Exam Review

Class Assignments

Projects

Evaluation

To pass this course you must meet the following requirements:

  • Complete all required assignments
  • Pass all projects according to the associated project rubric
  • Pass the final summative assessment according to the rubric as specified in this class
  • Actively participate in class and abide by the attendance policy
  • Make up all classwork from all absences

Make School Course Policies