Mobile Applications (Winter 2023) Project Guidelines

From Soma-notes

This page contains guidelines on the class project.

Project Proposal

Your project proposal should be a relatively short document describing what you plan to do for your project. You should propose to make an original app of some kind. Make sure you propose to do something that you can complete this semester. It is fine to have optional extensions that you add if you have time; the basic app, however, should be completed with some reasonable amount of functionality.

Your proposal should:

  • Have a title and your name
  • If you have a collaborator, list them and explain how the collaboration will work. You can have at most one collaborator. (You both must submit separate proposals that focus on your individual responsibilities.)
  • Explain your motivation for what you are doing
  • Describe what you plan to do
  • Present what preliminary work you've done
  • Outline your development plan, including milestones and dates
    • Leave enough time to write your final report

Your proposal will be graded based on the following criteria:

  • 40% Writing & presentation quality (organization, grammar, flow)
  • 40% Technical scope
  • 20% Creativity

I may change the relative weights of the categories, but only if it results in a better grade (i.e., a project that is really creative but not so technically demanding might get 40% creativity, 20% technical scope).

Note that part of technical scope is whether what you propose is doable within the time you have. So, if you propose something very ambitious you should have a lot of preliminary work completed.

Presentation

You will have 10 minutes to present your app to the class.

In these 10 minutes, you need to do the following:

  • Describe at a high level what you built, and explain your motivations. Feel free to include information on your personal passions.
  • Describe at least three technical or design challenges that you faced and explain how each was overcome. Be specific. Explain in the context of key mobile development concepts. Consider using code excerpts.
  • Give your perspective on Android as a platform for implementing what you did. How did it support your work? How was it unhelpful? How did it get in the way? Make specific technical arguments please.
  • If you have future plans to extend or modify what you did, please outline them.

Your presentation will be graded out of 10 as follows:

  • 2 for description & motivation
  • 6 for challenges
  • 2 for your perspective on Android

Your score in each category will be based on content and style, with more of an emphasis on content. Note the scoring should give you an idea of how to allocate your presentation time.

Final Report

Your report should have the following sections:

  • Introduction/Overview
    • what did you do?
  • Inspirations/Background
    • What led to what you did?
    • inspiring apps, articles, daydreams, whatever
    • make sure to cite inspirations where feasible
  • Design
    • high-level description of what you built
  • Implementation
    • details, how it exists in Android
    • Explain code structure
    • enough detail that someone who looks at your code will have a basic idea of what is going on, how to find bits they are interested in
    • if chunks of your implementation came from outside sources, just give a high level summary of it and cite the source
  • Iteration/Evaluation
    • organize what you wrote in your journal, what was the process?
    • how close did you get to what you wanted to do?
    • what are the major issues remaining?
    • report on any user testing you did
    • cite resources that helped you along the way
  • Lessons Learned
    • what do you know now that you didn't know at the start of the term?
  • Conclusion

Grading will be based on:

  • 30% Writing & presentation quality (organization, grammar, flow)
  • 30% Technical scope
  • 20% Creativity
  • 20% Evaluation/Process

Again, the weighing may be changed.