Question: QUESTION 2 ( 3 0 MARKS ) Richfield needs a new course scheduling system. As an outsourced Junior C + + developer, you have been

QUESTION 2(30 MARKS)
Richfield needs a new course scheduling system. As an outsourced Junior C++ developer, you
have been tasked to develop an intelligent system to optimize class schedules, room allocations,
and student registrations.
2.1. Design and implement the following classes:
o Course: Include attributes for course code, name, required room type, maximum
capacity, enrolled students, and scheduled time slots.
o Student: Include student ID, major, list of enrolled courses, and academic year.
o Room: Include room number, type, capacity, available time slots, and any special
equipment.
Implement a priority queue to manage course registration requests. The queue should
prioritize based on the student's academic year, core courses for their major, and request
timestamp.
Develop a schedule optimization algorithm that:
o Processes registration requests from the priority queue
o Assigns courses to appropriate rooms based on type and capacity
o Resolves scheduling conflicts
o Balances class sizes
o Generates individual student schedules (20 Marks)
2.2. Write a brief technical report (maximum 1 page) explaining:
o The efficiency of your priority queue implementation
o How your algorithm balances fair course registration and optimal resource
utilization
o The space and time complexity of your solution (10 Marks)
QUESTION 3(40 MARKS)
Richfield wants to improve its student club management system. As a Junior C++ developer, you
are tasked with creating "ClubHub", a program to manage club memberships and activities.
Implement a simple graph data structure to represent connections between students in
clubs:
a. Nodes represent students
b. Edges represent shared club memberships
c. Use an adjacency list to store the graph.
Create functions to:
a. Add a new student to the system
b. Create a new club
c. Add a student to a club (this should automatically create edges with other club
members)
d. Remove a student from a club.
Implement two search algorithms:
a. A function to find all clubs a student is a member of
b. A function to find all students who are in a specific club.
Create a simple sorting function to list students alphabetically by last name. Use ANY basic
sorting algorithm you're comfortable with (e.g., bubble sort, insertion sort).
Implement a function to save the current state of the system (students, clubs,
memberships) to a text file, and another function to load this data from the file.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Finance Questions!