Difference between revisions of "CISC181 S2019 ProjectRequirements"

From class_wiki
Jump to: navigation, search
(Created page with "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...")
 
Line 10: Line 10:
 
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 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''' 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. You can '''NOT''' use late days on the second part of the project -- Dec. 6 is a hard deadline for Sakai submission.
+
You are free to work '''as a pair''' 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. You can '''NOT''' use late days on the second part of the project -- May xx is a hard deadline for Canvas submission.
  
 
====Requirements====
 
====Requirements====
Line 35: Line 35:
 
====Submission====
 
====Submission====
  
* '''Milestone 1 (Nov. 29)''' (worth 5%)
+
* '''Milestone 1 (May xx)''' (worth 5%)
 
** Outline of full app.  On Sakai, submit a document describing what your app will do in detail.  This should include:
 
** Outline of full app.  On Sakai, 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 <tt>Monkey Mango Maelstrom</tt> and it will be an arcade-style game where you shoot fruit at ravenous primates streaming across the screen toward your peaceful jungle picnic..."
 
*** An app name and description of planned functionality.  For example: "My app is called <tt>Monkey Mango Maelstrom</tt> and it will be an arcade-style game where you shoot fruit at ravenous primates streaming across the screen toward your peaceful jungle picnic..."
 
*** A list of all planned views and other Android/Java features which will satisfy the above requirements.   
 
*** A list of all planned views and other Android/Java features which will satisfy the above requirements.   
*** Your name and your partner's name (if applicable).  If you are working in a pair, explain who is doing what
+
*** Your name and your partner name(s) (if applicable).  If you are working in a pair or trio, explain who is doing what
 
** Proof of partial app.  You should have an Android project at this point which has at least the title screen activity, mostly working.  Confirm this with a screenshot of it.  If you have made progress on the second or other activities, submit screenshots showing them as well.  ''DO NOT SUBMIT CODE AT THIS MILESTONE!''   
 
** Proof of partial app.  You should have an Android project at this point which has at least the title screen activity, mostly working.  Confirm this with a screenshot of it.  If you have made progress on the second or other activities, submit screenshots showing them as well.  ''DO NOT SUBMIT CODE AT THIS MILESTONE!''   
 
** Availability for final project demo (see below) so I can schedule them
 
** Availability for final project demo (see below) so I can schedule them
* '''Milestone 2 (Dec. 6)''' (worth 10%)
+
* '''Milestone 2 (May xx)''' (worth 10%)
 
** Full project code submitted on Sakai (just zip up your whole project directory)
 
** Full project code submitted on Sakai (just zip up your whole project directory)
** In-person demo.  On Dec. 7, 8, 9, or 10 (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.  Both partners must be present, and I will ask both of you about your specific contributions.  Plan on this taking about 20 minutes
+
** In-person demo.  On May xx, yy, or zz (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

Revision as of 13:06, 1 May 2019

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.
  • 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 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. You can NOT use late days on the second part of the project -- May xx is a hard deadline for Canvas submission.

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:

  • Use at least one Collection interface such as an ArrayList, Set, or Map
  • 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 xx) (worth 5%)
    • Outline of full app. On Sakai, 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 streaming across the screen toward your peaceful jungle picnic..."
      • 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
    • Proof of partial app. You should have an Android project at this point which has at least the title screen activity, mostly working. Confirm this with a screenshot of it. If you have made progress on the second or other activities, submit screenshots showing them as well. DO NOT SUBMIT CODE AT THIS MILESTONE!
    • Availability for final project demo (see below) so I can schedule them
  • Milestone 2 (May xx) (worth 10%)
    • Full project code submitted on Sakai (just zip up your whole project directory)
    • In-person demo. On May xx, yy, or zz (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