Science & Tech

Illustration: uSchedule Team & Dasser Kamran/Fulcrum
Reading Time: 3 minutes

uSchedule combats the difficulties associated with the U of O’s course building tool

With students enrolling for their fall and winter semesters, many have been reluctantly using the course selection tool provided by the University of Ottawa on uoZone. This tool has become notorious for being difficult to use, and having schedules that are very difficult to plan with conflicts that are hard to track.

To combat these difficulties, a group University of Ottawa students consisting of David Dearden, Andrew Nagarajah, Jon Bastien, Ivana Elrich, Sahil Tara, Hudi Friedman, and Natalia Maximo, created uSchedule, a new tool that makes building a schedule easy, and adds functionality that helps with productivity throughout the semester. 

This schedule builder allows students to select courses offered at the U of O, and view all possible schedules available. Its easy to use interface allows students to customize their weekly schedule and even introduces activities like lunch breaks to personalize their schedule.

How does it work?

By eliminating schedules with multiple classes, the tool will automatically show schedules that are possible and eliminate any that aren’t.  Being able to view your schedule before actually adding the courses not only saves time, but gives students more freedom to look into alternative course choices.

All of the classes shown on uSchedule are classes that are offered at the University of Ottawa. Most importantly, what’s called a “scrapper” will populate a database that will hold all information about when the classes are offered. 

When loading the page, a REST API (an API that gets hit by requests coming from the web) generates the schedules based on the data stored in the database. In order to create schedules that do not have any conflicts, a searching algorithm known as a breadth-first-search is used to generate proper schedules. The university’s current enrollment tool on uoZone will only show if there is a conflict once the student chooses to add a class to their schedule.

The website’s user interface was created using the popular framework bootstrap 4 in order to give the site a modern aesthetic. jQuery (a JavaScript framework used in conjunction with bootstrap) and Open Iconic (a tool to add icons to websites) were also used to boost the site’s visuals.

A need for change

Frustrating personal experiences is what sparked the team of creators to invent a new scheduling tool. A collection of issues with the U of O’s current class selection tool led to the belief that a new system was necessary. 

“Basically my issue is the inability to easily sift through possible schedules for classes that have lots of different sections with lots of different options for each section,” David Dearden said to the Fulcrum. “The school only provides a spreadsheet and says, plug some stuff in, try it out.”

Another issue brought up is the visualization issue. Erlich said a lack of visibility would cause problems.  “It’s so hard to picture what your schedule is gonna look like on uoZone until you’ve actually fully enrolled in it. You can’t even look at your options and what the possibilities are.”

For Bastien, “the most useful part of it is eliminating all the conflicts”. When adding courses, students on uoZone need to constantly check for this, and have no way to visualize if a conflict occurs.

“Trying to figure out ‘Oh, I want this section and this section and then oh, no, that that blocks off every other section, after this other class.’ That was insane, that was ridiculous,” he said.

What can students expect from future updates?

While the app is available now for students to use, the team is still working on updates whenever possible, and will be looking into any notable improvements that they can add.

Possible additions could include searching for courses using specific course levels and subject keywords, the ability to block out certain times and filtering to only show English or French sections. Others include suggested electives, listing travel time between classes, searching through interests and developing student user accounts which would allow students to be notified of any future changes, store past schedules and review any necessary prerequisites for future classes.

Having feedback from the University’s student body will help the team of creators pursue a long list of possible updates.

“One thing that I really can’t stress enough, please go on the website, fill out the feedback form, and send it into us,” said Bastien. “We read all those things, and we try our best to get those things in at some point”.

uSchedules developers advice to the U of O

“You know what, the one piece of advice that I’d have to give them is, talk to students,” said Bastien.

One of the sticking points with uSchedules development team was the uoZone developers disconnect with students’ concerns when it comes to the enrollment tool. According to them this disconnect went back to prior tools the university also used to use.

“Make sure that you talk to the people who are going to be using the app, because that’s where you’re going to know what’s wrong with it,” said Bastien.