Page 1 of 9
KXO151 Programming & Problem Solving
AIEN-SHOU - 2024
Assignment 2
Deadline for Submission: 9PM (Shanghai) Wednesday, Week 8, 17 April 2024
Maximum Marks Available: 15 (15% of the total assessment for KXO151)
Submission: Via MyLO
NOTE: All assignments will be checked for plagiarism by a specialist Java program that checks
your assignment against other student’s assignments as well as the Internet (including help
sites).
Assignment Type: Individual
Requirements:
PLEASE NOTE: This assignment is to be completed by Students individually. If you need help, please
look at the textbook or ask your lecturer. Students who have been working through the tutorial
exercises should not have much difficulty in completing this assignment.
PLEASE NOTE: The submitted Java code must be able to be compiled from the command line using
Javac the Java programming language compiler command, or from a basic editor such as jGrasp. Be
aware that development programs such as Eclipse often use features only available when run using
their system, meaning that their code may not run on a system without their development program.
Programs that do not run from the command line using javac (to compile) and java (to run) because
of a missing development program feature will fail the assignment.
You are required to perform the following tasks:
Write a Java application program named Asst2.java which implements a simple 'Healthcheck'
program. The details (specifications) of this task are given below. Note that the correctness marks
you receive for your program will depend on how well it matches this specification. If you decide to
implement something that is more elaborate than specified, you should understand that:
• There will be no marks awarded for the elaborations you have designed and penalties may
be applied for confusing/extraneous code.
• Your program MUST STILL meet the basic specifications given below.
The program is to implement a simple ' Healthcheck’ program. The user will be asked four questions
about themselves:
• Their Weight (in kilograms), (to be stored in an int variable).
• Systolic blood pressure (in mmHg), (to be stored in an int variable).
• Diastolic blood pressure (in mmHg), (to be stored in an int variable).
• Heart rate (in beats per minute), (to be stored in an int variable).
The answers to these questions will be used to generate a 'Health check' for the user, this will be
displayed on the screen.
Specifications of the Program
Page 2 of 9
Prompt the user for the 4 pieces of information about themselves (see above) and store the answers
in the program. There is no need to check whether the answers are reasonable - that is, if the user
enters 1000 for their age, 500 for their systolic or diastolic blood pressure, -and 10 for their heart
rate. The program will accept these values and continue. Do not ask the user for any other
information.
1. After receiving input from the user, the program should display a summary of the health
metrics entered by the user.
2. The program should categorize the user's blood pressure based on the entered systolic and
diastolic readings. Blood pressure categories should include:
Low Blood Pressure (Hypotension):
If the systolic blood pressure is less than 90 mmHg AND the diastolic blood pressure is less
than 60 mmHg, it indicates low blood pressure.
Normal Blood Pressure:
If the systolic blood pressure is between 90 and 120 mmHg AND the diastolic blood pressure
is between 60 and 80 mmHg, it indicates normal blood pressure.
Elevated Blood Pressure (Hypertension Stage 1):
If the systolic blood pressure is between 120 and 129 mmHg AND the diastolic blood pressure
is between 60 and 80 mmHg, it indicates elevated blood pressure, which is the first stage of
hypertension.
High Blood Pressure (Hypertension Stage 2):
If the systolic blood pressure is between 130 and 139 mmHg OR the diastolic blood pressure
is between 80 and 89 mmHg, it indicates high blood pressure, which is the second stage of
hypertension.
Hypertensive Crisis:
If the systolic blood pressure is 140 mmHg or higher OR the diastolic blood pressure is 90
mmHg or higher, it indicates a hypertensive crisis, requiring immediate medical attention.
3. The program should provide feedback on the user's heart rate, considering normal resting
heart rate ranges.
Heart Rate Lower Than Normal Resting Heart Rate:
If the heart rate is less than 60 beats per minute (bpm), it indicates that the heart rate is
lower than the normal resting heart rate. This could be indicative of bradycardia or other
underlying health conditions where the heart beats slower than usual.
Heart Rate Higher Than Normal Resting Heart Rate:
If the heart rate is greater than 100 bpm, it indicates that the heart rate is higher than the
normal resting heart rate. This could be indicative of tachycardia or other underlying health
conditions where the heart beats faster than usual.
Heart Rate Within Normal Range:
If the heart rate falls between 60 and 100 bpm (inclusive), it indicates that the heart rate is
within the normal range for a resting heart rate. This range is generally considered normal
for most adults at rest.
4. The program should ask the user if they want to monitor their health again after displaying
the health metrics summary, blood pressure category, and heart rate feedback. If the user
chooses to monitor their health again, the process should repeat (the questions will then be
asked again). If the user chooses to do not want to monitor the health again, then program
should show a message with total number of health checks done in the session.
A sample output of the program is attached to the end of this document.
Page 3 of 9
Program Style
The program you write for this assignment must be a single class called Asst2 with the code in a file
called Asst2.java. There should be a single method (the main() method) in this class.
Your program should follow the coding conventions introduced in this unit and shown in the
textbook, especially:
• Variable identifiers should start with a lower case letter
• Final variable identifiers should be written all in upper case and should be declared before
all other variables
• Every if-else statement should have a block of code for both the if part and the else part (if
used)
• Every loop should have a block of code (if used)
• The program should use final variables as much as possible
• The keyword continue should not be used
• The keyword break should only be used as part of a switch statement (if required)
• Opening and closing braces of a block should be aligned
• All code within a block should be aligned and indented 1 tab stop (approximately 4 spaces)
from the braces marking this block
Commenting:
• There should be a block of header comment which includes at least
o file name
o your name (in pinyin)
o student UTas id number
o a statement of the purpose of the program
• Each variable declaration should be commented.
• There should be a comment identifying groups of statements that do various parts of the task.
• There should not be a comment stating what every (or nearly every) line of the code does -
as in:
num1 = num1 + 1; // add 1 to num1
Save the Output
Run your program entering data via the keyboard and save the output of your program to a text file
using your UTas student id number as the name of the file, for example, 159900.txt (in jGrasp, right
mouse-click in the ‘Run I/O’ window and select ‘Save As Text File’).
Important Notes:
• Changing a few variable names, adding different data and / or adding your name to the top
of someone else’s code does not make it your own work. See the section on ‘Plagiarism’ below.
• You need to submit 2 files:
o your Asst2.java
o a text file containing the output of your program using your UTas id number as the
name of the file, for example, 159900.txt.
o See the section on ‘Submission’ below for more information.
• Before you submit your assignment through the KXO151 MyLO website, it is suggested that
you make sure the final version of your Java program file compiles and runs as expected – do
Page 4 of 9
not change the names of the java file – submit it exactly as you last compiled and ran it.
Programs that do not compile and / or run will fail the assignment. If in doubt, you can
click on the submitted files, download them from MyLO, and check that they are the files you
think they should be.
NOTE: The higher marks are reserved for solutions that are highly distinguished from the rest and
show an understanding and ability to program using Java that is well above the average.
Page 5 of 9
Submission:
Your completed solution (your Asst2.java file, plus a text file containing the output of your
program using your UTas id number as the name of the file, for example, 159900.txt) must be
submitted by the deadline. Assignments must be submitted electronically via KXO151 MyLO website
as files that can be read by a text editor such as Microsoft Notepad (submit the *.java file - not the
*.class file). Follow the following steps to create a package for your assignment files and then submit
your package file:
1. On your computer desktop, create a new folder using your name and UTAS ID number. For
example, if you name is Jianwen Chen and your UTAS ID number is 159900, then the new folder must
be named Jianwen_Chen_159900;
2. Copy your 2 assignment files into the new folder;
3. Use the WinRAR application to compress the new folder and name it as *.rar. For example, Jianwen
Chen would name it as Jianwen_Chen_111222.rar.
4. Submit your *.rar file to the unit MyLO “Assignments” folder.
5. If WinRAR application is not available on your computer, try to use a similar application to
compress the new folder and name it as *.zip, and then submit the *.zip file.
Details of the actual submission procedure are available through the MyLO webpages.
Students who believe that this method of submission is unsuitable given their personal
circumstances must make alternative arrangements with their Lecturer prior to the submission date.
Extensions will only be granted under exceptional conditions, and must be requested with adequate
notice on the Request for Extension forms.
In submitting your assignment you are agreeing that you have read the ‘Plagiarism’ section below,
and that your assignment submission complies with the assignment requirement that it is your own
work.
Page 6 of 9
Plagiarism
While students are encouraged to discuss the assignments in this unit and to engage in active learning
from each other, it is important that they are also aware of the University’s policy on plagiarism.
Plagiarism is taking and using someone else's thoughts, writings or inventions and representing
them as your own; for example downloading an essay wholly or in part from the internet, copying
another student’s work or using an author’s words or ideas without citing the source.
It is important that you understand this statement on plagiarism. Should you require clarification
please see your unit coordinator or lecturer. Useful resources on academic integrity, including what
it is and how to maintain it, are also available at: www.academicintegrity.utas.edu.au/.
Acknowledgement
This assignment has been adapted from a programming project developed by Dr Julian Dermoudy. The assignment template
was written by Dr Dean Steer. Both authors are members of School of Engineering and ICT, University of Tasmania, Australia.
Plagiarism is a form of cheating. It is taking and using someone else's thoughts,
writings or inventions and representing them as your own; for example, using an
author's words without putting them in quotation marks and citing the source, using
an author's ideas without proper acknowledgment and citation or copying another
student’s work.
If you have any doubts about how to refer to the work of others in your assignments,
please consult your lecturer or tutor for relevant referencing guidelines, and the
academic integrity resources on the web at: www.academicintegrity.utas.edu.au/.
The intentional copying of someone else’s work as one’s own is a serious offence
punishable by penalties that may range from a fine or deduction/cancellation of marks
and, in the most serious of cases, to exclusion from a unit, a course or the University.
Details of penalties that can be imposed are available in the Ordinance of Student
Discipline – Part 3 Academic Misconduct, see:
www.utas.edu.au/universitycouncil/legislation/
The University reserves the right to submit assignments to plagiarism detection
software, and might then retain a copy of the assignment on its database for the
purpose of future plagiarism checking.
Page 7 of 9
Sample Output of Assignment 2, 2024
C:KXO151>java Asst2
Welcome to Health Monitor!
Please enter your weight (Kg): 66
Please enter your systolic blood pressure (mmHg): 120
Please enter your diastolic blood pressure (mmHg): 80
Please enter your heart rate (bpm): 80
Health Metrics Summary:
Weight: 66 kg
Blood pressure: 120/80 mmHg
Heart Rate:80 bpm
Blood Pressure Category: Normal Blood Pressure
Heart Rate Feedback: Your heart is within the normal range.
Do you want to monitor your health again (y/n):
Welcome to Health Monitor!
Please enter your weight (Kg): 50
Please enter your systolic blood pressure (mmHg): 100
Please enter your diastolic blood pressure (mmHg): 60
Please enter your heart rate (bpm): 150
Health Metrics Summary:
Weight: 50 kg
Blood pressure: 100/60 mmHg
Heart Rate:150 bpm
Blood Pressure Category: Normal Blood Pressure
Heart Rate Feedback: Your heart is higher than normal resting heart
rate.
Do you want to monitor your health again (y/n):
Welcome to Health Monitor!
Please enter your weight (Kg): 100
Please enter your systolic blood pressure (mmHg): 150
Please enter your diastolic blood pressure (mmHg): 90
Please enter your heart rate (bpm): 150
Health Metrics Summary:
Weight: 100 kg
Blood pressure: 150/90 mmHg
Heart Rate:150 bpm
Blood Pressure Category: Hypertensive Crisis (Seek medical attention
immediately)
Heart Rate Feedback: Your heart is higher than normal resting heart
rate.
Do you want to monitor your health again (y/n): n
Thank you for using Health Monitor. I provided 3 Health check(s),
Goodbye!
Page 8 of 9
Guide to Assessment and Expectations:
The assessment of Assignment 2 is based on the following criteria:
Criteria High Distinction Distinction Credit Pass Fail
Programming
Requirement
Excellent
programming ability
to correctly prompt
the user for inputs
and store them
appropriately. The
program employs a
loop structure to
repeatedly prompt
the user until they
choose to exit. The
program accurately
assesses and provide
the information as per
the requirements. It
accurately calculates
and displays the total
number of times user
asks to run the
program during the
session.
Reasonable
programming ability
to correctly prompt
the user for inputs
and store them
appropriately. The
program employs a
loop structure to
repeatedly prompt
the user until they
choose to exit. The
program reasonably
assesses and provide
the information as per
the requirements. It
accurately calculates
and displays the total
number of times user
asks to run the
program during the
session.
Good programming
ability to correctly
prompt the user for
inputs and store them
appropriately. The
program employs a
loop structure to
repeatedly prompt
the user until they
choose to exit. The
program assesses and
provide the
information as per the
requirements. It
calculates and
displays the total
number of times user
asks to run the
program during the
session.
Some user inputs are
prompted or stored
incorrectly. Loop
structure is partially
implemented or
contains minor issues.
The program
accurately assesses
some of the
requirements and
provide the
information as per the
requirements. It
partially calculates
and displays the total
number of times user
asks to run the
program during the
session.
User inputs are not
prompted or stored
correctly. Loop
structure is not
implemented or does
not function properly.
The information
assessment is
incorrect or
incomplete. Total
number of program
runs is not calculated
or displayed.
General
Requirement
Excellent evaluation
of the program's
organization and
visual presentation.
Assessment of
adherence to coding
standards such as
naming conventions,
use of constants, and
in-line comments.
Check if the program
includes the
necessary
information in its
header.
Reasonable
evaluation of the
program's
organization and
visual presentation.
Assessment of
adherence to coding
standards such as
naming conventions,
use of constants, and
in-line comments.
Check if the program
includes the
necessary
information in its
header.
Good evaluation of
the program's
organization and
visual presentation.
Assessment of
adherence to coding
standards such as
naming conventions,
use of constants, and
in-line comments.
Check if the program
includes the
necessary
information in its
header.
Some evaluation of
the program's
organization and
visual presentation.
Assessment of
adherence to coding
standards such as
naming conventions,
use of constants, and
in-line comments.
Check if the program
includes the
necessary
information in its
header.
No evaluation of the
program's
organization and
visual presentation.
Assessment of
adherence to coding
standards such as
naming conventions,
use of constants, and
in-line comments.
Check if the program
includes the
necessary
information in its
header.
Note The High Distinction grade is reserved for solutions that fully meet the requirements & are highly distinguished from
other assignments by their high-quality work & their attention to detail (usually only 10% of students).
PLEASE NOTE: The assignment will receive a single composite mark. The assignment will be accessed
from the point of view of the requirements: “Does it meet the requirements, and how well does it do
it?” Where there is some inconsistency in that the work does not completely match every sub-criteria
within a particular criteria, then the grade reflects the value of the work ‘on average’.
KXO151 Assignment Two Marking Scheme (2024)
Student Name: UTAS ID:
Programming Requirements (for each item there are only 3 possible marks: 100% or 50% or 0%)
Requirement Item (Total 10 marks) Mark
Out of
PR1. Correctly obtain and store user inputs (weight, systolic blood pressure,
diastolic blood pressure, heart rate)
4
PR2. Correctly construct a loop structure 3
PR3. Correctly make the health monitor. 2
Page 9 of 9
PR4. Correctly calculate and display the total number of health checks when a
user chooses to exit.
1
General Requirements (for each item there are only 3 possible marks: 100% or 50% or 0%)
General Item (Total 5 marks) Mark
GR1. Program structure and layout
Clear and tidy (1). Somewhat messy but understandable (0.5). Messy (0)
2
GR2. Good compliance with programming conventions (naming convention,
proper use of constants, in-line comments, etc)
2
GR3. Include name, ID, and brief introduction in the program’s header 1
Assignment Raw Total: /15
Lateness Penalty:
Assignment Final: /15
UTAS lateness penalty policy:
“Assignments submitted after the deadline will receive a late penalty of 5% of the original available mark
for each calendar day (or part day) that the assignment is late. Late submissions will not be accepted more
than 10 calendar days after the due date, or after assignments have been returned to other students on a
scheduled date, whichever occurs first.”
请加QQ:99515681 邮箱:99515681@qq.com WX:codinghelp