Skip to content

wvu-ric/cl-mobile-final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

JRL493Z: Final Project

Description

This semester you have learned about the fundamentals of programming and how they apply to mobile application development on the iOS and Android platforms. From the beginning of this course you have been encouraged to think about your own app ideas in anticipation of applying your skills towards creating them. Now, for your final project, you have the opportunity to do just that.

First, you will need an app idea. The scope of the project doesn’t matter as long as it is something you care about. Big ideas are encouraged. If the scope of your project is beyond the time allotted for this assignment, you will be graded based on your progress towards some attainable milestone agreed upon by you and your professor(s).

You will be graded on the quality of your idea. Software development is an expensive and time-intensive process so your idea should be something worth making. Maybe it is a business idea with a profit incentive or it could be an idea to improve the lives of your users in some way. Regardless of what your idea is, you should be able to make the case that 1) Your idea has not been done before, or, if it has, that you are making some significant improvement 2) You are making something people want

Next, create mockups and a functional specification. Coding is never the first step of application development. In order to refine your idea as an app and accurately express it to others, it is a common practice to create design mockups and a functional specification document.

The purpose of mockups is to show how your application will flow for your users. Draw each ‘screen’ of your application in great detail. Consider things such as:

  • Which user interface elements should each screen include (buttons, text fields, web views, etc.)?
  • What happens if the user performs an invalid operation?
  • How will the user navigate through the application?

Digital mockups created with design software such as Sketch or Adobe Photoshop are preferred, but pen and paper sketches will be accepted as long as they are neat.

The purpose of the functional specification document is to explicitly define what the app will do. Again, the more detailed, the better. In this document you are expected to technically describe what is happening in your application in such detail that a professional software developer could tell you how much time and money it would take to build. Important technical details include such things as:

  • External APIs you plan on integrating with
  • In-depth description of special features such as GPS capabilities or accelerometer usage
  • Data structures supporting your view controllers (things like dictionaries and arrays)
  • How data will flow throughout your application.

Lastly, you will code your application. After you have refined your idea by creating mockups and drafting a functional specification it is time to code it. You may choose to develop your app for either iOS or Android. Unless your app idea is unusually small in scope, you likely won’t have time to code the complete application for this assignment. If that is the case, discuss an acceptable development milestone with your professor. Your code will be graded on the following criteria:

  • The project file was setup correctly.
  • The code is functional in some nontrivial way.
  • The project successfully builds and does not crash.

Grading Rubric

Task Grade Weight Below Average Average Above Average
App Idea 25% Idea is trivial. Lacks an obvious improvement upon something that has already been done before. Not feasible. Doesn’t add value to user. Idea is non trivial. Is comparable to an existing idea or improved upon in some incremental way. Is feasible. Adds some value to user. Idea is innovative. Nothing like it exists or it improves markedly upon an existing idea. Is feasible. Users can’t imagine life without it.
Mockups 25% Design is sloppy. User interface elements are not identified or incorrectly identified. User navigation is broken or not thought out completely. Design is decent quality. User elements are well defined and mostly correctly identified. User navigation is well thought out. Design is neat and high quality. User elements are all defined and correctly identified. User navigation is well thought out and even delightfully simple.
Functional Specification 25% Data structures not discussed. Features of the application left unexplained. Completely fails to explain mockups. Some data structures are discussed. Features of the application are mostly explained. Mostly explains the mockups. All data structures are accounted for. All features are explained, including APIs used and SDKs needed. Mockups are completely explained
Coding 25% The project file is corrupted, empty or mostly devoid of key content. Code does not build The project file is setup correctly. Code builds. Application works but may have bugs / crash at some points. The project file is setup correctly. Code builds and is well thought out. Application works and does not crash.

Releases

No releases published

Packages

No packages published