Mid Term Project

Goal

Create an app that stretches you and one that you are INTERESTED in. Some of the best projects arise when students create an app that is centered around outside interests that matter to them.  A big purpose of this assignment is to solidify your knowledge of the topics we have covered up to this point, but don’t be afraid to incorporate elements that we have not covered yet such as pickers (date, color, or roll your own), progress  views, or forms.

Projects from the past

Feeling a little stumped? Follow this link to see what students from previous semesters have created.

Rubric

  1. Parsimony. App should have no more views than necessary. Ie. don’t create a bunch of unnecessary views when one view that displays multiple sets of data can work just as well.
  2. Responsiveness. Your app should at least look decent on small phones and large Ipads. Fortunately, this requirement is much simpler to accomplish in SwiftUI than in the previous version of Swift. Mainly, be sure to test your app out on devices of varying sizes via the simulator.
  3. Ambition. The goal of this project is for you to push yourself to build something that goes just a bit—maybe 15-25%—beyond what’s feels definitely doable.
  4. Polish. Your app should look good. Maybe not great, but at least make an effort to keep it from being ugly. 
  5. Usability. Your app should have an interface that is easy to use and makes sense to the average user.  

Things I would like to see

If you app has more than one navigation link, be SURE that you extract a view (from chapter 4 in the textbook) and use it to format each link, instead of styling each link independently.

Things that enhance user interaction. Forms, which we have not yet covered. that tailor the user experience based on what they enter into the form, come to mind. Another option would be to offer choices via buttons that present different options.

Good organization. I’m always impressed by projects that, for example, do not store fifty lines of data in ContentView, but use external swift files for organized storage instead.

Video

  • Plan on approximately 2-3 minutes for your presentation.
  • The goal is not to give a comprehensive tour of every single part of your app. Instead, aim for the following breakdown:
    • A brief (10-20 second) refresher on topic / goals
    • 60-120 seconds giving a guided tour of a few (2-4) highlights from your app. These could be design features you’re proud of, tricky technical challenges you overcame, etc.
    • 30-60 seconds or so reflecting on learnings from this project.
  • This isn’t a public speaking course, so don’t feel stressed out about memorizing what you’re going to say word-for-word. However, do rehearse a couple of times (even three times through will take only 10 minutes!).
  • This article has good walkthroughs on how to record your screen.
  • Upload your presentation as an unlisted YouTube video submitted via this form: