When it comes to course content (pages, files, assignments) we should not have to start from scratch uploading files with every new Class and Term.

Ideally, we should only make the effort of creating the 'perfect' course content once, and then find this preloaded and ready to use ‐ year after year.

Of course, we still want to have the flexibility to make adjustments to the course content and how it will be delivered for each Class we teach.
For example, a topic which took one week to cover with one group of students may need two weeks with the next, or we may decide to skip some content to add something else which is more topical for a particular year.

The standard solution with most Learning Management Systems is to create new copies of all the content for each new Class, which means that changes made to the content for one Class can never affect other Classes.

There are two downsides to this approach:

  1. At the start of each new Class we have to go and manually re-create our content. This can be made easier by having the ability to copy from a previous course or import from a saved one, but it still requires our time and attention at the start of each Class.

  2. There is no way to make improvements to our content and have these changes automatically apply to all past, current and future Classes. In other words, there is no incentive to keep refining our content from one year to the next, since everything is treated as being 'single-use' for each group of students.

Beebop's approach to course content

To have content that can be edited for each Class without affecting others, and also edited in such a way that it changes everywhere when required, Beebop creates a distinction between the list of contents (editable for each Class) and the actual content (editable for ALL classes at once).

In other words, what is editable and unique for each Class is the Table of Contents which links to unique pages, files and assignments. Rather than editing directly a page to fit our current Class, we choose whether to have this page or not, and whether to include additional pages to fill any gaps in the original content.

Note also that most topical content can be dropped in the Class Channel, further reducing the need to directly editing the Pages.

Editing that affect one Class at a time

For each new Class that is created, a new version of this choice and arrangement of content is created, and the Main Tutor can accept it as it is and start working straight away, but can also choose to make changes at any point during the year, adding or removing pages, files and assignments, and changng the order in which they are presented.

If these changes are considered an improvement worth carrying over to the next Class, this version can become the next Master version; otherwise the version of content created for the next Class will still be based on the original Master version, ready to use without having to worry about undoing changes made to the current version.

Note that it is also possible to have multiple classes pointing to the same version of content; for example, we may be teaching two distinct Classes for the same Module in the same Term, and we do not want to maintain separate versions of content for each Class.

Editing that affects all Classes

Pages: since ALL the content versions that use a certain page are actually pointing to the same one file, the author / owner of this content is able to continue making progressive enhancements, correcting mistakes, fixing dead links, and these will instantly apply to all the Classes which included this page in their Table of Contents.

Files: there is no automatic way to replace a file everywhere this may be in use. In we have a new version of a file which we want to use instead of one that is already part of one or multiple versions of content, we will have to edit each one to replace it manually.

Assignments: note that editing assignments is only possible for as long as no student has submitted work or a grade has been entered; in this case any edit or improvement should be done by creating a brand new assignment, and the Master version for all the affected Modules should be updated to use the new assignment instead of the old one.