联系方式

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

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

日期:2024-11-14 08:51

Assessment Brief

PROG2004 OBJECT ORIENTED

PROGRAMMING

Summary

Title Assessment 1 – Programming tasks - a simple appointment system for a

health service

Type Programming

Due Date Monday 11 November 2024 11:59 pm AEST (Start of Week 3)

Length NA

Weighting 20%

Academic Integrity

(See below for limits

of use where GenAI

is permitted)

You may use GenAI tools to get some ideas or insight about particular

problems in code. However, you MUST NOT generate a complete solution

code.

Please refer to the Academic Integrity section below to see what

you can and cannot do with the GenAI tools.

Submission You will need to submit the following to the submission link provided for

this assignment on the MySCU site:

• The JAVA project with all your source code files.

• The link to your GitHub repository.

• A video explaining your code.

Unit Learning

Outcomes

This assessment maps to the following ULOs:

• ULO1: explain, compare, and apply advanced class design

concepts

• ULO2: apply object-oriented programming principles to solve

intermediate problems

Rationale

This assessment aims to assess students’ ability to understand and apply object-oriented

programming concepts and principles to solve intermediate problems. It addresses unit learning

outcomes 1 and 2 and relates to modules 1 and 2.

Task Description

In this assignment, your task is to write JAVA codes that manage a simple appointment system for a

health service. A patient may make an appointment with different types of health professionals.

Health professional is a common term used to describe health workers (e.g., general practitioners,

specialists, surgeons, dietitians, nurses, etc).

To limit the complexity, this assessment focuses on two types of health professionals and the

booking is only for the current day. Your solution must apply the inheritance concept and utilise a

suitable collection to handle the bookings.

In this assessment, you MUST:

• Use JAVA language to develop the solution.

• Submit JAVA project with all your source code files to MySCU link.

• Demonstrate your work progress by regularly uploading your code to your GitHub

repository over the last two weeks.

• Record a video to explain your code and demonstrate your understanding.

If you fail to do any of the above, you will lose marks and be required to attend an interview to

explain your code. If you cannot explain your code, you will be submitted for academic

misconduct.

Task Instructions

To get started:

• Create a new Java project called username-A1.

• In the src directory, create a new class called AssignmentOne.

• In the AssignmentOne class, create the main method.

For this assessment, find a website of any health service near your place (e.g., Southport Method

Medical Centre - https://southportmetromedicalcentre.com.au ) to explore all the different types of

health professionals with that patients can make appointments. While you are doing this, have a

look at the different health professional types as they go from more general to more specific. At the

top level of the Inheritance hierarchy, you need a generic health professional.

Note that this assessment does not endorse any health services. The reference was only used to

give students an understanding of the case study.

Part 1 – Base class

This part is to create a base class that will be extended to create different types of health

professionals.

In your Java project, create a class named HealthProfessional.

The class must have the following at a minimum:

• Required instance variables: ID (numbers only) and name.

• Another instance variable that is relevant to describe the basic information regardless of the

doctor type.

• A default constructor.

• A second constructor that initialises all the instance variables.

• A method that prints all instance variables.

Part 2 – Child classes

This part is to create two child classes representing different types of health professionals. To limit

the complexity, this assessment focuses on two types: general practitioner and any other type that

2

Assessment Brief

you prefer. Therefore, in the inheritance hierarchy, under class HealthProfessional, you would need

to handle general practitioners and the other type of health professional.

In your Java project, create one child class named GeneralPractitioner that extends the base class

and another child class for the other type of health professional that also extends the base class.

The child class must have the following at a minimum:

• At least another instance variable that is relevant and suitable to differentiate between a

general practitioner and another health professional type

• A default constructor

• A second constructor that initialises all the instance variables (including the instance

variables in the base class)

• A method that prints the health professional details, including the health professional type

(if it is a general practitioner or other health professional type) E.g., "The health professional

details are:" followed by all instance variables formatted for readability (including the

instance variables in the base class)

• Any other methods or variables that you feel are necessary for the class to be usable in the

program

Part 3 – Using classes and objects

This part uses the classes created above to create objects for different types of health professionals.

You are not required to use a collection to store the general practitioners and the other type of

health professionals, but you may use it if you want to.

In the main method:

• Add the following comment - // Part 3 – Using classes and objects

• Write the code to create three objects of General Practitioners and two objects of the

other health professional type.

• Use the methods you created in the base and child classes to print the details of all the

health professionals you created in the above step (including the information from the base

class).

• Add the following code - System.out.println("------------------------------");

Part 4 – Class Appointment

This part is to create a class to accommodate an appointment made by a patient. When a patient

wants to make an appointment, we need to store basic patient details, preferred time slot, and

which doctor the patient wants to meet.

In your Java project, create a new class named Appointment. The class must have the following at a

minimum:

• Instance variables for patient details: name and mobile phone. You are not required to

create a Patient class, but you may create it if you want to.

• Instance variable for the preferred time slot (e.g., 08:00, 10:00, 14:30).

• The selected doctor (general practitioner or another health professional type). This should

be an object of the child class.

• A default constructor.

• A second constructor that initialises all the instance variables.

3

Assessment Brief

• A method that prints all instance variables.

Part 5 – Collection of Appointments

This part is to create a collection of appointments using ArrayList and demonstrate how the

appointments work. We may add a new appointment, print existing appointments and cancel an

appointment.

In the main method, write the code to:

• Add the following comment - // Part 5 – Collection of appointments

• Declare an ArrayList that can store instances (objects) of Appointment class.

• Create a method named createAppointment to create a new booking and add it to the

ArrayList. Since inheritance is applied, the method should be able to handle if the

appointment is to meet any different health professional types (think carefully). Also, make

sure all required information is supplied when creating a new appointment. Otherwise, the

appointment can not be created.

• Create a method named printExistingAppointments to display existing appointments in the

ArrayList. If there are no existing appointments, print a message to indicate this.

• Create a method named cancelBooking to cancel a booking using a patient’s mobile phone.

If the mobile phone is not found in the existing appointment, print a message to indicate this

error.

• Add the following code - System.out.println("------------------------------");

Lastly, demonstrate the collection and methods created above by doing these:

• Make 2 appointments with general practitioners.

• Make another 2 appointments with the other type of health professional.

• Print existing appointments.

• Cancel one of the existing appointments.

• Print again existing appointments to demonstrate the updated collection of appointments.

Your main JAVA method should have the following information:

// Part 3 – Using classes and objects

Code demonstrating part 3

System.out.println("------------------------------");

// Part 5 – Collection of appointments

Code demonstrating part 5

System.out.println("------------------------------");

NOTE: Make sure that none of the code demonstrating each part of the assignment is commented

out. Your marker will run your main method and will be expecting to see the output for all parts of

the assignment. If the output for any part is missing, you WILL lose marks for that part. You can

comment it out when you are developing; however, when you submit your assignment, the main

method must contain all the code required for all parts of the assignment.

Use GitHub

You must create a repository on GitHub to store your project work with all files and documents. You

must show your work progress in this assignment by regularly committing your project to the

GitHub repository. In each commit, you need to provide a clear explanation of what changes you

have made in this commit. Failing to show the correct work progress will fail the assignment.

4

Assessment Brief

Create a video

In your video, ensure you explain:

• how you implemented inheritance in Parts 1-3,

• how you demonstrated polymorphism in Part 3, and

• how you worked with ArrayList and Class to handle the appointments.

Your video does not need to be long or go into much detail. You should be able to do all the above in

<= 5 minutes; however, the video must demonstrate that you understand the code you are

submitting and you did not use ChatGPT or a similar GenAI tool to generate it.

Upload your video to your SCU OneDrive and create a sharable link to it.

Resources

Use the following resources to support you when working on this assessment.

• Study modules 1 and 2 materials and complete all learning activities.

• Take an active role in the weekly tutorial and workshop.

• Java API documentation https://docs.oracle.com/en/java/javase/22/docs/api/index.html

Referencing Style Resource

NA

Task Submission

You are required to submit the following items:

• The JAVA project with all your source code files. Zip your project into a file called username A1.zip and upload the file.

• The link to your GitHub repository. Add the link in the comments.

• The link to your short video explaining your code part by part. Add the link in the

comments.

Resubmit policy: This assessment is not eligible for a re-submit.

Assessment Criteria

Please refer to the marking rubric for more details. Marking criteria include:

• Java code compiles

• Use of correct coding style, including the use of comments

• Accuracy of coding

• Use of suitable coding structures

• Correct submission and naming conventions of assessment items as required

Academic Integrity

At Southern Cross University, academic integrity means behaving with the values of honesty,

fairness, trustworthiness, courage, responsibility and respect in relation to academic work.

The Southern Cross University Academic Integrity Framework aims to develop a holistic, systematic

and consistent approach to addressing academic integrity across the entire University. For more

information, see: SCU Academic Integrity Framework

5

Assessment Brief

6

Assessment Brief

NOTE: Academic Integrity breaches include unacceptable use of generative artificial intelligence

(GenAI) tools, the use of GenAI has not been appropriately acknowledged or is beyond the

acceptable limit as defined in the Assessment, poor referencing, not identifying direct quotations

correctly, close paraphrasing, plagiarism, recycling, misrepresentation, collusion, cheating, contract

cheating, fabricating information.

At SCU the use of GenAI tools is acceptable, unless it is beyond the acceptable limit as defined in the

Assessment Item by the Unit Assessor.

GenAI May be Used

Generative artificial intelligence (GenAI) tools, such as ChatGPT, may be used for this assessment

task. If you use GenAI tools, you must use these ethically and acknowledge their use. To find out

how to reference GenAI in your work, consult the referencing style for your unit via the Library

referencing guides. If you are not sure how to, or how much, you can use GenAI tools in your

studies, contact your Unit Assessor. If you use GenAI tools without acknowledgment, it may result in

an academic integrity breach against you, as described in the Student Academic and Non-Academic

Misconduct Rules, Section 3.

You may use Generative Artificial Intelligence (GenAI) tools, such as ChatGPT or Copilot, for this

assessment task to get some ideas or insight about particular problems in code. It is similar when

you try to find a snippet of code for doing a particular task in Stack Overflow. For example, you must

make your own effort to modify, refine, or improve the code to solve the assessment problems.

Think of it as a tool – a quick way to access information – or a (free) tutor to answer your questions.

However, just as if you Googled something, you still need to evaluate the information to determine

its accuracy and relevance. If you have used a GenAI tool in this assessment, you must document

how you used it and how it assisted you in completing your assessment tasks. Failing to do that

will be subject to an academic integrity investigation.

You cannot use AI to generate a complete solution code. You need to put your own effort into

building the solution code for the assessments to demonstrate the required skills. Refer to

assessment information in the Assessment Tasks and Submission area for details.

Special Consideration

Please refer to the Special Consideration section of Policy.

https://policies.scu.edu.au/document/view-current.php?id=140

Late Submissions & Penalties

Please refer to the Late Submission & Penalties section of Policy.

https://policies.scu.edu.au/view.current.php?id=00255

Grades & Feedback

Assessments that have been submitted by the due date will receive an SCU grade. Grades and

feedback will be posted to the ‘Grades and Feedback’ section on the Blackboard unit site. Please

allow 7 days for marks to be posted.

… continued on next page ...

7

Assessment Brief

8

Assessment Brief

Assessment Rubric

Marking Criteria and %

allocation

High Distinction

(85–100%)

Distinction

(75–84%)

Credit

(65–74%)

Pass

(50–64%)

Fail

0–49%

Apply object-oriented

programming

principles and develop

advanced class design

to solve health

professional scenario

(Parts 1-2)

(ULOs 1-2)

25%

Demonstrates

exceptional

understanding and

application of object oriented principles

(abstraction,

encapsulation,

inheritance,

polymorphism, class)

to solve complex

health professional

problem.

Designs classes that are

highly cohesive and

effectively organised

using advanced class

design.

Demonstrates a solid

understanding and

application of object oriented principles

with minor errors or

omissions in solving

health professional

problems.

Designs classes that

generally adhere to

principles of cohesion

and advanced class

design with occasional

errors or less effective

implementation.

Demonstrates a basic

understanding of

object-oriented

principles but with

notable gaps or errors

in applying them to

health professional

problems.

Designs classes that

show basic cohesion

but lack sophistication

in advanced class

design.

Demonstrates a

minimal

understanding of

object-oriented

principles with

substantial errors or

misunderstandings in

applying them to

health professional

problems.

Designs classes that

are poorly organised

or inefficient.

Fails to demonstrate a

basic understanding of

object-oriented

principles, with critical

errors or complete lack

of application to health

professional problems.

Designs classes that

are fundamentally

flawed and do not

meet basic

requirements.

Implement advanced

class concept to

manage health

professional data

(Part 3)

(ULOs 1-2)

10%

Implements advanced

class effectively and

efficiently without

errors to manage

health professional

data.

Implements advanced

class with some errors

or oversights in

managing health

professional data.

creativity and

innovation.

Implements advanced

class with significant

errors or oversights in

managing health

professional data.

Implements advanced

class with

fundamental errors or

lacks basic

understanding of

managing health

professional data.

Fails to implement

advanced class

effectively, with

critical errors in

managing health

professional data or no

implementation.

9

Assessment Brief

Apply object-oriented

programming

principles and develop

advanced class design

to solve appointment

scenario

(Part 4)

(ULOs 1-2)

20%

Demonstrates

exceptional

understanding and

application of object oriented principles

(abstraction,

encapsulation,

inheritance,

polymorphism, class)

to solve complex

appointment problem.

Designs classes that are

highly cohesive and

effectively organised

using advanced class

design.

Demonstrates a solid

understanding and

application of object oriented principles

with minor errors or

omissions in solving

appointment

problems.

Designs classes that

generally adhere to

principles of cohesion

and advanced class

design with occasional

errors or less effective

implementation.

Demonstrates a basic

understanding of

object-oriented

principles but with

notable gaps or errors

in applying them to

appointment

problems.

Designs classes that

show basic cohesion

but lack sophistication

in advanced class

design.

Demonstrates a

minimal

understanding of

object-oriented

principles with

substantial errors or

misunderstandings in

applying them to

appointment

problems.

Designs classes that

are poorly organised

or inefficient.

Fails to demonstrate a

basic understanding of

object-oriented

principles, with critical

errors or complete lack

of application to

appointment

problems.

Designs classes that

are fundamentally

flawed and do not

meet basic

requirements.

Implement advanced

class concept to

manage appointment

data

(Part 5)

(ULOs 1-2)

25%

Implements advanced

class effectively and

efficiently without

errors to manage

health professional

data.

Implements advanced

class with some errors

or oversights in

managing health

professional data.

creativity and

innovation.

Implements advanced

class with significant

errors or oversights in

managing health

professional data.

Implements advanced

class with

fundamental errors or

lacks basic

understanding of

managing health

professional data.

Fails to implement

advanced class

effectively, with

critical errors in

managing health

professional data or no

implementation.

Accuracy, efficiency,

validations and

compatibility

(ULOs 1-2)

Demonstrates

exceptional accuracy,

efficiency, validations

to serve the objectives

and requirements.

Demonstrates a solid

accuracy, efficiency,

and validations with

minor errors or

omissions in serving

Demonstrates a basic

accuracy, efficiency,

and validations with

notable gaps of errors

in serving the

Demonstrates a basic

accuracy, efficiency,

and validations with

notable gaps of errors

in serving the

Fails to demonstrate a

basic accuracy,

efficiency, and

validations to serve the

objectives and

requirements.

10

Assessment Brief

10% JAVA code can be

compiled and run

without any issues.

the objectives and

requirements.

JAVA code can be

compiled and run

without any issues.

objectives and

requirements.

JAVA code is compiled

and can be run with

some minor issues.

objectives and

requirements.

JAVA code is compiled

and can be run with

major issues.

JAVA code is not

compiled and has

significant errors/fails

to be run.

Concept

understanding

(Comment, GitHub,

video)

(ULOs 1-2)

10%

Demonstrates a

profound

understanding of

object-oriented

programming

principles and

advanced class design

for the case study

through code

comments, work

progress in GitHub,

and video.

Demonstrates a

thorough

understanding of

object-oriented

programming

principles and

advanced class design

for the case study

through code

comments, work

progress in GitHub,

and video.

Demonstrates a basic

understanding of

object-oriented

programming

principles and

advanced class design

for the case study

through code

comments, work

progress in GitHub,

and video.

Demonstrates a

minimal

understanding of

object-oriented

programming

principles and

advanced class design

for the case study

through code

comments, work

progress in GitHub,

and video.

Fails to demonstrate a

basic understanding of

object-oriented

programming

principles and

advanced class design

for the case study

through code

comments, work

progress in GitHub,

and video.

Description of SCU Grades

High Distinction:

The student’s performance, in addition to satisfying all of the basic learning requirements, demonstrates distinctive insight and ability in researching, analysing and

applying relevant skills and concepts, and shows exceptional ability to synthesise, integrate and evaluate knowledge. The student’s performance could be described as

outstanding in relation to the learning requirements specified.

Distinction:

The student’s performance, in addition to satisfying all of the basic learning requirements, demonstrates distinctive insight and ability in researching, analysing and

applying relevant skills and concepts, and shows a well-developed ability to synthesise, integrate and evaluate knowledge. The student’s performance could be described

as distinguished in relation to the learning requirements specified.

Credit:

The student’s performance, in addition to satisfying all of the basic learning requirements specified, demonstrates insight and ability in researching, analysing and applying

relevant skills and concepts. The student’s performance could be described as competent in relation to the learning requirements specified.

Pass:

The student’s performance satisfies all of the basic learning requirements specified and provides a sound basis for proceeding to higher-level studies in the subject area.

The student’s performance could be described as satisfactory in relation to the learning requirements specified.

Fail:

The student’s performance fails to satisfy the learning requirements specified.

11

Assessment Brief


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

python代写
微信客服:codinghelp