Assignment 2
Deadline for Submission: Maximum Marks Available: Submission:
Assignment Type:
Requirements:
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 questionsabout 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 1 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.
-
After receiving input from the user, the program should display a summary of the health metrics entered by the user.
-
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.
-
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.
-
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 2 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 3 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 4 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).
2. Copy your 2 assignment files into the new folder;
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.
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;
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.
The assessment of Assignment 2 is based on the following criteria: Criteria
High Distinction
Distinction
Credit
Pass
Fail
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.
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.
Programming Requirement
The
accurately
some
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.
program assesses of the
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
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.
and
Note
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, 4
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.
General Requirement
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).
diastolic blood pressure, heart rate)
PR2. Correctly construct a loop structure
PR3. Correctly make the health monitor.
3 2
Page 8 of 9
PR4. Correctly calculate and display the total number of health checks when a 1 user chooses to exit.
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 2
Clear and tidy (1). Somewhat messy but understandable (0.5). Messy (0)
GR2. Good compliance with programming conventions (naming convention, 2
proper use of constants, in-line comments, etc)
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.”
Page 9 of 9