You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This RFC proposes a data model for storing programs and tracking student progress within the Nationaal Watersportdiploma (NWD) system. This model is designed to accommodate the evolving nature of water sports programs and provide a flexible framework for recording student achievements.
Note: This document outlines general concepts, deliberately omitting implementation specifics such as timestamps and audit logs for clarity.
Proposal
Program
A program represents a structured set of modules within a specific discipline, degree, and category a student can complete to achieve certification.
Discipline and Degree: A program is defined by its discipline and degree, with a one-to-many (1:n) relationship.
Category: Categories have a many-to-many (n:m) relationship with programs, meaning a program can belong to multiple categories.
Gear Type: This denotes the equipment (e.g., boat, kite, etc.) used to complete the program. The gear_type is associated with a student's program upon enrollment to ensure flexibility and relevance to the student's experience.
Curriculum
To address the dynamic nature of programs, we introduce the concept of a curriculum, which snapshots a program at a specific point in time. This ensures historical integrity and continuity for students' achievements.
Association with Gear Types: The curriculum links gear_types in a many-to-many (m:n) relationship, allowing changes over time in the equipment certified for a program.
Modules
A curriculum comprises modules, which in turn consist of competencies. Through join tables, both entities maintain a many-to-many (m:n) relationship with a curriculum.
Module Completion: The current policy is that only modules can be marked as required. However, to technically accommodate future changes, the required status is tracked at the link level between competency and module.
Progress Tracking
We track student progress by linking a student to a curriculum and recording achievements in two categories:
Completed Competencies
Achievements are stored in the student_completed_competency table and linked to a certificate.
A certificate pending issuance (with a null issued_at field) indicates ongoing progress. Once issued, the record becomes immutable.
Competency Progress
To accommodate different locations' nuanced progress tracking needs, we allow recording a progress number (>= 0 and <1) for competencies.
It is not designed for detailed monitoring of students, nor does it facilitate the sharing of progress across different locations or direct visibility of progress to the students themselves.
Implementation Status
We have begun implementing this proposal as a pilot project to evaluate its effectiveness and gather early feedback. The experimental implementation can be viewed and reviewed in our code repository. We encourage community members, contributors, and interested parties to explore the implementation details and contribute their insights or suggestions for improvement.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Introduction
This RFC proposes a data model for storing programs and tracking student progress within the
Nationaal Watersportdiploma(NWD) system. This model is designed to accommodate the evolving nature of water sports programs and provide a flexible framework for recording student achievements.Note: This document outlines general concepts, deliberately omitting implementation specifics such as timestamps and audit logs for clarity.
Proposal
Program
A
programrepresents a structured set ofmoduleswithin a specificdiscipline,degree, andcategorya student can complete to achieve certification.programis defined by itsdisciplineanddegree, with a one-to-many (1:n) relationship.n:m) relationship with programs, meaning a program can belong to multiple categories.gear_typeis associated with a student's program upon enrollment to ensure flexibility and relevance to the student's experience.Curriculum
To address the dynamic nature of programs, we introduce the concept of a
curriculum, which snapshots aprogramat a specific point in time. This ensures historical integrity and continuity for students' achievements.curriculumlinksgear_typesin a many-to-many (m:n) relationship, allowing changes over time in the equipment certified for a program.Modules
A
curriculumcomprisesmodules, which in turn consist ofcompetencies. Through join tables, both entities maintain a many-to-many (m:n) relationship with acurriculum.competencyandmodule.Progress Tracking
We track student progress by linking a student to a
curriculumand recording achievements in two categories:Completed Competencies
student_completed_competencytable and linked to acertificate.certificatepending issuance (with a nullissued_atfield) indicates ongoing progress. Once issued, the record becomes immutable.Competency Progress
Implementation Status
We have begun implementing this proposal as a pilot project to evaluate its effectiveness and gather early feedback. The experimental implementation can be viewed and reviewed in our code repository. We encourage community members, contributors, and interested parties to explore the implementation details and contribute their insights or suggestions for improvement.
You can find the current implementation here: View Implementation
Feedback on the implementation is highly valued as it will inform future adjustments and improvements to the proposed model.
Discussion
We invite the community to provide feedback on this proposal. Specifically, we seek input on the following points:
Please comment below or join our Discord to contribute to the discussion.
All reactions