"Course" is a "plan of study" usually leading to an exam or assessment. Course helps users to get the latest information on the subject and facilitates the user by evaluating his learning using assessments. Though Course from a platform standpoint is nothing but collections. There is a special recognition for courses as it has very extensive use cases of training, and learning.
A few important aspects of Courses are -
Batch is a time frame under which users can be enabled to consume certain content. In order to facilitate the user's consumption of courses. Platform enables the creator of the course to create multiple batches to access the course. Every batch has startDate and endDate for which batch user's can be permitted to consume courses. Platform strictly enforces the rule of batches for courses to be consumed by the users. All the reports generated are based on users of a particular batch.
A user's learning capability can be measured based on assessments (nothing but question sets). User's performance in the assessment and its related metadata is persisted to generate multiple reports and dashboards. User's performance in the assessment can be rewarded using certificates etc.
User's learning with course is aided by dynamic course progress computation. There are several business rules that can be enforced by the creator for criteria of completion. Enables the user to understand the progress of his course learning. Score reports, Assessment Attempts, and other related information are readily available on the platform.
User's progress and scores are computed as "Content State" API and the data is used to generate multiple aggregates such as course consumption reports of batch, content, location, etc.
The above capabilities of Launch Courses are derived from components of Sunbird Knowlg. You can find details by clicking on the link here