CSCI 448 - Mobile Application Development (Android)Spring 2020 - 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 · · Final Release · Website & Video · Final Report · Team Feedback · Final Presentation · · Deploy to Play Store · Sales Pitch · · 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 two powerpoint
slides that explain your idea. The first slide should have just your name on it.
The second slide then has the pitch for your app. Upload these slides to Canvas by Thursday,
January 16, 2020 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 Friday, January 17, 2020 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 move through 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. A user should be able to navigate through the flow of the app and view the different screens. No backend functionality need be, or should be, present. 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 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:
Instructions for performing reviews will follow. To install an APK, with your device connected to Android Studio open up a terminal and run the following command For physical device: adb -d install path/to/your_app.apk For emulator: adb -e install path/to/your_app.apk (you may also be able to drag-n-drop the apk to the emulator)There is additional information to locate where adb is installed on your machine in the class slides and lab writeups. 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 does not unexpectedly crash. All functionality should be
in place.
For this submission, you must now zip together your entire Android Studio project 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 or Vimeo), and upload to
Canvas.
Part XII - Final ReportYour final report must include all
documents turned in to this point (proposal, storyboards, alpha
release notes, final release notes). In addition, be sure your report addresses these points:
Part XIII - Team FeedbackEach
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 PresentationYour website and video will serve as your final presentation. The other teams will be reviewing
your submission. Criteria will include:
Part XCI - Deploy to Play StoreRegister as a Google developer and submit your app
to the Play Store. Advertise your app everywhere! Extra points will be given based
on the number of downloads your app receives. More downloads == more points!
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 done by one team member 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: 04/19/20 20:40
|