there is no word limit and i think so no references. its coding assessment . plz this is very important for me .. plz go through all step by step..
UNIVERSITY OF SOUTHERN QUEENSLAND CSC1401 - Foundation Programming (Semester 2, 2019) Assignment 3 Specification Schedule Due date: 17 October 2019 Weight: 20% Type: Team-based (3 members) Goals and Topics The assignment problem is straightforward. All necessary details have been supplied. The solution of the problem will use the programming concepts and strategies covered in workshops 1-11 delivered in the course. The subgoals are: Obtaining advanced understanding of values, variables and arrays; Understanding program input and output, functions and expressions; Understanding simple strategies like iteration, validation, sum, count, minimum, and maxi-mum plans; Understanding of advanced strategies like swapping, cycle position plan, sorting, and searching; Understanding of HTML objects, forms, and events; Translating simple design into JavaScript code; The mechanics of editing, interpreting, building and running a program; Testing a program; Commenting source code, especially JavaDoc on functions; Becoming confident and comfortable with programming in problems with other team members. The Task In this assignment you are required to design, implement and test a program that can be used to manage a simple schedule with appointment records, which are stored in an array. Your program must provide an interactive editing environment that allows the user to: create new appointment records and add them to the schedule; display all appointment records with details; sort all appointment records based on an attribute; search for specific appointment records in all records based on an attribute. The program is to be implemented by JavaScript and as an .html file running on Firefox, an OS independent web browser. Schedule Figure 1 illustrates the schedule with interactive editing environment. Please use this illustration as the reference for the following descriptions. Figure 1: The Interactive Editing Environment of schedule Appointment records An appointment record this program will hold or encapsulate data for the priority, date, start time, end time, and subject of the appointment. In respect to each of the attributes, an appointment record can be represented like the following sample: "High; 25/09/2019; 13; 15; CSC1401 class" Which can be deciphered as the appointment with "High" priority, on the date of "25/09/2019", starting at "1300pm" and finishing at "1500pm", about the subject of "CSC1401 class". You should create a global variable "an array" to store all such appointments. For the sake of easy explanation, we refer to this variable by appointmentArr in the rest of this document. There are some limitations that must be imposed on the appointment records: 1. The primary unit of time in an appointment is hour. 2. An appointment starts and finishes on the same day; 3. Only appointments occurring at future time can be added to the schedule; 4. No concurrent appointments are to be added into the schedule. Date A date is valid if and only if: year> 1583 (the beginning of the Gregorian calendar) 1 <= month="">=><= 12="" ="" 1="">=><= day="">=><= daysinmonth(month,="" year)="" ="" daysinmonth="30" if="" the="" month="" is="" april,="" june,="" september,="" or="" november="" ="" daysinmonth="31" if="" the="" month="" is="" january,="" march,="" may,="" july,="" august,="" october,="" or="" december="" ="" daysinmonth="28" if="" the="" month="" is="" february="" and="" is="" not="" a="" leapyear(year)="" ="" daysinmonth="29" if="" the="" month="" is="" february="" and="" is="" a="" leap="" year(year)="" a="" year="" is="" a="" leap="" year="" if="" ="" year="" is="" divisible="" by="" 400="" ="" year="" is="" divisible="" by="" 4="" and="" if="" year="" is="" not="" divisible="" by="" 100="" so,="" the="" year="" 2000="" was="" a="" leap="" year,="" 2004="" was="" a="" leap="" year="" but="" 2100="" will="" not="" be="" a="" leap="" year.="" time="" the="" time="" (start="" time="" and="" end="" time)="" of="" an="" appointment="" is="" valid="" if="" and="" only="" if:="" ="" 08:00am="">=><= start/end="" time="">=><= 18:00pm;="" ="">=>