CSCI 448 - Mobile Application Development (Android)Spring 2017 - Final Project - There's An App For ThatQuick Links: Canvas | CS @ Mines | Mines | Piazza |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home | Syllabus | Assignments | Schedule | Resources | | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Quick Links· Elevator Pitch · Shark Tank · Team Formation · Proposal · Storyboards ·· Alpha Release · Alpha Feedback · Beta Release · Beta Feedback · · Final Release · Website & Video · Final Report · Team Feedback · Final Presentation · Deploy · · Deliverables & Deadlines · Grading Rubric · Submission Process · For the Final Project, you and a team
will create the app you've always dreamed of. The app content is
completely open-ended and up to you. As the semester progresses, more
information will be added to this page.
Part I - Elevator PitchThe time is now! You've had this idea
for a killer app that will make millions, but you never knew how to
make it. This will be your chance. Unfortunately, your idea is too
grand for you to implement it yourself. But don't worry, we have a
team of developers at your disposal. The only catch, you need to
convince them that you have the coolest app.
To do so, create a single powerpoint
slide that explains your idea. Upload this slide to Canvas by Tuesday,
January 17, 2017 11:59 PM. It is OK if there is already an existing
app that does what you want to do. Try to improve it, add features you
wish it had, etc. However, your app should not be a clone of the
existing app. Make yours different and standout (something beyond a
new color scheme).
Part II - Shark TankIn class on Wednesday, January 18 you
will have 30 seconds to pitch your idea to the class. In that 30
seconds, you are trying to convince everyone that they should want to
be a part of your team.
Part III - Team FormationNow that everyone has heard all the
ideas, the Sharks have decided that they will only fund 20 apps. You
must now get together into teams of 3 and decide which of your three
apps you will implement.
Each member of your team needs to submit a text document with the
following information:
Part IV - Proposals
Your team should come up with a company name and a catchy and/or punny
name for your app. The team must submit an app proposal that states
the following:
Part V - Storyboards
It's time to begin designing your app - specifically the look and feel
of the app. You must create a storyboard showing the following aspects
of your app:
Your team needs to submit a PDF document that contains all the screens/states/transitions your app will contain. It can be hand drawn and scanned, or more professionally done. Part VI - Alpha Release
It's now time to start coding up your app! The main target of the
Alpha Release is to turn your Storyboards into a working navigatable
app. Convert each storyboard into a layout. Hook up the buttons and
events to allow the user to interact with the app.
There does not need to be any domain functionality at this point. It is perfectly acceptable to have the following:
At a minimum, you must have an Alpha Release that serves as a proof of concept focusing on basic UI and functionality. Your team needs to submit the apk for your app, an icon if you created a custom one, and a README. The README should document the following items:
Part VII - Alpha Feedback
Each student will be randomly assigned an ID and three apps to review the Alpha
Release of. Fill out this form for each
app to provide helpful feedback to the development team. As you fill
out the form, think about what sort of helpful feedback you would like
to receive and let the other teams know. Try to break their app. If
you succeed, then let the team know in a gentle manner. Also provide
the steps to reproduce what you did. Examples of feedback will
include:
Each individual student should submit one zip file containing three separate PDF documents. Name each PDF <AppName_ID.pdf> where AppName is the name of the app you are reviewing and ID is your unique ID. This list contains your name, the three apps for you to review, and your ID. To install an APK, with your device connected to Android Studio open up a terminal and run the following command adb -d install path/to/your_app.apk . Part VIII - Beta Release
With feedback in hand, you are ready to continue on with your development process. The Beta Release should accomplish two main tasks:
Your team needs to submit the apk for your app, an icon if you created a custom one, and a README. The README should document the following items:
Part IX - Beta Feedback
Once again, each student will be randomly assigned three different apps to review the Beta
Release of. Fill out this form (link to be provided later) for each
app to provide helpful feedback to the development team. As you fill
out the form, think about what sort of helpful feedback you would like
to receive and let the other teams know. Try to break their app. If
you succeed, then let the team know in a gentle manner. Also provide
the steps to reproduce what you did. Examples of feedback will
include:
Each individual student should submit one zip file containing three separate PDF documents. Name each PDF <AppName_ID.pdf> where AppName is the name of the app you are reviewing and ID is your unique ID. Part X - Final ReleaseTake into account the feedback you
received and address the errors/concerns that were raised. By this
point you should have a polished app that not only accomplishes what
you set out to do, but looks pretty slick as well. Your app should now be
free of any bugs and not unexpectadly crash. All functionality should be
in place.
For this submission, you must now zip together your entire Android Studio package and upload all of your source code. Again include a README that states:
Part XI - Website & VideoMake a company webpage that
advertises your app. If someone was to visit this page, then convince
them to download your app. Show off its features, show screenshots,
tell them about all the cool stuff it does.
Additionally, make a short video
advertisement for your app. While it does not need to be professional
in quality, it needs to be professional in content. You should
include it on your webpage. Android Studio allows you take take a
screen cast of your app running. You can see examples of videos from
last year's apps in the App Store.
Zip together all the files for your
webpage, along with your video (if it's not on YouTube), and upload to
Canvas.
Part XII - Final ReportYour final report should include all
documents turned in to this point (proposal, storyboards, alpha
release notes, beta release notes, final release notes). In addition, be sure your report addresses these points:
Part XIII - Team FeedbackDuring the Final Presentations, each
Team Member will provide feedback on the team experience. This will
include division of labor and division of effort. How well did your
team work together? Did everyone contribute equally towards the
project? Did any problems arise throughout the process?
Part XIV - Final PresentationDuring the Final Exam Time Slot, each team will give a 5 minute presentation demonstrating and selling their app. Your goal is to show off how cool your app is. Demo all of its features. Also give the audience an insight to the back-end, what's going on behind the scenes? What are the cool features and implementation details you included?
The non-presenting teams will be reviewing each Presenting Team. Criteria will include:
Part XC - Deploy to Play StoreDetails and specifics to follow. Obviously you would submit it to the Play Store for live downloads. Additional information will be forthcoming.
Deliverables & Deadlines
Below is the timeline of deliverables. If Submission Type is listed as
"Individual", then every team member is expected to provide a
submission to Canvas. If Submission Type is listed as "Team", then the
full submission only needs to be in the team's dropbox on Canvas.
There are no late extensions on any of the final project deliverable
deadlines. These are hard deadlines, penalties will be applied
for late submissions. As we approach each deadline,
additional details will be given as needed.
Documentation
With this and all future assignments, you are expeced to appropriately
document your code. This includes writing comments in your source code
- remember that your comments should explain what a piece of code is
supposed to do and why; don't just re-write what the code says in
plain English. Comments serve the dual purpose of explaining your code
to someone unfamiliar with it and assisting in debugging. If you know
what a piece of code is supposed to be doing, you can figure out where
it's going awry more easily.
Proper documentation also means including a README.txt file with your submission. In your submission folder, always include a file called README.txt that lists:
Grading Rubric
Your submission will be graded according to the following rubric.
SubmissionWhen you are completed with each
deliverable, compile a file named
<NAME>_FP_<DELIVERABLE_ID>.<EXT> where NAME is either your name (if individual submission) or your team name (if team submission), DELIVERABLE_ID is the ID of the current deliverable, and EXT is the file type expected for the given submission. Upload this file to Canvas under the appropriate deliverable section of the Final Project. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Last Updated: 01/01/70 00:00
|