Final Projects

For your final project, you will design and implement an app of your choosing. If you like, you can explore frameworks that we have not yet covered in class. You may also decide to dig deeper into topics we have already covered.

The completeness of the submitted app is the most important objective, which does not necessarily mean a full realization of the developer’s vision. It’s better to submit a polished app with fewer features than an app with many unpolished features. Apps that are “App Store ready” will receive the highest grades.

Written Materials

Written materials should be submitted as a PDF in your git repository.

Executive Summary

Write a one-page summary of your application that answers the following questions:

Marketing Materials

Consider how you would market your app if you were to submit it to the App Store. Provide the following information:



Decide whether you want to build an iPhone, iPad or universal application. Determine which device orientations you will support.

Splash Screen

Display a splash screen every time the user launches your app (i.e., every time its state goes from “not running” to “active”).

Tip: You will not be able to accomplish this using LaunchScreen.storyboard.

App Store Rating




Data & Persistence

Since this course is not concerned with back-end development, you may choose to “fake” a back-end for your application. This could mean loading data from static json files or persisting data to UserDefaults or the Documents Directory instead of a remote database. We will cover options for persisting data to a device later in the course.

Third-Party Frameworks

You may use third-party frameworks with approval from the professor. List all third-party frameworks you plan to use in your final project proposal. If you find a framework you’d like to use after your proposal has already been submitted, you must request approval at that point.

When you submit your final project, you must list any third-party frameworks you used in your README. You should be familiar enough with any third-party framework used to explain in detail how the framework works.


In your README, remember to provide the instructors with all of the information necessary to test your application. For example:

Misc. Reminders


We will have informal presentations of the final projects during the last class session.

Your presentation should cover the questions answered in your executive summary (above). Most importantly, you should show screenshots, play a short video or do a live demo of your application.

Due Dates