Coding a school timetable isn't likely to be one of your favourite jobs. Even if it is, often we come across schools that haven't put a whole lot of thought into how they shape the subject/course or class codes in their timetable.
It's critical to make sure your timetable codes are well thought out, as they are used in more places and systems than you probably realise. In the case of Intellischool, we often use timetable codes to fill the gaps that some student/management information systems have in their data models.
This guide is designed to help you choose the best timetable coding system for your school.
Before we get too stuck in to anything, for goodness sake: make your codes a fixed length. I've come across schools that have timetable codes that vary between 5 and 15 alphanumeric characters long - it's a headache for everybody involved. For the love of God, please make sure your codes are all the same length.
In this example, we're going to stick to codes that are 10 characters long.
Not every school has multiple campuses, but if you do, consider using a campus code prefix. A good example of when not to use a campus code prefix is a school with three campuses, but none of the year levels between them cross over.
If you have two or more campuses that share the same year levels, it's best to add a campus prefix.
Keep your campus prefix as short as possible (1 or 2 characters).
If your school groups classes by age - the classic "year level" model - this might be as simple as prefixing your codes with 07 (for a Year 7 class), 11 (for a Year 11 class), and so on.
Sometimes schools use other stage types - or "vertical" groupings - that might include students from multiple year levels. In this example, we'll use red, green, yellow and blue as our stage names:
In the past I've come across schools that assign multiple groups to a single class code - say red and green. If you're doing this, do not tack on both RE and GR in the code, create a new code that represents the combination you're creating whilst being careful not to create duplicates. For example:
Faculties/learning domains are often overlooked in timetable codes, but including them can save you a great deal of time later on if you want to aggregate data to a faculty level.
In our case, we're going to use a single character to designate the faculty associated with the timetable code. You may wish to use more characters than this, but as always, try to keep it as brief as possible. Consider these examples:
Subject codes are about the only part of the code that absolutely should be recognisable. In our imaginary school, we're going to use 3 character codes, but you may wish to use longer ones (I would recommend no more than 5 characters).
If you will have more than one class of any subject, you should include a class identifier after the subject code. I'd recommend a two-digit numeric code:
If any of the classes at your school only run for a single semester, you should add a semester suffix to all of your class codes.
In this set of examples, I'm going to use a single alpha character to designate whether a class runs:
After all your hard work, you will end up with a code that is structured something like this:
This coding solution might not suit everybody - so if you need to add or remove certain components through your own planning process, go for it! Just remember to make your code structures consistent.
Here are some example codes:
The example provided here is what I would consider best practices because it:
Cover photo by Artem Maltsev on Unsplash.