iOS DeCal Final Project

CS198-001 Spring 2019

Key Dates

App Proposal

Before starting on your project, you'll need to write up an app proposal providing an overview of your application. Your proposal must include the following information:

  1. Group Members (up to 3): List each member of your group along with their berkeley.edu email (or just your name/email if you're working alone)
  2. Brief Project Description: Here you should explain what your application will do, and its main features (1 - 2 paragraphs).
  3. Storyboard / App Flow Sketch Provide a rough sketch (scanned hand-drawn or digital) of what your app will look like. Don’t spend a lot of time on this! Show us how your views are related to give us an idea of the flow of your application. We are not expecting you to have your full UI and design fleshed out at this point. (Feel free to use Proto or InvisionApp)
  4. List of iOS frameworks, API’s, and SDK’s you plan on using - This could include things like Core Data, Camera / Photo Library, Timer, Google Maps API, etc. Refer to the list of Awesome Cocoapods on Piazza for ideas!
  5. [Optional] Preferred TA: Your group will be assigned a TA advisor for the course of this project. If you have any strong preferences, list them here; otherwise we will assign groups based on TA expertise.

Please submit your proposal using this link. It will be due Thursday March 21 at 11:59 PM.

Progress Check-Ins

You and your group members will meet again throughout the weeks with your assigned TA to go over your progress. Though you do not have to turn anything in for this part, be prepared to show your TA what you’ve done in Xcode. This will be your lab check-off for those respective weeks, and you will be working with your TA to create checkoff goals for future weeks. In general, the plan will look like this:

Code Due

Items to submit:

  1. Github link to project repository: Once your code has been pushed, please download it as a zip from Github (Clone or Download > Download ZIP), and test that it still runs properly. If you want your repo to be private, please make sure both @chromadrive and @rjpimentel have collaborator permissions!
  2. Video demo of your project: A short run-through of your app. We don’t need anything elaborately edited / planned - just navigate through your app, with some narration of what you are doing as you go along. We'll be using these to select the projects that will present during our final showcase.
  3. App Logo and Screenshots: Include a small press kit for your app consisting of your app logo and a few relevant screenshots, compressed in a ZIP file. We’ll be using these in our presentation slides if selected to present. You can take a screenshot of just the simulator (without the iPhone ___ label by pressing Command-Shift-4, then Space, then holding Command and clicking the simulator window.
  4. Short description of application Explain what your project can do, and its main features. This could be similar to the one you used in your proposal if your app idea has not changed since then - but if your app has changed significantly we'd prefer you write a new version that is more accurate to what the app currently does.

Projects will be due Friday May 3 at 11:59 PM. This project is meant to be completed over the course of five weeks, and it is up to you to define a scope for your project and a fallback plan if you aren't able to implement everything you originally wanted to. As such we will not be granting extensions for any reason, no exceptions, since you should not be waiting until the last minute to work on this.

Final Presentation

ATTENDANCE MANDATORY

On Thursday or Friday of dead week, our course facilitator Dan Garcia and a few guests from industry will be coming to see demos of selected app submissions. If you are selected to present, you will need to prepare a short blurb describing your app, a few screenshots or slides, and an app demo (more information on this will be available as the presentation day approaches). Top app submissions will be eligible for awards in the following categories: