Skip to content

Files

Latest commit

 

History

History
64 lines (46 loc) · 2.88 KB

File metadata and controls

64 lines (46 loc) · 2.88 KB

Study Guide for MOB 2.3 Final Assessment

Overview: Your final exam will focus on the learning outcomes for this course. Review each outcome thoroughly and ask questions if you are unclear about the outcome or your level of understanding.

Final Exam Format: Your final exam will be on July 2nd.

Outcome: Define and distinguish concurrency from parallelism

  • Ways we learned about this in the course

    • Class 1 covered both technical terms with examples.
    • Throughout the rest of the lessons you learned how different tools helped you achieve concurrency and paralellism in iOS.
  • Ways you can demonstrate your skill / knowledge level of this outcome

    • Define both terms.
    • Explain how you can have one without the other, or both together.
    • Explain how you can achieve concurrency and parallelism in iOS.
    • Give examples of situations in which you would benefit from implementing either in a project.

Outcome: Work with GCD Dispatch Queues and Operation Queues.

  • Ways we learned about this in the course

    • Classes 2, 3 and 4 coverend GCD.
    • Classes 6, 7 and 8 covered Operations.
  • Ways you can demonstrate your skill / knowledge level of this outcome

    • Explain how GCD works.
    • Explain how queues are managed by GCD.
    • Identify when is the best situation to use GCD.
    • Describe the levels of priority for queues.
    • Explain how Operations work.
    • Explain how Operations can be managed.
    • Identify when is the best situation to use Operations.

Outcome: Identify the most common pitfalls and challenges that come with concurrency.

  • Ways we learned about this in the course

    • In class 11 we saw how deadlock happened.
    • Class 9 covered Priority Inversion and Race Condition.
    • The Dining Philosophers problem could potentially end in deadlock or starvation.
  • Ways you can demonstrate your skill / knowledge level of this outcome

    • Identify when each situation occurs.
    • Propose solutions for the pitfalls.

Outcome: Understand and apply Semaphores to solve syncrhonization problems.

  • Ways we learned about this in the course

    • Class 5 covered semaphores.
  • Ways you can demonstrate your skill / knowledge level of this outcome

    • Define a semaphore.
    • How does the class DispatchSemaphore work
    • Solve a synchronization problem with semaphores (rendez vous, mutex, etc.)

Outcome: Practice common iOS interview projects and questions.

  • Ways we learned about this in the course

    • Janky table app demonstrates how you can use the content of the course to improve the performance of an app.
    • Class 9 had interview questions you should be comfortable answering.
  • Ways you can demonstrate your skill / knowledge level of this outcome

    • Make sure you can work your way around an app that need to improve its performance by either using GCD or Operations.
    • Correctly answer the questions in the activity from class 9.