[Proposal] Learner Calendar
Overview
The Open edX platform currently lacks an intuitive Learner Calendar, making it difficult for learners to effectively plan and manage their study schedules. This proposal aims to introduce an integrated Learner Calendar and a per-course Learner Activity Dashboard that will consolidate course timelines, deadlines, and key events into a single, easy-to-navigate interface - helping learners stay organized, improve time management, and increase overall engagement and course completion rates.
Problem
Learners lack a centralized view of all their coursesโ activities and deadlines, forcing them to manually track each course separately, which is inefficient, error-prone, and undermines time management, motivation, and engagement.
Use Cases
Learners
User Story | Acceptance Criteria |
|---|---|
As a learner, I want to enter the Learner Calendar, So that I can track all events related to courses, assigned to me. Potentially, I can navigate to each event directly from the Learner Calendar. |
|
As a learner, I want to have filtering for my Learner Calendar, So that I can quickly find information about specific courses or assignments. |
|
As a learner, I want to change the Learner Calendar view, So that I can see the course events by month, week and day. |
|
As a learner, I want to see in the Learner Calendar which assignments are already overdue and which are approaching their deadline, So that I can react in time and not miss any events. |
|
As a learner, I want to receive a workload alerts when enrolling in a new course if it coincides with a high number of exams or assignments from other courses. So that I can avoid being overwhelmed. |
|
As a learner, I want to sync important events from my courses with my personal Google Calendar, So that I will have all my plans in one place. |
|
As a learner, I want to have a Course Activity Dashboard inside the course, So that I can track all course events date at once. |
|
As a learner, I want to plan my self-paced courses, So that I will have an organized learning path. |
|
Platform Administrator
User Story | Acceptance Criteria |
|---|---|
As a platform administrator, I want to have the ability to enable and disable the Learner Calendar feature, So that I can control when it becomes available to learners and manage its rollout. |
|
As a platform administrator, I want to be able to configure parameters for workload alerts, So that I can flexibly define what is considered a โhigh numberโ of assignments in a given period and make these alerts relevant. |
|
Proposed solution
The Learner Calendar page:
Will display all courses a learner is enrolled in, presented in a calendar view that highlights key dates and milestones across courses.
Assignments with a passed deadline will be highlighted. Assignments approaching their deadline will also have a visual marker.
Each assignments can have predefined colors after implementing the Color coding feature.
Will allow learners to filter events by multiple parameters, including course name, organization, language, assignment type (homework, exam, etc.) and deadline status (such as upcoming or overdue).
Clicking on an event in the Learner Calendar will redirect the learner to the corresponding event page.
Self-paced courses will only appear in the calendar if the learner has defined a personal study schedule.
Courses that donโt have defined start or end dates will still be shown, but in a separate section from courses with scheduled timelines.
To prevent overload, the system will visually highlight days (or months) on which several exams or a large number of assignments are scheduled.
Learners will be able to access the Course Activity Dashboard page directly from an event tooltip by clicking the provided link.
Self-Study Course Schedule on the Course Outline page:
On the Course Outline page, learners enrolled in a self-paced course will have the option to set up a personalized learning schedule (Daily, Weekly, or Monthly).
For example, if a course includes five assignments and one exam, a learner may choose to distribute the assignments across several weeks - for instance, completing one assignment per week.
The Course Activity Dashboard:
Will display a detailed timeline of activities for a specific course.
The learner will have the opportunity to make an assignment deadline shift (if available for assignment).
Assignments with an overdue deadline will be marked.
All markers in the Course Activity Dashboard will have links to the corresponding course content.
Google Calendar Integration:
A buttons for Google Calendar integration will be added for Learner Calendar and Course Activity Dashboard pages.
A learner can export:
All dates from all courses.
Dates for a specific course only.
Only important events (exams, webinars) instead of all activities.
A learner can remove the dates for a specific course or all courses from their Google Calendar (Google Calendar API documentation).
Workload Alert on the Course About page:
Awaiting completion of development of new Catalog MFE.
A workload alert will be implemented on the Course About page (for unenrolled learners). If an analysis of the course schedule shows that the number of assignments or exams in a certain period (e.g., 10 exams in a single month) exceeds a set limit, a workload alert about a potentially heavy workload will be displayed to the learner. This will help the learner make an informed decision regarding enrollment. The calculation could be based on a combination of the learnerโs activity in currently enrolled courses and their engagement with the course they are planning to enroll in.
Implementation plan
Milestone 1: MVP - Learner Calendar
Implement the Learner Calendar page that aggregates events (assignments, exams, webinars, etc.) from all enrolled courses.
Display course events as interactive chips containing event names and quick navigation to the related course content.
Support multiple calendar views - Month (default), Week, Day, and Year.
Display overdue and upcoming deadlines using visual markers.
Implement filtering and search tools.
Introduce color coding for event types to visually differentiate assignments, exams, and webinars.
Milestone 2: Workload Intelligence
Implement workload logic and visualization to help learners better manage their study time.
Create a workload mechanism for days with a heavy workload.
Implement workload alerts that warn learners of heavy academic periods both in the Learner Calendar and on the Course About pages.
Milestone 3: Self-Study Course Schedule
Extend functionality to support self-paced courses with customizable study reminders.
Add support for self-paced courses, allowing learners to define custom study schedules (daily, weekly, or monthly reminders) via the Course Outline page.
Milestone 5: Course Activity Dashboard
Introduce a detailed Course Activity Dashboard that provides an in-depth view of all events within a specific course.
Create a dedicated dashboard displaying all course-related activities and milestones.
Enable navigation between the Course Activity Dashboard and the Learner Calendar.
Include a summary view of the learnerโs upcoming and completed activities.
Milestone 4: Google Calendar Integration
Add the ability to synchronize Learner Calendar events with Google Calendar so learners can manage their schedules off-platform:
Add a buttons for connecting to Google Calendar on the Learner Calendar and Course Activity Dashboard pages.
Provide learners with tools to remove imported events from their Google Calendar.
Long-term ownership and maintenance plans
Maintenance will be handled by the maintainers of the repositories where any potential changes are added.
Contact person
Peter Kulko (peter.kulko@raccoongang.com)
Optional additions
Competitive Research
Canvas: Calendar
Canvas provides a unified, cross-course calendar designed to keep learners and instructors on schedule rather than to market or โpresentโ courses. It aggregates dated items (assignments, quizzes, discussions, and ad-hoc events) into Month/Week/Agenda views with color-coded filtering, and lets users add personal reminders. Instructors can also publish time-slot sign-ups via the built-in Scheduler (Appointment Groups) so students book office hours or presentation times directly from their calendars. For portability, each user can subscribe to an iCal feed in Google/Outlook/Apple; that feed typically includes events, assignments, and even reserved Scheduler slots from their visible courses. The overall intent is operational: simplify planning, visibility, and coordination for enrolled users, not external presentation.ย
Moodle: Calendar
Moodleโs calendar is a flexible scheduling layer oriented toward course operations and institutional coordination. It supports first-class event types - Site, Course, Group, and User - so institutions can broadcast campus-wide dates, teachers can target specific cohorts or groups, and individuals can set private reminders. Activities with due dates surface automatically on the calendar and on the Dashboard Timeline, and users can move between upcoming items and the month/day views for planning. For external use, Moodle supports both export (download .ics) and subscription/import via URL, allowing calendars to be mirrored into (or pulled from) other systems with admin-tunable ranges and scopes. Like Canvas, the focus is on tracking and coordination for enrolled users; it is not meant to promote courses or serve as a catalog.
https://docs.moodle.org/501/en/Calendar
Udemy: Learning reminder
Udemy Learning Reminders are a feature designed to help learners maintain a consistent study routine and stay engaged with their courses. By providing timely notifications about upcoming study sessions, assignments, or other course activities, these reminders encourage learners to regularly allocate time for learning. This helps prevent procrastination, ensures that learners stay on track with their learning goals, and promotes steady progress throughout a course.
How to Schedule Learning Reminders on a Browser
Value & Impact
The goal of this initiative is not only to create a convenient tool, but also to significantly improve the learning process for learners, which in turn will increase the overall effectiveness of the Open edX platform. To make the impact more tangible, it can be useful to use Aspects (https://docs.openedx.org/projects/openedx-aspects/en/latest/reference/learner_groups_dashboard.html) to collect current statistics and identify relevant events that can be used to track these indicators.
We expect the implementation of the Learner Calendar to lead to the following positive changes:
Improvement in Course Completion Rate:
Before | After |
|---|---|
Learners who lack planning tools are more likely to miss deadlines and lose motivation, which leads to unfinished courses. | We expect an increase in the course completion rate. |
Reduction in Missed Deadlines:
Before | After |
|---|---|
The absence of a Learner Calendar and Learner Activity Dashboard makes it difficult to track deadlines, which leads to them being missed. | The clear visual display of deadlines will help reduce the number of overdue assignments. |
Increase in Learner Engagement:
Before | After |
|---|---|
Learners who feel disoriented due to the absence of a unified schedule may visit the platform less frequently. | We will track the increase in the frequency of visits to the Learner Calendar, Learner Activity Dashboard pages and the average number of weekly sessions on the platform as an indicator of increased engagement. |
Increase in Course Enrollment Rate:
Before | After |
|---|---|
Learners may avoid enrolling in additional courses, fearing a heavy workload. | The Learner Calendar is likely to enhance the overall learning experience by motivating learners to return to the platform after completing previous courses. As a result, a gradual increase in course enrollments can be expected. |
Enhance the user navigation
Before | After |
|---|---|
Learners may be confused to navigate to the closest event by looking it through the whole course. | The Calendar may include all the course events and user can open each event by clicking it on the Calendar. |