ComputerScienceHouse / schedulemaker

A course database lookup tool and schedule building web application for use at Rochester Institute of Technology.
http://schedule.csh.rit.edu
GNU General Public License v2.0
62 stars 38 forks source link

Courses with both in person and online sections display incorrectly on generated schedules #252

Open dylan-cancelliere opened 3 years ago

dylan-cancelliere commented 3 years ago

When generating schedules, if a course has in person and online sections selected the schedules will show both of the sections on the same calendar as if they were two separate courses. Example: https://schedule.csh.rit.edu/schedule/b5aa8

Also worth noting that the course cart section correctly groups the online and in person courses. I don't think I can link to my cart, so here's a screenshot with the top section being online and the bottom in person.

image

mxmeinhold commented 3 years ago

It looks like you've selected a section and an unrelated split. Wouldn't the matching course be CSCI-331-03? At least, that's what the scheme was last semester.

dylan-cancelliere commented 3 years ago

I'm not really sure what you mean by unrelated split. I'll attach a screenshot of what comes up when I search for CSCI-331, but as a user I would assume that you shouldn't be able to be enrolled in two separate sections of the same course at once. Also, when you add the CSCI-331-03 section it's there but it doesn't list the time or the location so it doesn't show up when you're generating calendars.

Screenshot 2021-04-13 180050

dylan-cancelliere commented 3 years ago

To better illustrate, a common flow that I use (and I imagine many other people do too) is that I will add every section of a course to my cart and then whittle down my options from there. If I add every section of an online only course schedulemaker looks like this:

Screenshot 2021-04-13 181403

Whereas with a mix in person/online course it looks like this:

Screenshot 2021-04-13 180050

The key difference being that the former option generates 3 schedules for 3 sections with no overlap, and the latter generating 6 schedules for 5 sections with overlap between sections. I would expect the behavior to instead be that schedulemaker treats 336-1, 336-2, and 336-3 each as sections to chose between, or that it treats 336-1, 336-2, 336-3S1, and 336-3S2 as sections to choose between. I'm not sure what the data coming into the program looks like so it might be something out of your control, but I would guess that we should bundle the data for section 336-3 for any class that has a split option (something that looks like 336-3S1), since in SIS you can't enroll in 336-3S1 without also being enrolled in 336-3. In other words, the user shouldn't be able to add 336-3 to their cart, but the 336-3S1 section should carry the 336-3 data with it.

dylan-cancelliere commented 3 years ago

This is what leads me to believe the issue is when a class has both fully online and split offerings. If it just displays split classes, since the 336-3 section doesn't have a date/time attached to it, it doesn't show up in the calendar. But, if it were to, you would have seen this issue last semester as well (I think). Since now there are some classes going online and some in person/split, if there's a case where both happen in different sections of the same course the bug becomes apparent.

mxmeinhold commented 3 years ago

Ah, I see. This isn't a new behaviour. RIT sends us each section separately, I don't believe there's a difference in our dump between a section and an associated split section (though I haven't looked at it recently). Schedulemaker handles them all the same. You can see this with classes that have multiple lab or recitation sections.

@devinmatte would know better. I'd be interested if we had more data as of late to allow filtering that way. Otherwise, we'd have to guess based on course number.