联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2020-05-27 11:02

KXO151 Programming & Problem Solving

AIEN-SOU - 2020

Assignment 3

Due Date & Time: 10pm (Shanghai) Friday, Week 14, 5 June, 2020

Maximum Weight: 30% (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: Group: 2 students in each group. Students are free to choose who they join

with. A group sign-up sheet is available on the KXO151 MyLO site.

NOTE: Students who have not signed into a group by Friday, 22 May, 2020,

will be assigned into a group without consultation.

NOTE: Each contributing student within the group will receive the same

mark, however, active participation and equal contribution is required from

each member of the group. Students who are found to have not participated

and / or equally contributed to the assignment work will not be included in

the group’s mark. If there is an issue with a student not participating and / or

contributing to your group, please contact your lecturer.

Cover Sheet: The School requires that a group cover sheet listing the members of your

group be submitted with your assignment.

The Programming Task

The code you are to write is to complete an implementation of the activity "Call Or Text".

Beware - the version that you implement must match the specifications given below and use

the resources provided (even if you prefer some other variant of the task). Other

implementations will score poorly.

The user is interacting with a simulated mobile phone. The program starts with the user scrolling

through their contacts. The details of the current contact are displayed and the user is presented

with a choice: move to the next contact, move to the previous contact, select the current contact, or

quit. When they select a contact they are offered three choices: call that person (a phone call is

simulated but the contact's phone is off and 'takes' a message), text that person (only if a mobile

number is known for that person), edit details for the contact, or return to the previous menu. Each

contact is known by a contact number, their name, gender, home phone number, mobile phone

number, and birth date in DD-MMM-YY format (eg, 10-JUN-1990).

When the user quits he/she is shown a list of contacts that calls or messages have been made/sent

to.

The completed implementation will consist of 3 files, only one of which must be written by

you. These files (available from the unit MyLO site, under Assessment) are:

AssignThree2020.java - This is the driver program (with a main() method). The code of this

is complete and it MUST NOT be changed. The code in this file is very simple - it declares and

instantiates an object of the CallOrText class (see below).

KXO151 - AIEN-SOU – Assignment 3 - 2020

Page 2 of 7

MobileFacilities.java - This file contains resources that you are to use in developing your

implementation of the task. The code is complete and MUST NOT be changed.

CallOrText.java - This is the file that you are to write. There will be no main() method in

the class, it will contain methods that organise the task. This will include all the interactions with

the user.

You should make sure that you do the following in CallOrText.java:

? Create and use object(s) of the MobileFacilities class. You will LOSE MARKS if

you write code in CallOrText.java that duplicates things that could be done using

methods of the MobileFacilities class.

? Use the trace() method (provided in the skeleton) to include tracing messages in your

program - switch the messages off before submission.

? Use separate methods to implement the separate activities within the task.

? Use instance variables to store data that is used or changed by more than one method.

? Use local variables to store the data that is used by just one method.

This program (like all programs) should be developed in stages, with each stage fully implemented

and tested before the next stage is attempted. To provide you with some guidance about this, the

detailed specification below is divided into two stages, you should aim to submit a program that

implements at least stage 1.

Details - Stage 1

(Note: even within stage 1, you should plan, implement, and test you program in sub-stages. It is

part of your task to work these sub-stages out yourself.)

Write code in CallOrText.java to do the following:

? "Housekeeping" tasks

o Switch off the debugging/tracing messages in MobileFacilities objects and the

CallOrText class.

o Whenever a MobileFacilities object is created make a call to its setUp()

method with the parameter value 0.

? Introduction

o Provide the user with the number of contacts stored on 'their phone'.

? Use the phone - the user is prompted to undertake "actions" until they choose to stop.

o Before each choice the user is provided with the following information:

? The current contact number.

? The current contact's name.

? The current contact's gender.

? The current contact's home phone number (if known).

? The current contact's mobile phone number (if known).

? The current contact's birthdate (in DD-MMM-YY format).

o The user is asked for their action. The options are:

? Move to the next contact (moving forward to the first contact if currently at

the last contact).

? The contact's details are displayed as above and the user invited to

make another choice.

? Move to the previous contact (moving back to the last contact if currently at

the first contact).

? The contact's details are displayed as above and the user invited to

make another choice.

? Select the current contact (see below for follow-up actions).

? Quit (turn off the phone).

? The program will end.

o If the user has selected a contact they can now:

KXO151 - AIEN-SOU – Assignment 3 - 2020

Page 3 of 7

? Call the number (and be asked to leave a one-line typed message).

? Text the number (and be asked to leave a multiple-line typed message).

? Edit the contact details (indicate which part of the contact details need to be

edited and enter a new value for that part).

? Return to the previous menu.

Details - Stage 2

? Remember

o You should only consider implementing this if you have completed and tested stage

1 and have time to spare.

o You must state in the header comments of your source code that you have

implemented stage 2.

? Extra functionality at this stage:

o Before using their phone, the user is asked whether or not they wish to turn on their

mobile phone and if not, then the program simply exits. This simulates a key-lock

check.

o After the user has finished using their mobile phone they are asked to confirm that

they wish to turn it off.

o If the user has used their phone to examine contacts, then when they elect to stop

and turn off their phone they are shown a list of:

? The contacts called and texted in order. (It is safe to assume there will not be

more than 50 of each of these.)

Planning

The first thing that you need to do is to understand what uses can be made of objects of the

MobileFacilities class. To do this:

? Read the code carefully, making sure that you can identify

o instance variables

o methods - read the header comments and the code of these and work out what they

do.

? Write a driver program to instantiate an object of the MobileFacilities class and call

its methods (to check that they behave the way that you think they do).

? Plan how to write code to "organise" the "Call Or Text" activity (using object(s) of the

MobileFacilities class)

o Work out the subtasks that will be needed (each of these should be implemented as

a method).

o Work out the data that will need to be "shared" by more than one method. These

will usually be implemented with instance variables.

o For each method work out:

? the data it will need to have passed in (parameters)

? the data it will need to pass out (return value)

? the algorithm for doing the subtask

? Implement each step after you have planned it - a little bit at a time - compile and test the

implementation as you go.

Documentation

Your program files should be fully documented, at least to the same standard as demonstrated in

the textbook. This includes in-code comments, descriptions, and where appropriate, explanations

for each new constructor, method and variable. Documentation also includes the layout of the Java

code and the data printed out to the screen, which should both be in a clear and professional

format.

KXO151 - AIEN-SOU – Assignment 3 - 2020

Page 4 of 7

Important Notes:

PLEASE NOTE: This assignment is to be completed by students in groups of 2. If you need help,

please look at the textbook or ask your lecturer. Students who have been working through the

tutorial exercises should have no 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.

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

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

? Only one complete submission is required from each group.

? It is up to the members of the group to make sure their assignment files have been

submitted correctly.

Program Style

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

? file name

? your name (in pinyin)

? student UTas id number

? a statement of the purpose of the program

KXO151 - AIEN-SOU – Assignment 3 - 2020

Page 5 of 7

? 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

Guide to Assessment and Expectations:

The assessment of Assignment 3 is based on the following criteria:

Criteria High Distinction Distinction Credit Pass Fail

Working Java

Classes /

Program

Provided a complete

working set of Java

classes that fully

satisfy the

requirements stated

in the assignment

requirements,

including easy to use

interface, using

Arrays, and correct

use of names

Provided a complete

working set of Java

classes that satisfy the

requirements stated

in the assignment

requirements,

including easy to use

interface, using

Arrays, and correct

use of names

Provided a complete

working set of Java

classes that satisfy the

major requirements

stated in the

assignment

requirements,

including a relatively

easy to use interface,

using at least 1 Array,

and correct use of

names

Provided a complete

working set of Java

classes that satisfy

most of the major the

requirements stated

in the assignment

requirements,

including a usable

interface

Failed to provide a

complete working set

of Java classes that

satisfy the

requirements stated

in the assignment

requirements & / or

fail to compile & / or

run

Documentation

Provided complete

documentation of all

significant & relevant

aspects of the Java

classes.

Submission of correct

& correctly named

files, & coversheet

Provided reasonably

complete

documentation of

significant & relevant

aspects of the Java

classes.

Submission of correct

files & coversheet

Provided good

documentation of

significant & relevant

aspects of the Java

classes.

Submission of correct

files & coversheet

Provided some

documentation of

significant & relevant

aspects of the Java

classes.

Submission of correct

files & coversheet

Failed to provide

documentation of

significant & relevant

aspects of the Java

classes, & / or failed

to submit coversheet

Overall

Program

Design

(Understanding of

Java)

Demonstrated

excellent clear and

logical design skills –

shows considerable

evidence of planning

at a very professional

level. Design is logical,

and is a complete

solution to the

programming

problem. Shows

evidence of thorough

testing of the solution

Demonstrated very

good design skills –

shows evidence of

being planned in a

logically way.

Program is a very

good solution to the

programming

problem, and is a

thoroughly tested

solution

Demonstrated good

design skills - shows

evidence of being

logically designed and

a good solution to the

programming

problem. Is an

adequately tested

solution

Demonstrated basic

design skills – shows

some evidence of

being a logically

designed solution to

the programming

problem, and most of

the methods return

the correct values

Failure to

demonstrate

adequate

understanding of the

nature of Java.

Little or no evidence

of any planned design

– little or no form or

structure.

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, & by demonstrating a high-level an understanding

and ability to program using the Java language (usually only 10% of students).

KXO151 - AIEN-SOU – Assignment 3 - 2020

Page 6 of 7

Submitting Your Assignment

Only one complete submission is required from each group.

You need to submit your assignment package containing the following 3 files to the unit

MyLO site:

AssignThree2020.java, MobileFacilities.java, CallOrText.java

Follow these steps to create a package for your assignment files and then submit your package file:

1. Ensure that you add the names and the UTAS ID numbers of both students of your group into the

class header of each of the 3 files, as comments.

2. On your computer desktop, create a new folder using your name and UTAS ID number. For

example, if your name is Jianwen CHEN and your UTAS ID number is 111222, then the new folder

must be named Chen_Jianwen_111222;

3. Copy your 3 assignment files into the new folder;

4. Compress the new folder and name it as a RAR file (or ZIP file). For example, Jianwen CHEN could

name it as Chen_Jianwen_111222.rar.

5. Submit your RAR file (or ZIP file) to the unit MyLO site. While submitting, include the names and

UTAS ID numbers of both students as comments.

You must also submit a signed group coversheet to your local lecturer by the assignment due

date. The group coversheet is also on the unit MyLO site, under Assessment.

In submitting your assignment you are agreeing that you have read the “Plagiarism and Academic

Integrity” section below, and that your assignment submission complies with the assignment

requirement that it is your Group’s own work.

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.

KXO151 - AIEN-SOU – Assignment 3 - 2020

Page 7 of 7

Plagiarism and Academic Integrity

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 Technology, Environments and Design, University of

Tasmania, Australia.

(The End)

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.


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp