COMP 150-MOB: Mobile Development

Fall 2017 Semester Project

Overview

In a pair (with another student in the class or in some situations no more than three people), design and build an app that someone needs.

Caveats

That's it? Any more details than that?

No, that's it.

I am appalled by how students are generally uncomfortable with working on unstructured and open-ended problems. The problem becomes glaring during students' first internships as I constantly see comments in CPT reports such as "I wish my supervisors had described the overall structure in a little more detail" or "I was simply freaking out with the fact that I did not have an assignment with a roadmap." That's normal and reality. Generally speaking in the real world, you will not be given detailed specifications as you have been in most classes. You will also not be given details on how you will be graded on a project because there is no such thing as grades in the real world. The professional world "is unstructured, with competing priorities and decisions that need to be made on the fly. College is very task-based: take an exam, finish a paper, attend a club meeting, go to practice. The workplace is more of a mash-up of activities with no scheduled end."

The open-ended nature of the project in this course will make you care more about the project and ultimately enjoy the course more. The ultimate goal for me is to see you all "set your own schedules and let your curiosity shape the project with little involvement from me."

Are we only going to build one app in this course?

Tough call. Last year, students asked to have a lab to build a simple app. I understand the reasoning for that: to serve as a simple exercise, training wheels, because many have never dabbled with mobile development before. This year, there will be a simple app lab to be done individually that will take no more than two weeks to do. However, the focus of this semester will be on one app. Having taught a course with an emphasis on mobile development each year since 2012, there isn't enough time. There are thirteen weeks in a semester. If we spend a month writing the same app, that about only nine weeks to design and develop a "final project." The big problem with that model is that each app becomes a "one off," a throwaway, not meaningful.

Fall 2016 Apps

BigGameHunter by Derek Benson and Walton Lee

CompFoodie by Nga Pham and Charles Wan

EasyStream by Chris Anderson and Melanie Belkin

Flipper by Ivan Chen and Nik Patel

Jumbo Eats by Kate Harwood and Zach Zager

Music Mafia by Kevin Dorosh, Matt Yaspan, and Samantha Welch

MusTrip by David Bernstein and Matt Carrington-Fair

MyDea by Joe Campbell and Tommy Tang

Pocket Critic by Eric Hochwald, Alex Jackson, and Jun Wang

PoorMansHomeStereo by Elena Cokova and Kevin Liu

Project Student Housing (psh) by Chris Fitzpatrick and Will Luna

QueueR by Alex Nguyen and Tianyu Zhu

Student Bridge by Nick Carlino and Georgios Papakostas

SueChef by Chase Crumbaugh, Alex Ravan, and Vincent Tran

Suh by Rowan Krishnan and Katya Malison

Treble by Olivia MacDougal and David McConnell

Tufts Bluelight Mobile by Tafari Duncan and Zabir Islam

TwoCents by Toby Glover and John Westwig

socialgraffiti by Alena Borisenko and Cornell Patrick

yummie by Elif Kinli and Marcus Mok


Leg 1: Proposal and Requirements

Instructions

In your engineering notebook:

  1. Briefly explain the need for the app (the "what").
  2. List the target audience (the "to whom").
  3. List the people and stakeholders who will be supporting your app along with a short statement of support from the person. The person cannot be the instructor of the course or another student in this course.
  4. List and briefly describe the core functionality of the app, the most important functions and transactions of the app.
  5. List and briefly describe the secondary functionality of the app, the functions and transactions of the app that are nice to have only if time allows.
  6. List the features on a mobile device that the app will use (e.g., camera, GPS, SMS, flashlight).
  7. Briefly describe any limitations each team member may feel that will hold back progress.

It goes without saying that the point of this leg is to plan accordingly: "have a plan, write it down." This leg is due on Friday, September 22nd. This should give you enough time to come up with a great idea. Teams will be giving a two minute pitch on their respective idea on Tuesday, September 26th.