Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 33

Oracle Academy Java Programming Institute: Day 1

Team Project Activity

Matching Game
Now that you have learned the basics of Greenfoot and
Eclipse, it's time to share your knowledge with others. You
will create a matching game that teaches a novice user
some key programming concepts you have learned.
Each team will present their game to the class. Teams will
be critiqued by their peers, and assess themselves against
two rubrics for the presentation and game.

Oracle Academy Java Programming Institute: Day 1

Team Project Activity

In teams, you will:


Review the matching game problem and scenario
Review the rubric
Develop a textual storyboard
Create a game
Create a presentation for the game
Present to class (Day 2)

Oracle Academy Java Programming Institute: Day 1

Matching Game Scenario

Problem:
Students need to learn their vocabulary definitions for the
Java Programming course.

Scenario:
A matching game where 1-2 players can flip cards and
match a vocabulary term to its definition. Once all cards are
successfully matched, the player(s) wins the game.

Oracle Academy Java Programming Institute: Day 1

Planning Documents

The project planning documents are:


Visual storyboard to design the game's interface
Textual storyboard (algorithm) for the process
Flowchart of the process
Do these quickly given the limited time you have to
program your game.

Oracle Academy Java Programming Institute: Day 1

Visual Storyboard

Create a visual storyboard to illustrate the interface of the


animation. It should include:
Illustrations of each major scene of the animation
Text under each illustration that explains what happens
in the scene

Oracle Academy Java Programming Institute: Day 1

Visual Storyboard (cont.)

Example

Image 1:
Front of card. User clicks the a
key to turn the card over after its selected.

Image 2:
Back of card with vocabulary definition
automatically
appears when a key is pressed.

Definition:
A variable that is defined in
a class. It is used to store
information for later use,
or to pass information.
It can store objects or values.
Java Programming
Matching Game

Oracle Academy Java Programming Institute: Day 1

Visual Storyboard (cont.)

Example (cont.)

Image 1:
Front of card. User clicks the a
key to turn the card over after its selected.

Image 2:
Back of card with vocabulary term
automatically appears when a
key is pressed.

Vocabulary Term:
Defined Variable
Java Programming
Matching Game

Oracle Academy Java Programming Institute: Day 1

Visual Storyboard (cont.)

Example (cont.)

Player can flip two cards. When the vocabulary term card matches the definition card,
the two cards are removed from the game, the game makes a victory sound,
and the player earns 1 point.

1
Point

Vocabulary Term:
Defined Variable

Definition:
A variable that is defined in
a class. It is used to store
information for later use,
or to pass information.
It can store objects or values.

Oracle Academy Java Programming Institute: Day 1

Textual Storyboard

Create a textual storyboard that documents the algorithm


for the game. This should include:
Acting out the game first as a team.
Writing the textual storyboard, which includes:
Clear, logical statements that describe what actions
the objects perform in the game
Control statements to define when actions take
place (in order, together, if/else, etc.)

Oracle Academy Java Programming Institute: Day 1

Textual Storyboard (cont.)

Example

Player uses arrows on keyboard to select a card.


Player clicks a key on keyboard.
Selected card flips over.
Player uses arrows on keyboard to select another card.
Player clicks b key on keyboard to select the second card.
Second selected card flips over.
If cards match, they are removed from the game, the player
earns 1 point, and a victory sound is played.
When all cards are removed from the game, the game
ends with a message Game Over and victory sound.
10

Oracle Academy Java Programming Institute: Day 1

Flowchart

The flowchart should map out the game's process to help


you document and refine the logic of the game. This
includes:
The process flow of the animation, including all actions
and how each flows logically into the next action
All condition based decisions (i.e. If and While
controls)

11

Oracle Academy Java Programming Institute: Day 1

Flowchart (cont.)

Process flow:
If the a key is pressed, the selected card is flipped
over. If the a key is not pressed, the card is not flipped
over.
True

If the a key
is pressed

Do this:
Flip first
selected card

Otherwise, do this:
Do nothing

End

12

False

Oracle Academy Java Programming Institute: Day 1

Game Specifications

The game you will design will allow the player to select two
cards to flip over. If the vocabulary term matches the
definition, then the cards are removed from the game.
When the player matches all of the cards, the game is over.
Additionally, the game must:
Define 10-15 programming terms
Utilize source code in an economical and efficient way
Be creative both in the interface and process flow
Be fully functional with no bugs or errors as a result of
programming (known errors caused by Greenfoot will
not count against your team's assessment)
Have a small scope given the time restrictions
13

Oracle Academy Java Programming Institute: Day 1

Presentation Specifications
Your final project will include a 5-10 minute final
presentation which should include:
Introduction and high level outline of what you will be
presenting
Project Overview
Demonstration
How the project requirements affected your design
Summary
Questions and Answers
Be sure to sufficiently rehearse your presentation and
demonstration.
14

Oracle Academy Java Programming Institute: Day 2

Project Idea #2: Jeopardy

Project details:
Developed in Greenfoot
Jeopardy! Is an American television trivia show with
topics such as history, literature, arts, pop culture,
science, and so on
Player's goal is to answer the most questions correctly
1-2 players or teams
Team/player with most points wins

15

Oracle Academy Java Programming Institute: Day 2

Project Idea #2: Jeopardy


There are three categories of questions. There are five questions
in each category, each worth
100 to 500 points. The 100 point
(cont.)
questions are the easiest, and the questions get harder as they
move up to the 500 point ones.
Java Syntax

16

Java Objects

Java Lingo

Oracle Academy Java Programming Institute: Day 2

Project Idea #2: Jeopardy


Player clicks a cell in the grid to display a question, and
(cont.)
enter the answer in the answer
field. If the answer is
correct, the points are added to the team score. If the
answer is wrong, the correct answer is displayed, team
loses that amount, and the other team gets their turn.

17

Oracle Academy Java Programming Institute: Day 2

Project Idea #2: Jeopardy


After all 15 questions have been attempted, the teams can
(cont.)
play the Double Jeopardy
round.
In this round, the amounts range from $200 to $1,000-double what they were in the Jeopardy round. Play is the
same in this round as it is in the Jeopardy except there are
three new categories. In the two player/team game, the
team that scores the most points wins.

18

Oracle Academy Java Programming Institute: Day 2

Project Idea #3: Inventory


Program
Project details:
Created in Java using Eclipse
Create an inventory program for a range of different
products (cds, dvds, software, etc.)
For each part, build upon the last part so both the old
and new requirements are met
Four parts to the project

19

Oracle Academy Java Programming Institute: Day 2

Project Idea #3: Inventory


Part 1
Program
(cont.)
Choose a product that needs an inventory (music CDs; DVD movies;
software; office supplies, etc.).
Create a Product class that has variables for an item number, the name of
the product, the number of units in stock, and the price of each unit. Write
getter/accessor and setter/mutator methods for each of the variables.
Override the toString() method from the object class that will show a
description of each object that includes the variable values.
Create a Java main class called ProductTester that creates and initializes six
Product objects. Display the product number, the name of the product, the
number of units in stock, the price of each unit, and the value of the
inventory (the number of units in stock multiplied by the price of each unit).

20

Oracle Academy Java Programming Institute: Day 2

Project Idea #3: Inventory


Program
(cont.)
Part 2
Add a Scanner to ProductTester to ask the user if they
would like to add products. Set up a loop that will create
new Products. The user whould provides values for the
class variables. Display the same information for these
products as was in the previous paragraph.

21

Oracle Academy Java Programming Institute: Day 2

Project Idea #3: Inventory


Part 3
Program (cont.)
Modify ProductTester so the application can handle multiple items
using an array. Using a for loop, display the information one
product at a time, including the item number, the name of the
product, the number of units in stock, the price of each unit, and
the value of the inventory of that product.
Create a method in the Product class to calculate the value of the
entire inventory. In addition, the output in ProductTester should
display the value of the entire inventory.
Implement the Comparable Interface to create another method in
the Product class to sort the array items by the name of the
product.
22

Oracle Academy Java Programming Institute: Day 2

Project Idea #3: Inventory


Part 4
Program (cont.)
Modify the Inventory Program by creating a subclass of the
product class that uses one additional unique feature of the
product you chose (for the DVDs subclass, you could use
movie title, for example). In the subclass, create a method to
calculate the value of the inventory of a product with the
same name as the method previously created for the
product class. The subclass method should also add a 5%
restocking fee to the value of the inventory of that product.
Modify the output to display this additional feature you have
chosen and the restocking fee.

23

Oracle Academy Java Programming Institute: Day 1

Presentation Development

Techniques to develop your presentation:


Review rubric for requirements
Speculate about what your audience would like to see
and know
Discuss with team how to prepare to share the story of
the project
Create a script or short notes
Share the most important information
Practice, rehearse, revise

24

Oracle Academy Java Programming Institute: Day 1

Team Guidelines
Teachers will be grouped into teams. Each person must:
Contribute ideas and content to the final project
Work well with other team members
Meet all assigned deadlines
Help other students in your team produce their best
work
Ask the teacher if you need help or guidance

25

Oracle Academy Java Programming Institute: Day 1

Define Tasks

Define tasks, subtasks, and leader for each task.


Task

Subtasks

Task Leader

Develop textual storyboard

Ben

Develop visual storyboard

Dev

Develop planning
documents

Develop flowchart
Develop game

Anna

Develop
presentation

Dev
Create presentation slides

...

26

...

...

Oracle Academy Java Programming Institute: Day 1

Define Tasks (cont.)

Suggested roles:
Storyboard and flowchart manager: manages the
team's brainstorming and creation of these products,
and ensuring they are completed on-time and with full
contributions from all team members.
Writer/researcher: writes content for the storyboard
and flowchart, as well as content for the animation and
presentation. Researches topics as necessary to aid
the creation of the animation and inform students on
the team.

27

Oracle Academy Java Programming Institute: Day 1

Define Tasks (cont.)

Suggested roles (cont.):


Programmer: programs the animation.
Tester: tests and debugs the animation throughout the
development process.
Presentation manager: manages the team's
development of the final presentation, ensuring that all
planning is completed on time, that the presentation is
rehearsed and that the script or plan includes
contributions from each team member.

28

Oracle Academy Java Programming Institute: Day 1

Assessment

Assessment takes place as follows:


1. Review the presentation and culminating product
rubrics before you create your game.
2. When your game and presentation is finalized, ensure
both meet the criteria in the rubric.
3. After each team presents, the team will self-assess
themselves using the rubric. The class will give verbal
feedback.
4. The team will reflect on ways they could have
improved their game and presentation.

29

Oracle Academy Java Programming Institute: Day 1

Presentation Rubric

Rubric to assess the presentation:

30

Excellent (3)

Good (2)

Needs
Improvement (1)

Content

Team demonstrates a
complete understanding
of programming topics.

Team demonstrates a
good understanding of
parts of the
programming topics.

Team does not seem to


demonstrate a good
understanding of
programming topics.

Comprehension

Team is able to
accurately answer
almost all questions
posed by peers about
the topic.

Team is able to
accurately answer most
questions posed by
peers about the topic.

Team is not able to


accurately answer most
questions posed by
peers about the topic.

Preparedness

Team is completely
prepared and has
obviously rehearsed.

Team seems fairly


prepared but could have
benefited from a few
more rehearsals.

Team does not seem at


all prepared to present.

Technology

Team is prepared to use


all technology tools and
has few if no technology
issues that prevent
successful execution of
the presentation. Delays
are minimal, if any.

Team seems fairly


prepared to use all
technology tools and
has few technology
issues that prevent
successful execution of
the presentation. Delays
are minimal, if any.

Team does not seem


prepared to use all
technology tools and
has some technology
issues that prevent
successful execution of
the presentation and
cause delays.

Oracle Academy Java Programming Institute: Day 1

Presentation Rubric (cont.)

Rubric to assess the game:

31

Excellent (3)

Good (2)

Needs
Improvement (1)

Knowledge Gained

All team members could


easily and correctly
state several facts about
how the game was
developed without
assistance from the
instructor.

All team members could


easily and correctly
state several facts about
how the game was
developed without
assistance from the
instructor.

All team members could


easily and correctly
state several facts about
how the game was
developed without
assistance from the
instructor.

Accuracy of
Content

All matching cards


made for the game were
correct.

All but one of the


matching cards made
for the game were
correct.

Several of the matching


cards made for the
game were incorrect.

Attractiveness

Contrasting colors and


at least 3 original
graphics were used to
give the cards and
gameboard visual
appeal.

Contrasting colors and


at least 1 original
graphic were used to
give the cards and
gameboard visual
appeal.

Little or no color or
fewer than 3 graphics
were included.

Oracle Academy Java Programming Institute: Day 1

Presentation Rubric (cont.)

Rubric to assess the Greenfoot game (cont.):

32

Excellent (3)

Good (2)

Needs
Improvement (1)

Collaboration

The group worked well


together with all team
members contributing
significant amounts of
quality work.

The group worked fairly


well together with all
members contributing
some work.

The group often did not


work well together and
the game appeared to
be the work of only 1-2
members in the group.

Creativity

The team put a lot of


thought into making the
game interesting and
fun as shown by
creative information,
game controls, and/or
design of the world.

The team put some


thought into making the
game interesting and
fun by using textures,
creative writing, and/or
interesting characters.

The team tried to make


the game interesting
and fun, but some of the
elements made it harder
to understand and/or
enjoy the game.

Oracle Academy Java Programming Institute: Day 1

Develop Game and


Explore :
Presentation
Java
Swing http://docs.oracle.com/javase/tutorial/uiswing/
Develop:
Solution in Eclipse/Greenfoot
Final presentation

33

You might also like