Q14: Final Project

Table of Contents


Objectives

  • Continue working as a guild.
  • Develop a complete and "final" scenario.
  • Meet the final requirements of the project.
  • Present the project as a guild.

Academic Honesty

Read the Scholastic Honesty Policy and Assignment Integrity policies of the syllabus. Here are some clarifications for this particular assignment:

  • You are expected to work with your guild to develop a complete and "final" scenario.
  • Do not copy code from the Internet or other sources without attribution. You may use helper classes from other sources, such as the instructor or Internet, but must attribute the code to the originator. Copying code snippets from the instructor's lesson examples without attribution is allowed.
  • Within your guild, you are expected to help each other develop code, artwork, music and sound according to your abilities.
  • Any code must be original work within the guild. Guild members may help each other and show each other code developed for the final project. However, you must be able to explain and reproduce all code within your subsystem.
  • You may get help from people other than your guild members if you get stuck, but only if they do not show or tell you the code to type. Instead they should show you other examples that you can adapt to your code.
  • You may get help from people other than your guild members on non-code aspects of the project but must attribute their work.

If you get stuck, take a break and come back to it later, talk to the professor, or ask a classmate for help. Remember, do not allow the classmate to type Java code for you or show you Java code to copy. Instead the classmate should show you techniques using other examples that you can adapt.

Final Project Specifications

This is the final version of your fully documented project. At this time the guild should have a fully functional project meeting the final specifications. Your part is to complete the Solo Specifications for your subsystem classes and work with the guild to complete the Guild Specifications. Remember that the completed project must meet originality requirements.

Solo Specifications (26)

  1. Write three or more original functional classes for which you are the primary coder (most code written) with at least 100 lines of code the your wrote (besides comments) between all your classes combined that are included in the scenario. (6)
    1. Update the README.TXT file so it includes your classes with their current status.
    2. Ensure that every one of your classes has a file comment block with your name in the @author field before the class signature. If there is more than one author, list the primary author (coder) first. You must use the following format for full credit.
      /**
       * Superclass of projectiles.
       *
       * @author Emma Programmer, Wally Wishewur
       * @version 1.0  05/01/2016
       */
      

      For the above authors, Emma Programmer is the primary coder who did most of the work and Wally Wishewur is a secondary author who made some small contributions or changes. You must include the @author tag for full credit.

  2. Implement at least one overloaded constructor. (2)
  3. Implement at least one overloaded method. (2)
  4. Declare at least one array variable, and then fill and access the array. (2)
  5. Display at least two animations using images that are stored in an array of GreenfootImage objects. (2)
  6. Code at least one static method to load images named initializeImages(). (3)
  7. Call setImage() at least one time. (2)
  8. Call at least one of the Greenfoot collision detection methods in a meaningful way. (2)
  9. Directly play at least one sound. (1)
  10. Make use of the following control statements:
    1. if or if-else (1)
    2. while, do-while loop (1)
    3. for loop (1)
  11. Make a cast to the World subclass. (1)
  12. Create a specs-first-last.txt where first is your first name and last is your last name(s) respectively. In the file list your solo coding accomplishments and attributions. For the classes in which you are the main author, list the spec number, filename and line number showing where you met the above specifications. (-4 if missing)

Guild Specifications (20)

  1. Publish the guild's scenario on the Greenfoot Gallery with the tag cabrillo-guild and include the URL in the scenario's README.TXT file. (4)

    Remember to keep sound and image files small or you will not be able to publish. The maximum size is currently 20MB. Hint: use MIDI or MP3 with medium or higher compression for sound files.

    When publishing, include a scenario title, short description and instructions for using the scenario.

  2. Complete the README.TXT (Scenario Information) file as follows (2):
    1. Verify the file contains the labels PROJECT TITLE, AUTHORS and USER INSTRUCTIONS with their associated information. As AUTHORS, put the guild name.
    2. Update the lists of the project subsystem by name with responsible guild member (first and last name) and the class files for which the guild member is primarily responsible, along with a completion status of each class.
  3. Demonstrate the project compiles. (2) *
  4. Present the project as described below. (4) *
  5. Demonstrate the project functions as intended. (8) *

* Must present with the Guild for credit.

Final Project Presentation

The entire guild is required to demonstrate their project on the assigned day to the class. The guild decides how to present the project, but all members must participate. The following is the suggested presentation flow:

  1. State your guild member names and your project's name.
  2. Briefly state the scenario's purpose.
  3. Compile the source code.
  4. Demonstrate the scenario, explaining features as you go.

    Point out as many of the cool features as possible so we can all admire them. Show the file that your program reads from.

  5. Summarize the project.

    When the demonstration is over, or your time is up, quickly summarize the project's purpose. Then pause for about 10 seconds to give us a chance to applaud!

Project Extra Credit

The following are worth extra credit points if completed as specified.

Solo Extra Credit

The following are worth extra credit points for each guild member who codes them in a file for which the guild member is the primary author. List the guild member name, file and line number for each extra credit item. As usual, extra credit is only given if your project compiles and runs.

  1. Get a List of objects and process the list in a loop. (2 points)
  2. Implements a JOptionPane popup dialog in the scenario. (1 point)
  3. Make use of a JFileChooser. (1 point)
  4. Implements a GUIComponent Button in the project. (2 points)
  5. Implements a GUIComponent TextField in the project. (2 points)
  6. Implements an ActionListener interface and listen for user actions. (2 points)
  7. Play sounds using a GreenfootSound object. (2 points)
  8. Use your imagination and code Java features not covered in this course -- be sure to clearly identify your creative features, and their line numbers, in your report. (0 to 4 points)
    1. 0: Extra credit feature is trivial or does not work
    2. 1: Extra credit is simple and works
    3. 2: Two simple extra credit features or one complex or imaginative use of a feature
    4. 3: Three simple features or one simple features and one complex or imaginative use of a feature
    5. 4: Four simple features, two complex or imaginative use of a feature, or some combination

Make certain that your specs-first-last.txt file lists any extra credit attempted and the file name and line number of the extra credit where appropriate. Without the file name and line number I may not see the extra credit.

Guild Extra Credit

Extra credit applied at end of final project by secret ballot:

  1. Guild Leader: 20 pts. (major player in the guild; gets things done)
  2. Raid Leader: 15 pts. (major contributor to the guild and its projects)
  3. Solid Guild: 10 pts. (could be counted on to do their part, but not more)
  4. Needs Rez: 5 pts. (coasting, minimal effort, needs resurrection as a player)
  5. Leeroy Jenkins: 0 pts. (Usually AFK or minimal contribution)

Each voter cannot designate more than two guild leaders. Please vote thoughtfully.

Grading Criteria

The instructor will evaluate your project using the following criteria. Each criteria represents a specific achievement of your assignment and has a scoring guide. The scoring guide explains the possible scores you can receive.

Some scoring guides have a list of indicators. These indicators are a sign of meeting, or a symptom of not meeting, the specific criterion. Note that a single indicator may not always be reliable or appropriate in a given context. However, as a group, they show the condition of meeting the criterion.

For information on grading policies, including interpretation of scores, see the syllabus page.

Solo Project Specifications

Points as shown in parenthesis for each requirement listed in the Solo Specifications. (26 points)

Guild Project Specifications

Points as shown in parenthesis for each requirement listed in the Guild Specifications with the following clarifications. (20 points)

README.TXT File for Project

  • 2: README.txt file submitted that accurately describes the current state of the project and the progress you have made.
  • 1: README.txt submitted with some information but not all.
  • 0: README.txt not filled out, is missing or no paper copy provided.
  • 0: Did not particiate with your guild.

Program Compilation (as demonstrated during the presentation)

  • 2: Source code compiles with no errors or warnings
  • 1: Source code compiles with warnings
  • 0: Does not compile, not turned in, no files submitted, or wrong folder name

Final Project Demonstration

  • 4: Project demonstrated in class at the assigned time.
  • 2: Project demonstrated at the assigned time but missing paper copy of README.TXT and specs-first-last.txt
  • 0: Project not demonstrated during class.
  • 0: Did not demonstrate with your guild.

Functionality (as demonstrated during the presentation)

  • 8: Functions without error meeting all specifications and demonstrating extra features.
  • 6: Functions without error while meeting all specifications.
  • 4: Has a small error but otherwise meets all requirements.
  • 2: Has some of the functionality expected.
  • 1: Serious functional problems but shows some effort and understanding
  • 0: Does not execute, was not demonstrated by the specified time, or did not contribute any files to preoject.

Maximum Score: 46, plus extra credit

How to Submit

Submit means that you are presenting your work for consideration and grading. Follow these instructions carefully and exactly to turn in your quest (assignment) and maximize your XP:

  1. Choose one person in your guild as the "leader" who will submit the final project from which everyone is graded.
  2. The leader ensures that all the parts are combined correctly, zips the folder and submits the project.

    Do NOT submit solo versions of the project as the last submission will be counted as the final version for the entire guild. Submit only the latest version of the project--NOT old versions.

  3. In addition, bring a paper copy of your specs-first-last.txt to class with your name on it.
  4. As a guild or guild leader, submit the project following these steps:
    1. Create a folder named "project" (no extra characters) and place the guild's Final Project into this folder.
    2. Outside of the "project" folder, add the specs-first-last.txt document of all guild members in plain text (.txt) format.
    3. Create a zip file containing the project and all the specs-first-last.txt files.
    4. Submit the zip file to the Q14: Final Project slot of Canvas.

Please do not put any spaces or special characters like #, : or $ in zip file or folder names. Your project must work as submitted. Remember to test and double check your files before submitting them. If you make a mistake, you can resubmit up to the deadline but must resubmit all your assignment files.

Home | Canvas | Schedule | Syllabus | Room Policies
Help | FAQ's | HowTo's | Links
Last Updated: May 14 2017 @02:15:24