Question
SCHOOL COURSE SELECTION JAVA APP PLEASE CODE IN JAVA Introduction As you already know, students in high school are required to select courses that they
SCHOOL COURSE SELECTION JAVA APP
PLEASE CODE IN JAVA
Introduction
As you already know, students in high school are required to select courses that they wish to take in the following year. Often students have to select alternatives as there is no guarantee that there will be enough room in classes for all students to be enrolled in their top choices of courses. Classes also have various size restrictions which make it difficult to organize the school year.
The Task
You will be developing software that is capable of taking a list of students and assigning them to courses. Each student will have 6 course selections and are to be assigned to exactly 4 courses. The course selections are listed in order of importance (the last 2 are alternates). A file called students.txt contains a list of students (one per line). Each Line looks like the following example:
Lisa Simpson 341702323 SNC1D1 ICS3U6 MAT1D1 ENG1P1 ICD2O1 TEJ2O1
A file called courses.txt contains a list of all the courses and the class size maximums. It looks like the following example:
SNC1D1 20 ICS3U6 15 MAT1D1 32 ENG1P1 6 ICD2O1 22 TEJ2O1 22
Finally, a file called staff.txt contains a list of staff at the school. The first line is the principal and additional lines are teachers. Each teacher has a list of courses that they teach. This is similar to the following example:
Sheahan Martin ICS4U1 Gissing SNC1D1 MAT1D1 John ENG1P1 Stretton TEJ2O1
The Details
Your program will read all the files and then output the results of scheduling students into classrooms into a file called schedule.txt. The output should be similar to the following example:
PRINCIPAL Sheahan
---------- COURSE ICS4U1
TEACHER Martin
STUDENTS Arty Mcfly Bart Simpson George Bobski Zander Alecks
----------- COURSE SNC1D1
TEACHER Gissing
STUDENTS Bart Simpson Geoprge Bobski Marky Mark
..etc..
Testing Process
Your program will be run against a variety of test cases that increase in difficulty. The most difficult test case will test some optimizing of students into courses. All of the tests cases will be selected to work with simple pigeon-hole type algorithms. (None of the test cases will have only 1 solution to the scheduling problem.
Object Oriented Design
Great deals of emphasis (and marks) are related to the overall design of your program. You should review all the OOP concepts and make sure that they have been applied to your design where appropriate.
students.txt:
Harvey Dent 12034567 ABC123 BAT2O1 MAT1P1 SNC1D1 PHR2O1 ZAT1D1 Bruce Ward 34156710 ABC123 BAT2O1 MAT1P1 SNC1D1 PHR2O1 ZAT1D1
staff.txt:
Sheahan Davidson BAT2O1 MAT1P1 SNC1D1 Marving ZAT1D1 ABC123 Simpson PHR2O1
courses.txt:
ABC123 5 BAT2O1 5 MAT1P1 5 SNC1D1 5 PHR2O1 5 ZAT1D1 5
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started