:Module
Context: object.informational.education.module
An Educational Module is a comprehensive set of educational activities, meticulously designed to achieve specific learning objectives. It can be a course, a seminar, a workshop, or any other structured educational experience. Modules can have their parent module, thus forming a nesting structure. This helps represent complex educational programs in universities or schools. Each module is unique and is identified by a unique code. The duration of the module is measured in hours. The area of knowledge and the subject of study are also specified for each module. The level of the module indicates the complexity and the depth of knowledge required to undertake the module. The points system used in the module is also specified. The location of the module indicates whether it is conducted online, in person, or in a mixed format. The module also specifies for whom it is organized and who organized it. If the module is part of a larger module, the parent module's code is also specified.
Data structure
| Field | Type | Description | Mandatory | Reference |
|---|---|---|---|---|
| moduleType | Enum | Type of the module (e.g., Course, Seminar, Workshop) | Yes | |
| code | String | Unique code of the module | Yes | |
| duration | Number | Duration of the module in hours | Yes | |
| area | String | Area of knowledge covered by the module | No | |
| subject | String | Subject or field of study for the module | Yes | |
| teachers | Array of String | Teacher that is holding the module | No | |
| level | Enum | Level of the module (e.g., Beginner, Intermediate, Advanced) | No | |
| pointsSystem | String | Points system used in the module | No | |
| creditsValue | Number | Value of the module in credits | No | |
| location | Enum | Location of the module (online, in person, mixed) | Yes | |
| organizedFor | CDID | Actor for whom the module is organized | No | |
| organizedBy | CDID | Actor who organized the module | No | |
| parentModule | CDID | Code of the parent module, if applicable | No |
Example
{
"moduleType": "Course",
"code": "CS101",
"duration": 40,
"area": "Computer Science",
"subject": "Introduction to Programming",
"teachers": ["Professor John Doe"],
"level": "Beginner",
"pointsSystem": "Grading",
"creditsValue": 3,
"location": "Online",
"organizedFor": "3f293f29-4466-4607-8bd8-6f202e2b8e51",
"organizedBy": "b7d6e1e8-669a-4e33-b3d6-1b0bfa2c8791",
"parentModule": "3f293f29-4466-4607-8bd8-6f202e2b8e51"
}
Enums
These are the proposed enum values for the Level, Location, and ModuleType fields:
Level
enum Level {
Beginner = 'Beginner',
Intermediate = 'Intermediate',
Advanced = 'Advanced'
}
Location
enum Location {
Online = 'Online',
InPerson = 'InPerson',
Mixed = 'Mixed'
}
ModuleType
enum ModuleType {
Course = 'Course',
Seminar = 'Seminar',
Workshop = 'Workshop',
Lecture = 'Lecture',
Lab = 'Lab',
Tutorial = 'Tutorial',
Project = 'Project',
Thesis = 'Thesis',
Internship = 'Internship',
Practicum = 'Practicum',
SelfStudy = 'SelfStudy',
OnlineCourse = 'OnlineCourse',
MOOC = 'MOOC',
Bootcamp = 'Bootcamp',
Specialization = 'Specialization',
DegreeProgram = 'DegreeProgram',
CertificationProgram = 'CertificationProgram',
TrainingProgram = 'TrainingProgram'
}