Page 1 of 9

KXO151 Programming & Problem Solving

AIEN-SOU – 2019

Assignment 2

Deadline for Submission: 10pm (Shanghai) Friday, Week 9, 26 April, 2019

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). For more information see:

www.ics.heacademy.ac.uk/resources/assessment/plagiarism/demo_jplag.html

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 correctly implements some calculations

associated with a calendar. 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.

Background Information

Consider a calendar – for example:

(Go to next page)

KXO151 – AIEN-SOU – Assignment 2 – 2019

Page 2 of 9

A calendar displayed like this has many interesting properties. One of them forms the basis for this

assignment.

If you take any four dates that form a square – for example:

or

It is possible to work out which dates are in the square from a single piece of information: the total

of the dates in the square. The formula for this (for a calendar laid out with 7 days to the week) is as

follows:

get the total of the dates

divide this number by 4 (if the addition has been done correctly, it will divide evenly)

subtract 4 from this answer – this gives the earliest date in the square (the upper left hand

corner)

add one to the earliest date to get the date in the upper right hand corner

add 7 to this to get the date in the lower left hand corner

add 8 to this to get the date in the lower right hand corner

Work through these examples to convince yourself that this works. You are to write a program that

invites the user to enter a total (worked out by them from a calendar), and tells them the four dates

that they added together.

Notice that since the earliest date in any month is 1 and the latest possible date is 31 – there will be

a smallest and a largest possible total – work out what these are. For this assignment, you may

assume that all months have 31 days.

Functionality Required

Explain (very briefly) to the user what they are to do.

Ask the user to enter the name of the month they are looking at. (There is no need to check

that what they enter is really the name of a month.)

Accept a total from the user (this will be an integer).

If the user enters a total that is too small or too big, tell them this and end the program. You

may assume here that all months have 31 days.

Otherwise:

o work out the abbreviation for the month

o work out the four dates they must have added together

o show the user the abbreviation of the month in UPPERCASE letters

KXO151 – AIEN-SOU – Assignment 2 – 2019

Page 3 of 9

o show the user the four dates they must have added together (each one on a new

line) and end the program.

NOTE: If the user enters “impossible” values then display the message of “That is outside

the range of possible numbers”.

A sample output of the program is attached to the end of this document.

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’).

KXO151 – AIEN-SOU – Assignment 2 – 2019

Page 4 of 9

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: 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 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.

KXO151 – AIEN-SOU – Assignment 2 – 2019

Page 5 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

Working Java

Program

Fully working set of

Java classes that

satisfy the

requirements stated

in the assignment

requirements.

Fully working set of

Java classes that

satisfy the

requirements stated

in the assignment

requirements.

Fully working set of

Java classes that

satisfy the

requirements stated

in the assignment

requirements.

Fully working set of

Java classes that

satisfy the

requirements stated

in the assignment

requirements.

A set of Java classes

that fail to satisfy the

requirements stated

in the assignment

requirements & / or

fail to compile & / or

run

Documentation

Complete

documentation of all

significant & relevant

aspects of those

classes.

Reasonably complete

documentation of

significant & relevant

aspects of those

classes.

Good documentation

of significant &

relevant aspects of

those classes.

Some documentation

of significant &

relevant aspects of

those classes.

No documentation of

significant & relevant

aspects of those

classes.

Program

Correctness

Evidence of thorough

testing of the revised

& written classes.

Evidence of thorough

testing of the revised

& written classes.

Evidence of some

testing of the revised

& written classes.

Evidence of some

testing of the revised

& written classes.

No evidence of

testing of the revised

& written classes.

Understanding

of Java

Demonstrated clear

understanding of the

nature of Java classes,

of Java class methods,

of data variables, & of

the use of the main

method.

Demonstrated good

understanding of the

nature of Java classes,

of Java class methods,

of data variables, & of

the use of the main

method.

Demonstrated

reasonable

understanding of the

nature of Java classes,

of Java class methods,

of data variables, & of

the use of the main

method.

Demonstrated basic

understanding of the

nature of Java classes,

of Java class methods,

of data variables, & of

the use of the main

method.

Failure to

demonstrate

adequate

understanding of the

nature of Java classes,

of Java class methods,

of data variables, &

/or of the use of the

main method.

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’.

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 Chen_Jianwen_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 Chen_Jianwen_159900.rar.
  4. Submit your *. Rar file to the Unit Mylo “Assignments” folder. Details of the actual submission procedure are available Assignment 2-2019 Page 6 of 9 Students Who Believe That This Method of Assignment 2-2019 Page 6 of 9 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 Happen that you have read the ‘Plagiarism’ section below, and that your assignment submission complies with the assignment requirement that it is your own work. KXO151 – AIEN-SOU — Assignment 2-2019 Page 7 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, Coping 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 Robyn Gibson. The assignment template was written by Dr Dean Steer. 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 acknowledgement and citation or 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 conduct, 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. KXO151 – Assignment 2-2019 Page 8 of 9 Sample Outputs of Assignment 2, 2019 Run 1 of the program (user input is bold) I can read your mind! Look at a calendar – choose any 4 dates that form a square Enter the month you are looking at january Add up the dates and enter the total now 20 Here is the part of the calendar you were looking at Run 2 of the program (user input is bold) I can read your mind! Look at a calendar – choose any 4 dates that form a square Enter the month you are looking at May Add up the dates and Enter the total now 52 Here is the part of the calendar you were looking at Run 3 of the program (user input is bold) I can read your mind! Look at a calendar – choose any 4 dates that form a square Enter the month you are looking at xzcv Add up the dates and enter the total now 5 That is outside the range of possible numbers Run 4 of the program (user input is bold) I can read your mind! Look at a calendar – choose any 4 dates that form a square Enter the month you are looking at APRIL Add up the dates and Enter the total now 999 That is outside the range of possible numbers KXO151-AIEN-SOU — Assignment 2-2019 Page 9 of 9 Run 5 of the program (user input is bold) I can read your mind! Look at a calendar – choose any 4 dates that form a square Enter the month you are looking at a Add up the dates and Enter the total now 52 Here is the part of the calendar you were looking at WX: codehelp