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.
1. Make your codes a fixed length.
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.
2. Consider whether you need a campus code prefix.
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).
3. Clearly show the stage or year level associated with the class.
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:
- RE for red
- GR for green
- YE for yellow
- BL for blue
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:
- RG for red+green
- GY for green+yellow
- YB for yellow+blue
- RY for red+green+yellow
- GB for green+yellow+blue
- RB for red+green+yellow+blue
4. Put a faculty/learning domain identifier in your codes.
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:
- E for English
- P for Performing Arts
- R for Religious Education
- S for Science
5. Subject codes should be readable.
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).
- LIT for Literature
- MPG for Music Performance - Group
- TTR for Texts and Traditions
- PHY for Physics
6. Include a class identifier after the subject code.
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:
- 01 for the first LIT class
- 02 for the second LIT class
7. Finally, add a semester suffix to the code if your classes change between semesters.
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:
- a - in semester 1 only
- b - in semester 2 only
- z - in both semester 1 and semester 2
The end result
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:
- 207PMPG01z - Year 7 Music Performance (Group) class number 1, at campus 2, running across both semesters.
- 111ELIT02a - Year 11 English Literature class number 2, at campus 1, running in semester 1 only.
The example provided here is what I would consider best practices because it:
- Is easily read by persons familiar with the coding system;
- Is clearly documented; and
- Can be interpreted by data services consistently and accurately.
Cover photo by Artem Maltsev on Unsplash.