tbixler1 / COSC-481W-Project-Scheduling-

Scheduling software being developed for the Eastern Michigan Math Lab
0 stars 1 forks source link

COSC-481W-Project-Scheduling-

Scheduling software being developed for the Eastern Michigan Math Lab

COSC 481W - Software Engineering Project Project Outline Bryan Andrews, Garrett Gautz, Tyler Bixler, Alex Hamblen

Introduction The Eastern Michigan University Tutoring Center is a branch of the Developmental Math Department, a lab that offers walk-in tutoring for students needing assistance with topics ranging from mathematics, statistics, physics, and economics. The lab often has around 20 to 30 students, and upwards of 40 students during peak times. The questions that are brought in can range from remedial mathematics, to complex proofs about abstract theories, which requires a wide variety of tutors to assist with these problems. The lab has three types of employees, the tutors, graduate assistants, and proctors. The interim coordinator of the lab is Tyler Hensley, however the client we are addressing about the project is the head of the Developmental Math Department, Elaine Richards. The proctor’s job includes maintaining the front desk to sign students and media in and out, trafficking test corrections, and proctoring exams in the testing center. A tutor’s job is that of a proctor, but prioritizing tutoring in subjects they are proficient over a proctor’s assignment. A tutor can have different classes that they can tutor in, along with specialties for higher level mathematics including graduate classes. The tutor can range from being a new tutor that would need supervision by someone more experienced, to a lead tutor that can run the lab in the event the coordinator is not in the lab. A graduate assistant is essentially a tutor, but with a set number of hours they must work per their contract; they can’t work more or less or else jeopardize their agreement with the math department for their graduate assistantship program. The schedule for the lab is created before the semester starts, after getting the availabilities and classes that the student can assist with. The Problem The lab must coordinate scheduling a group of students to fit varying schedules, expertise, experience, position, and amounts of work study award. This can be complicated as finding a schedule with restricting factors can be time-consuming and changes often as schedules can change throughout the planning phase before a semester starts. The number of schedules that could be made from the given information could lead to millions of different schedules, and sifting through them would be impractical. The client would like to have a profile for each tutor, indicating their information, along with a profile for different schedules such as fall vs winter. The client would like to be able to have a schedule generated that would be a best or near-best fit for the schedules and requirements input, and have the output in an easy-to-read excel sheet.
The Solution at Hand The project will be split into multiple parts. The first is the visual user interface for the client to be able to put in availabilities and information about the tutor, hours of operation of the lab, and number of tutors, graduate assistants, and proctors at any given hour. The first visual will include a screen showing interface that allows to create, edit, and delete employee profiles and lab schedules.
The interface for the employee schedule will include hours of availability, hours of preference, classes they can tutor in, number of hours preferred, number of work study hours, whether or not they’re a lead tutor, position of employment, name, phone number, e-mail, emergency contact, emergency contact relationship, phone of emergency contact, and major. The hours of availability/preference will be set by a visual grid that lists all hours of the week, and will have coloring to show which hours are set as available or preferred. The interface for the lab profile will include a matrix with cells for each hour of the week. The client will have interface to set the hours of operation of the lab, number of tutors/graduate assistants, number of proctors, and whether or not the count should be exact or a best fit. Clicking on any cell will bring up an interface to show the information about that specific hour, and will allow the client to change variables for that time block. The hours will be listed in one hour time blocks, and will have coloring based on whether or not the lab is open at that time. The interfaces will also allow for saving of profiles for a lab schedule, and also a tutor profile will be able to be saved, modified and deleted. As for the code side, we plan on implementing flags that the client would like to have play a factor in the design of the schedule, such as requiring a certain class to be available to be tutored, number of tutors for a given hour, a lead tutor being present, separation of specialty tutors for the same subject. Due to the fact that the number of unique schedules that could be made is inefficient to sift through one at a time, we plan to implement a regression function to find the best fit to the problem of building the schedule, and find a reliable, efficient, and complete solution, while taking into account preferences, restrictions, and requirements for the schedule.

The Scope The project will include the following: A database of tutor profiles,

The Programmers Dolor sit amet