Recent Question/Assignment
Hi, all the assignment details are in the file attached.
ICT104: Programming Assignment Compiled By: Divya Leekha T3 2019 Page | 1
T32019: ICT104 Program Design and Development
Programming Assignment
Assessment type: Programming Assignment
Purpose: This assessment will allow students to demonstrate their
understanding of Java programming and object-oriented concepts, the use
of list classes in collection framework, and the use of graphical features using
swing and applets. This assessment contributes to Learning Outcomes c and
d.
Value: 20%
Due Date: Week 10 Sunday 23:55
Task Details:
Topic: Develop Java application based on the given scenario: individual assignment
Assignment Details:
The context for this assignment (Part 1 and Part 2) is a ’Beer Bottles Game Development’ for
calculating and displaying a LOSER. This assignment will test a student’s knowledge of and
skills in writing application software for a task, understanding the business rules of a
particular problem, coding these in a computer program, developing a graphical user
interface.
For this assignment, students will use the Java programming language and development will
be on the NetBeans IDE platform.
This assignment consists of 2 stages,
• Part 1: A simple console program (no GUI)
• Part 2: The same but wrapped in a GUI
Beer Bottles Game Development
Preamble:
1. In this game, there are 21 Beer bottles and 2 players – You and Computer.
2. You and Computer would pick up the Beer bottles one by one.
3. At a time, any number of beer bottles can be picked up between 1 and 4 (inclusive)
4. The one, who will have to pick up the last bottle, is the loser and will have to pay the
bill.
ICT104: Programming Assignment Compiled By: Divya Leekha T3 2019 Page | 2
Design and implement a game, making use of Artificially Intelligent algorithm, so that if user
is playing first, then the Computer would pick up the bottles intelligently each time, and the
Computer would always Win. The Computer would never Lose.
Part 1: Design a Java application, which would display below message at the start of the
game.
There are 21 beer bottles...
Computer and yourself, there are 2 players
At a time, each one can pick up any number of bottles
between 1 and 4 (inclusive)
Will you like to play first?
If the User types ‘Yes’ and presses ‘Enter’ key, the next lines of output would be
Will you like to play first?
Yes
How many you would like to pick up?
If you pick up 3 bottles initially and press ‘Enter’ to observe how many the Computer picks
now, then as per your intelligent algorithm, the Computer needs to pick up any number of
bottles between 1 and 4 (inclusive), so that at the end, the Computer would WIN. The next
set of output would be.
How many you would like to pick up?
3
Computer has picked 2
The bottles remaining are: 16
How many you would like to pick up?
The User must be able to continue the game with Computer, and at every step the
remaining bottles need to be displayed appropriately. The number of remaining bottles
would get decreased at each step.
How many you would like to pick up?
2
Computer has picked 3
The bottles remaining are: 11
How many you would like to pick up?
3
ICT104: Programming Assignment Compiled By: Divya Leekha T3 2019 Page | 3
Computer has picked 2
The bottles remaining are: 6
How many you would like to pick up?
4
Computer has picked 1
As per this artificially intelligent program, the Computer should always Win and Never Lose.
If User will have to pick up the last beer bottle, then User is Loser and would have to pay the
bill.
Computer has picked 1
The bottles remaining are: 1
You will have to pick up the last..you are loser
Please find below an entire program output from start to end to get an idea how algorithm
needs to work
Part 2: Design a UI using Java Swing components, which would look like below. [ need not
exactly, but similar].
ICT104: Programming Assignment Compiled By: Divya Leekha T3 2019 Page | 4
If you pick up 3 bottles initially and click the button “Pick” to observe how many the
Computer picks now, then as per your intelligent algorithm, the Computer needs to pick up
any number of bottles between 1 and 4 (inclusive), so that at the end, the Computer would
WIN. The UI would be as below.
ICT104: Programming Assignment Compiled By: Divya Leekha T3 2019 Page | 5
The User must be able to continue the game with Computer, and at every step the
remaining bottles need to be displayed appropriately. The number of remaining bottles
would get decreased at each step.
ICT104: Programming Assignment Compiled By: Divya Leekha T3 2019 Page | 6
As per this artificially intelligent program, the Computer should always Win and Never Lose.
If User will have to pick up the last beer bottle, then User is Loser and would have to pay the
bill.
ICT104: Programming Assignment Compiled By: Divya Leekha T3 2019 Page | 7
ICT104: Programming Assignment Compiled By: Divya Leekha T3 2019 Page | 8
Marking Rubrics:
Criteria (Unsatisfacto
ry)
Fail
(Satisfactory)
Pass
(Effective)
Credit
(Excellent)
Distinction
(Exceptional)
High Distinction
%
Delivery No task
submitted
.
Complete
d less than
50% of the
requireme
nts. Not
submitted
in correct
format
Completed
between 50-
75% of the
requirements.
Submitted in
correct format
Completed
between 75-
85% of the
requirements.
Submitted in
correct format
Completed
between 85-95%
of the
requirements.
Submitted in
correct format
Completed
between 95-100%
of the
requirements.
Submitted in
correct format
3
Coding
Standards
No name,
date, or
assignment
title
included.
Poor use of
white
space
(indentatio
n, blank
lines).
Disorganize
d and
messy.
Poor use
of
variables
(many
global
variables,
ambiguou
s naming).
Missing
information on
name, date, or
assignment title
included.
White space
(indentation,
blank lines) used
properly.
Organized work
use of variables
(many global
variables,
ambiguous
naming).
Includes name,
date, and
assignment title.
White space
makes
program fairly
easy to read.
Organized work.
Good use of
variables (few
global
variables,
unambiguous
naming).
Includes name,
date, and
assignment title.
Good use of
white space.
Organized
work. Good
use of
variables (no
global
variables,
unambiguous
naming).
Includes name,
date, and
assignment title.
Excellent use of
white space.
Creatively organized
work.
Excellent use of
variables (no
global variables,
unambiguous
naming).
3
Documentation No
documentati
on included.
Basic
documentation
has been
completed
Basic
documentation
has been
completed
including
descriptions of
all variables.
Purpose is noted
for each
function.
Clearly
documented
including
descriptions of
all variables.
Specific purpose
is noted for each
function and
control
structure.
Clearly and
effectively
documented
including
descriptions of all
variables.
Specific purpose is
noted for each
function, control
structure, input
requirements, and
output results.
3
ICT104: Programming Assignment Compiled By: Divya Leekha T3 2019 Page | 9
Runtime Does not
execute
due to
errors. User
prompts
are
misleading
or nonexistent.
No testing
has been
completed.
Executes with
some warning
errors.
Executes
without errors.
User prompts
contain little
information,
poor design.
Some testing
has been
completed.
Executes
without errors.
User prompts
are
understandable,
minimum use of
symbols or spacing
in output.
Thorough testing
has been
completed
Executes without
errors excellent
user prompts, good
use of symbols,
spacing in output.
Thorough and
organized testing
has been
completed and
output from test
cases is included.
3
Efficiency A difficult
and
inefficient
solution.
A solution which
provides
some answer
but not
efficient.
A logical solution
that is easy to
follow but it is
not the most
efficient.
Solution is
efficient and
easy to follow
(i.e. no
confusing tricks).
Solution is efficient,
easy to
understand, and
maintain.
3
Demonstration Not given or
shown
irrelevant,
incomplete
or
ambiguous
functionality
and features
shown and
discussed.
Some of the
features and
functionality are
shown and
discussed but
some are
incomplete.
Most of the
features and
functionality are
shown and
discussed, are
mostly
complete.
All of the
features and
functionality
are shown and
discussed
systematically.
All of the features
and functionality
are shown and
discussed
systematically with
additional details.
5