senior-knights / course-schedulizer

📝 Create semester schedules without stress
https://senior-knights.github.io/course-schedulizer/
MIT License
10 stars 4 forks source link

Allow for second "meeting pattern" #290

Open rpruim opened 1 year ago

rpruim commented 1 year ago

According to Raymond, approximately 8% of classes have 2 meeting patterns (time/day combos). Workday is going to have two fields for this (meeting pattern 1 and meeting pattern 2). We should probably have the option to do this in the app as well. This will require

rpruim commented 1 year ago

Just a note that currently what the app calls a "Meeting" is what workday calls a meeting pattern.

export interface Meeting {
  // All days on which the given Meeting time and room is applicable
  days: Day[];
  // In minutes 
  duration: number;
  isConflict?: boolean;
  isNonstandardTime?: boolean;  // feature to be added 
  location: Location;
  // Like "8:00 AM" or "12:30 PM"
  startTime: string;
}

And a section already contains a list of meeting (pattern)s:

So this might be a fairly easy thing to implement:

rpruim commented 1 year ago

Additional note: Currently the red conflict borders are tied to meeting patterns, not to individual meetings. So if a MWRF class intersects with a TR class, all six days are outlined in red. This isn't necessarily a bug, but we could consider whether it is the desired functionality.

For classes with multiple meeting patterns, I think the highlighting will be by meeting pattern since I'm seeing

forEach(section.meetings, (meeting) => { ... }

inside getEvents(), which is used to generate the schedule items grouped by room, faculty member, or department.

So in this case, it won't be the entire section that is highlighted, only the offending meeting pattern.

rpruim commented 1 year ago

this isn't absolutely critical for the current round of scheduling, but it would be a really helpful feature to add so that people don't have to hack their way around it.

jmw-75 commented 1 year ago

@rpruim Do you have any schedules to use for testing regarding the 8% of classes with the two meeting patterns?

rpruim commented 1 year ago

I think we'll need to get help from student success for this since it looks like I only have access to my department's schedule using the report that I've been looking at.

I'll contact someone over there to get a file.

jmw-75 commented 1 year ago

@kvlinden If you could provide one of the workday files here that would be great.

kvlinden commented 1 year ago

See the CS 262 schedule in this document. MW is different from F. Course_Enrollment.xlsx I pulled this .xlsx from the WorkDay fall 2022 enrollment report.