Mapping Gibbon to Higher Education Structure with Programmes and Modules?

I have been investigating Gibbon for use in a (British) Higher Education context for a small seminary. I can see a way to work with most differences, but am stuck at a fundamental structural level and would welcome some advice. I’m pretty sure that our situation is considerably more flexible than those schools at which Gibbon is aimed, but I’m wondering if there are work arounds.

In our situation:

  1. Students a re In different years of attendance (1 to 3).
  2. They are taking different Degree Programmes (e.g. Diploma in Practical Theology, Graduate Diploma in Theology, etc.).
  3. Each Degree Programme consists of different Modules (e.g. Bible, Doctrine, etc.) onto which students will be enrolled.
  4. The same Module could be offered to students in different years of attendance.
  5. The same Module could be offered to students on different programmes (i.e. same Module Name, Module Code, and sitting in the same physical space at the same time).
  6. Different Modules will be at different Levels (3,4,5,6,7).

In terms of mapping this on to the Gibbon structure, I have so far done the following:

  1. Attendance Year = Year Group.
  2. Degree Programme = Course.
  3. Module = Class.
  4. Offering same Module to Different Years = Tick the different years in the Course configuration (I presume that this will make available all Classes in that Course to all years, but this is not a problem).
  5. Offering same Module to Different Programmes = ???
  6. Level = Adding it to the Module Name and Short Name.

As far as I can tell, the only problem is with point 5. Because Classes are subsets of Courses, a Course can have the same Name and Code (Short Name) but will still be considered a separate Class in Gibbon (e.g. Dip.Bible and GradDip.Bible). Therefore, is there another way of structuring things to take account of the fact that the same Module can appear in different Programmes? I’m wondering whether, for example, it would work to make Module = Course, and Programme = Class, but I suspect this might create other problems.

Sorry this is long-winded but I hope it makes sense. Thank you for your help,

Ed.

Unless anyone has a better idea (and I do hope so!), I’m now thinking that the best ‘fix’ might be to add a Custom Field to the Student which will represent the Programme they are taking (e.g. Diploma, GradDip, etc.). Then the Module can be represented by the Course, and Class will simply be a ‘repeat’ of the Course (e.g. Course = ‘Bible’ and Class = ‘Bible Class’). This would disconnect the Programme from the Module, which is unfortunate, but at least allows students on different Programmes to be assigned to the same Module (= Course.Class).

If anyone does have any better ideas, please let me know! Many thanks,

Ed.