CT077 3 2 DSTR GroupAssignment v1
CT077 3 2 DSTR GroupAssignment v1
eXcel Tuition Centre is one of the fast-growing tuition Centre in Malaysia that employed
tens of tutor to conduct tuition classes on all the school subjects in their various Tuition
Centers. All the tutors are paid by hourly rate ranged from RM40.00 – RM80.00, depends on
the subject they teach. Tutors can be rated by the students on their teaching performance with
a scale rating from 1-5, where 1 is “very poor performance” and 5 is “excellent
performance”. The tuition Centre needs a system to store information about their tutors
(identified by Tutor ID, Name, Date Joined, Date Terminated, Hourly Rate, Phone, Address,
Tuition Centre Code, Tuition Center Name, Subject Code, Subject Name, Rating [a single
digit integer number ranging from 1 to 5]). To maintain quality and consistency, one tutor is
allowed to teach on the subject in their specialized field only.
Tuition Centres are located in various locations and each of the Tuition Centre is managed by
an admin staff. All the tutors’ record are managed and maintained by the Tuition Centre Head
Quarter Human Resources Department. The current filing system of records is by
categorizing the tutors by their respective location. i.e. all tutors’ records are filed together in
the tuition centre location. In each location, the tutor’s records are filed alphabetically by the
tutor’s name. The main problem with this filing system is when searching for a record, the
record could not be easily found as it might have been misplaced in another Tuition Centre or
the record is not placed in the correct alphabet sequence. This problem proves challenging for
the Tuition Center admin staff when wanting to retrieve a tutor’s record quickly. When a tutor
terminated his tutoring service, the record for that tutor will be destroyed 6 months after the
termination.
At the end of each week, a report is generated to list all tutors of the Tuition Center to keep
track of the available vacancy for new tutors.
The admin manager of the tuition center has decided that it is time to computerize the records
of Tutors serving in the Tuition Center due to the problems with the manual filling system.
Since you have some knowledge in developing a computerized system, the Tuition Center
HR Manager has approaches you to assist them in developing the system.
This project requires you to develop C++ program for the Tutors Management System
which should contains features stated below:
c) You must pre-define some tutors listing in the system. Besides, your “Add a Tutor
Record” function in your menu will allow the user to enter new Tutor.
d) Your program should also allow the user to search for a particular type of Tutor. For
eg: a search for Tutor in “Bukit Jalil” should only display listings of tutors serving
Bukit Jalil’s Tuition Center. Note that you must apply some suitable searching
algorithms in this section.
e) When displaying the tutor, the user must be able to move back and forth between the
lists of tutor. Listing of tutors must be sorted as mentioned above. Note that you must
apply some suitable sorting algorithms.
f) The HR Manager should be able to delete or modify the record of a tutor. However,
the record of a Tutor can be deleted 6 months after leaving the Tuition Center.
Note that only the Tutor phone and address attributes may be modified.
g) Include all validations required for the system and use good programming practices
(eg. indentation, meaningful identifier names, comments, and etc.).
h) You must compare the TWO approaches (Array of Structure and Linked List) in their
strength and weaknesses in implementation the system.
Assignment Requirements
This is a group assignment, which comprises of THREE (3) members.
You are required to submit a softcopy of assignment report and source code. The report
should contain:
- Detailed explanation of the structure data structures created, with proper justification
on your decisions (include source code defining structure, data structure, data
members and etc).
- Brief explanation about the algorithms used to implement the functionalities stated
above (include code snippets of important parts of implementation).
- Source code of the main function, with screenshots showing program’s input and
output interactions.
You have to present your assignment solution and answers to the lecturer during a Q&A
session that will be conducted after the hand-in date.
If you use some code which has been taken or adapted from another source (book, magazine,
internet, forum, etc.) then this must be cited and referenced using Harvard Referencing
Style within your source code, and this must be mentioned explicitly in the report. Failure to
reference code properly will be treated as plagiarism. Automated tools for checking code
similarities among submissions will be used, and all detected cases will be treated as
cheating.
Assessment marks are divided as follows:
Documentation &
Design Implementation Presentation
Marks
10 30 10
1. You are required to hand in the individual assignment report on or before the due date
mentioned on the cover sheet of the assignment in the APU Learning Management
System (Webspace).
2. The softcopy of the report, in addition to the C++ files of the programs. The
organization of files and folders must adhere to the following instructions
precisely:
Marking Criteria:
The course work submitted will be evaluated according to the following performance criteria:
- Program does not compile or run, but coding logic is almost correct
- Between 30% and 50% of the required functionalities are correctly implemented
- Implementation uses inefficient data structures or algorithms
- Unclear coding style, and no comments provided
- Functionalities are not tested/validated in program execution
- Incomplete documentation with missing major component.