Assignment 6

Let's Go to the Movies

Due Dates


Additional Reading

Create Your Repository

Final Project Proposal

Write a 1-2 paragraph description of the app you plan to build. Explain the app’s purpose and functionality. Give a high-level overview of how you plan to implement it. If you’re planning to use any third-party frameworks, be sure to list them.

Your proposal should include a drawing or diagram with the rough layout of your app. Sketch out the screens you plan to build and show how a user would navigate between them.

Save your proposal as a PDF and commit it to your repo for this assignment.


In this assignment, you will create an application that allows users to view information about different movies. You will use:

Project Setup

View Controllers

Collection View Controller

TIP: Don’t confuse the layout and datasource classes listed above with UICollectionViewFlowLayout or UICollectionViewDatasource.

Movies displayed in a collection view.
Movies displayed in a collection view.

Filters View Controller

Filtering options.
Filtering options.

Detail View Controller

Movie detail page.
Movie detail page.


Fetching JSON{searchTerm}

Downloading Images

Placeholder images shown while real images are downloading.
Placeholder images shown while real images are downloading.

Dark Mode

Dark mode.
Dark mode.

Extra Credit (10%)

Sort the movies into sections based on genre. Display the genre name at the top of each section using a supplementary view.

As the user adjusts the filters, it’s possible that all of the movies in a particular section will be removed. When this happens, remove the view displaying the genre name as well so that you’re never showing an empty section. Do not hardcode any genre names into your app.

App Icon