Assessment Brief
PROG2004 OBJECT ORIENTEDPROGRAMMINGSummaryTitle Assessment 1 – Programming tasks - a simple appointment system for ahealth service
Type ProgrammingDue Date
Monday 11 November 2024 11:59 pm AEST (Start of Week 3)Length NAWeighting 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 particularproblems in code. However, you MUST NOT generate a complete solutioncode.Pleaserefer to theAcademic Integrity section below to see whatyou can and cannot do with the GenAI tools.Submission You will need to submit the following to the submission link provided forthis 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 designconcepts
- ULO2: apply object-oriented programming principles to solveintermediate problemsRationaleThis assessment aims to assess students’ ability to understand and apply object-orientedprogramming concepts and principles to solve intermediate problems. It addresses unit learningoutcomes 1 and 2 and relates to modules 1 and 2.Task DescriptionIn 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,
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 GitHubrepository over the last two weeks. • Record a video to explain your code anddemonstrate your understanding.If you fail to do any of the above, you will lose marks and be required to attend an interview to
xplain your code. If you cannot explain your code, you will be submitted for academic misconduct.
ask InstructionsTo 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. HealthProfessionalThe 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 thedoctor type.
- A default constructor.
- A second constructor that initialises all the instance variables.
- A method that prints all instance variables.Part 2 – Child classesThis part is to create two child classes representing different types of health professionals. To limitthe complexity, this assessment focuses on two types: general practitioner and any other type that 2Assessment Briefyou prefer. Therefore, in the inheritance hierarchy,under class HealthProfessional, you would needto handle general practitioners and the other type of professional.In your Java project, create one child class named GeneralPractitioner that extends the base classnd 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 leastanothernstance variable that is relevant and suitable to differentiate between ageneral practitioner and another health professional typeA 代寫PROG2004 A simple appointment system default constructorA second constructor that initialises all the instance variables (including the instanceriables in the base class)
- 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 professionaldetails 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
programPart 3 – Using classes and objectsThis part uses the classes created above to create objects for different types of health professionals.Add the following comment -// Part 3 – Using classes and objects
Write the code to create three objects of General Practitioners and two objects of thother health professional type.
- Use the methods you created in the base and child classes to print the details of all thehealth professionals you created in the above step (including the informationfrom the baseclass).
- 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 meetIn your Java project, create a new class named Appointment. The class must have the following at aminimum:
Instance variables for patient details: name and mobile phone. You are not required tocreate 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 shouldbe an object of the child class.
- A default constructor.
- A second constructor that initialises all the instance variables.3Assessment Brief• A method that prints all instance variables.Part 5 – Collection of AppointmentsThis part is to create a collection of appointments using ArrayList anddemonstrate how theappointments work. We may add a newappointment, print existingappointments 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 theappointment is to meet any different health professional types (think carefully). Also, makesure all required information is supplied when creating a new appointment. Otherwise, theappointment can not be created.
Create a method named printExistingAppointments to display existing appointments in theArrayList. If there are no existing appointments, print a message to indicatethis. a method named cancelBooking to cancel a booking using a patient’s mobile phone.Ithe mobile phone is not found in the existing appointment, print a message to indicate thiserror.
- 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.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 commentedout. Your marker willrun your main method and will be expecting to see the output for all parts ofthe assignment. If the output for any part is missing, you WILL lose marks for that part. Youcancomment it out when you are developing; however, when you submit your assignment, the mainmethod must contain all the code required for all parts of the assignment.Use GitHubYou must create a repository on GitHub to store your project work with all files and documents. Youmust show your work progress in this assignment by regularly committing your project to theGitHub repository. In each commit, you need to provide a clear explanation of what changes youhave made in this commit. Failing to show the correct work progress willfail the assignment. 4Assessment BriefCreate a videoIn your video, ensureyou 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 aresubmitting 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. ResourcesUse 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 NATask SubmissionYou 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 CriteriaPlease 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 requiredAcademic IntegrityAt 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 aholistic, systematicand consistent approach to addressing academic integrity across the entire University. For moreinformation, see: SCU Academic Integrity Framework5Assessment Brief6Assessment Brief
NOTE: Academic Integrity breaches include unacceptable use of generative artificial intelligence(GenAI) tools, the use of GenAI has not been appropriately acknowledgedor is beyond theacceptable limit as defined in the Assessment, poor referencing, not identifying direct quotationscorrectly, close paraphrasing, plagiarism, recycling, misrepresentation, collusion, cheating, contractcheating, 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 assessmenttask. If you use GenAI tools, you must use these ethically and acknowledge their use. To find outhow to reference GenAI in your work, consult the referencing style for your unit via the Libraryreferencing guides. If you are not sure how to, or how much, you can useGenAI tools in yourstudies, contact your Unit Assessor. If you use GenAI tools without acknowledgment, it may result inan academic integrity breach against you, as described in the Student Academic and Non-AcademicMisconduct Rules, Section 3.You may use Generative Artificial Intelligence (GenAI) tools, such as ChatGPT or Copilot, for thisassessment task to get some ideas or insight about particular problemsin code. It is similar whenyou try to find a snippet of code fordoing 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 determineits 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 yourassessment 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 intobuilding the solution code for the assessments to demonstrate the required skills. Refer toassessment information in the Assessment Tasks and Submission area for details.
Special ConsiderationPlease refer to the Special Consideration section of Policy.https://policies.scu.edu.au/document/view-current.php?id=140Late Submissions & Penalties
Please refer to the Late Submission & Penalties section of Policy.https://policies.scu.edu.au/view.current.php?id=00255Grades & Feedback
Assessments that have been submitted by the due date will receive an SCU grade. Grades andfeedback will be posted to the ‘Grades and Feedback’ section on the Blackboard unit site. Pleaseallow 7 days for marks to be posted.… continued on next page ...
comments, work progress in GitHub, and video. Description of SCU Grades
High Distinction: student’s performance, in addition to satisfying all of the basic learning requirements, demonstrates distinctive insight and ability in researching, analysing andapplying relevant skills and concepts, and shows exceptional ability to synthesise, integrate and evaluate knowledge. The student’s performance could be described asoutstanding 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, analysingandapplying relevant skills and concepts, and shows a well-developed ability to synthesise, integrate and evaluate knowledge. The student’s performance could be describedas distinguished in relation to the learning requirements specified.Credit: