Academic Programs, Course Units & Prerequisites
Configuring undergraduate and postgraduate degree programs, curriculum courses, lecture and lab credit splits, and multi-course prerequisite hierarchies.
Degree Programs & Faculty Offerings#
Universities organize teaching faculties through edu.program. Each program establishes the regulatory baseline required for institutional accreditation.
Program Level Classifications#
classDiagram
class EduProgram {
+Char name
+Char code
+Selection degree_level
+Integer total_credit_hours
+Integer duration_years
+Many2many course_ids
}
class EduCourse {
+Char name
+Char code
+Float credit_hours
+Float lecture_hours
+Float lab_hours
+Many2many prerequisite_ids
}
EduProgram "1" o-- "many" EduCourse : Curriculum
EduCourse "many" o-- "many" EduCourse : Prerequisites
degree_level: Selectable betweencertificate,diploma,undergraduate(B.Sc. / B.A.),postgraduate(M.Sc. / M.A. / MBA), ordoctorate(Ph.D.).total_credit_hours: Standard graduation requirement (e.g., 140 credit hours for a 4-year B.Sc. in Computer Science or Electrical Engineering).duration_years: Prescribed curriculum timeframe (e.g., 4 or 5 years).
Course Units & Prerequisite Enforcement#
Each course managed under edu.course establishes credit weighting and weekly teaching workloads:
| Field Name | Type | Description |
|---|---|---|
code | Char | Standard catalog code (e.g., CS-201, ENG-101). |
name | Char | Formal course title (e.g., Data Structures and Algorithms). |
credit_hours | Float | Academic credit value (typically 3.0 to 4.0 credit hours). |
lecture_hours | Float | Classroom theory contact hours per week. |
lab_hours | Float | Laboratory, workshop, or clinical hours per week. |
prerequisite_ids | Many2many | Prior courses that must be passed before enrollment is allowed. |
flowchart TD
P1["CS-101: Introduction to Programming<br/>(Prerequisite: None)"] --> P2["CS-201: Data Structures<br/>(Prerequisite: CS-101)"]
P2 --> P3["CS-301: Advanced Algorithms<br/>(Prerequisite: CS-201)"]
P2 --> P4["CS-305: Database Systems<br/>(Prerequisite: CS-201)"]
Important
The course registration wizard blocks any student from adding an advanced course if its listed prerequisites have not been cleared with a passing letter grade on their academic transcript.
Last updated: 2026-11-12