Use course tagging for flexible reporting and filtering

Scheduling season is upon us and do we have wonderful news for you (you being our ofCourse admins that is). This will be the third month in a row I am tempted to begin by saying, "If you liked last month's update, you are going to LOVE this one!" But I'm not going to say that. Instead, I am going to tell you that we are ending 2017 with our most impactful update thus far and closing the year in high fashion. This means our existing admins will enter this year's scheduling season better equipped than ever, and they were already rounding the corner in a super-charged Maserati, so it's starting to look even more unfair than it did just six months ago. If there is a dour part to the story, it is that the feature's working name, Course Tagging, doesn't properly celebrate its full pulling power.

The first thing to note is we are adding another dimension to your Course Controls, and you will now have three dials to guide your courses' core behavior: Course Type, Course Genre, and new to the party, Course Tagging. Each of these levers does a unique thing for you and your schedule. In that everyone who is not me doesn't dream, doodle and delight in scheduling as much as I do, let me take a moment to review the two prior controls before introducing our new member.

First, the Course Type setting allows you to apply unique rules to a course. A typical example is putting all of your cohorted courses (e.g., First Year) into a common Course Type. Then we can tell the system that any course included in this bucket needs to have a section assigned to it (AND the brain knows to protect those sections from overlap). Another use of the Course Type switch might be to protect when a class can happen. Sometimes a school might say that Seminars must take place on Tuesday and Thursday afternoons. In that scenario, we would place all such classes into a, say, Seminars Course Type and write rules to direct those classes to the anointed time blocks.

Your next control is the Course Genre, and it is every bit as vital but plays an entirely different role. Your Genres protect your course diversity. This is accomplished by establishing Genres (e.g., Tax, International Law, Commercial) and then assigning Genres to their pertinent classes, noting that a class may have multiple Genres connected to it as the case sometimes requires. Then when the algorithm does its sorting work, it strives to keep same-genred classes from being scheduled at the same time. At day's end, this is one of the most fundamentally critical features of the ofCourse system.

But now we are adding a third course-centric workhorse to the scene--Course Tagging. Course Tags will serve two primary functions. First, they will allow an admin to track their courses in a more diverse and granular way. For instance, want to see all the classes that have an Intensive Writing component. Just create an Intensive Writing Tag and attach it to all classes that apply. Or maybe it is not a class quality but classes that are part of a particular program. Same thing. Just make a Tag that identifies the program and attach all the classes in that program to the aptly named Tag. Then you will be able to filter your schedule by that Tag, limiting the output to just those courses. A huge thing to note here is that the school admin is the one naming and controlling these Tags which means the end-possibilities of how they can leverage this feature is near limitless.

The second and possibly more exciting ability is the admins will now be able to create filtered views for public consumption! (!!!!) Right now an admin can share a polished schedule with their administration, their faculty, and even their student body but it has always been just that, the schedule, the whole unadulterated schedule. Now they will be able to share that schedule but allow these audiences to filter and customize their views in a variety of ways, ways that each admin can define to their liking. Further, the admin can proactively set these views and invite people to a pre-filtered schedule (most perfect for website linking).

Wading a bit deeper into the weeds, it is worth noting that the Tags have reasonably granular settings. For example, you can say every time this class is ever offered, apply this Tag to it. Or you can employ the Tags in a more situational manner where you assign a Tag, not at the course level but assign them at the Faculty-Course level. Meaning you might be offering five sections of the class, but only three of them share a particular tagged characteristic. For instance, of those five sections, perhaps only three of them meet the Intensive Writing requirement so you'd flag just those three sections and leave the other two untagged.

Another configurable control is the admin can dictate if Tags are publicly accessible. This allows them to reserve some Tags for internal use only. Thus, they can establish a set of purely functional tags that just they and their other schedule admins will see and have another set of Tags for public consumption.

And, just in case all of that wasn't enough, all of the established tags will be included in your text export so they can be made part of your subsequent import into your parent system. Let's call that the cherry on top.

The ability to Tag courses is a simple concept, but I predict our implementation will prove to be a fast fan-favorite. I also predict our admins will use this new Course Tagging feature in both predictable and delightfully creative ways, giving it the potential of becoming one of the more versatile tools in our system's rich soil. In short, if our users like this update half as much as we like it, I think we've got another easy winner on our hands.

As always, see you on the scheduling pitch (and quite soon at that).


Troy Dearmitt

Troy is the CTO & Co-founder at ofCourse.

Subscribe to the blog for
university schedule makers