CISC181 S2019 ProjectRequirements

From class_wiki
Jump to: navigation, search

For this final project, you will create a simple app that uses a number of Android features (listed below). You may target any phone/tablet version of Android if you wish to use more recent features (no TV/watch apps, please).

Possible ideas:

  • 2-D graphical game This could be an approximation of a board game like checkers or Othello, a card game, or something more free-form like Pong, Space Invaders, or Whack-A-Mole. Or you can completely make your own game up. Humor is great, but no photos/depictions/names/recordings of actual people may be used in your app
  • Graphing calculator The user enters parameters for a restricted type of formula (polynomial, trig functions, etc.) and it is graphed. Or data can be read from user-specified file for scatter-plot or connected curve plot. Options allow zooming, setting colors.
  • Paint program User can choose paintbrush, shape, color, etc. and swipe around with their finger/stylus to draw and/or resize shape. Drawings are savable.
  • Your idea?? Please e-mail me a quick proposal ASAP so that I can give you feedback on the scope of your project before you get too far into it.

You will not be graded on artistic ability or the skill of your game's computer opponent (if you even add such an option), but rather on your app's functionality and meeting the requirements listed below. Whatever you choose to do, the code should be all your own regardless of any examples that you consult.

You are free to work as a pair or trio on this project. It is highly recommended that your team have at least one actual Android device or a computer with an accelerated emulator for development.

Requirements

In general, your app should have at least 2 activities, each of which uses a variety of views:

  • Title screen activity with the following features:
    • A title with modified font size and color
    • A thematically-related image
    • Instructions (these may pop up or be scrollable if they are long)
    • Settable options (using checkboxes/radio buttons/spinner/text editing/etc.)
    • Button to start main activity (e.g., game)
  • Main activity. What happens here depends on what your app does. For a game, these are some possible features:
    • Canvas where drawing/painting is done
    • Touch input allowing the user to control the action beyond just buttons
    • A score of some sort that is kept and displayed at all times (could be money if a card game)
    • Animation: something moves without the need for user input

Furthermore, your app should:

  • Read and/or write at least one external data source such as a text file, preferences file, or Internet-connected resource (could be a web page, or the Maps API, etc.)

Submission

  • Milestone 1 (May 10) (worth 3%)
    • Outline of full app. On Canvas, submit a document describing what your app will do in detail. This should include:
      • An app name and description of planned functionality. For example: "My app is called Monkey Mango Maelstrom and it will be an arcade-style game where you shoot fruit at ravenous primates swinging from vine to vine toward your peaceful jungle picnic. The user will move and fire their Banana Cannon (tm) by swiping and tapping..." The more detail, the better.
      • A list of all planned views and other Android/Java features which will satisfy the above requirements.
      • Your name and your partner name(s) (if applicable). If you are working in a pair or trio, explain who is doing what
    • Schedule your in-person final project demo (see below)
  • Milestone 2 (May 17) (worth 12%)
    • Full project code submitted on Canvas (just zip up your whole project directory)
    • Demo. On May 20 or May 22 (there will be sign-ups), your team will show the instructor your app running on your device or emulator (after compiling) and demonstrate/explain its features. All partners must be present, and I will ask each of you about your specific contributions. Plan on this taking about 20 minutes