[Proposal] Learner Calendar

[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

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.

  • The learner can enter the Learner Calendar page by clicking the โ€œCalendarโ€œ button on the header menu.

  • By default, the calendar is displayed by the โ€œMonthโ€ grid.

  • The Learner Calendar should display all events from all courses that learner is enrolled in.

    • All the events are displayed as chips with the event name.

  • The learner can enter the event by clicking the event chip.

As a learner, I want to have filtering for my Learner Calendar,

So that I can quickly find information about specific courses or assignments.

  • The Learner Calendar should display the course event chips according to the selected filter.

  • The learner can filter all the events by courses, assigned to them.

  • The Learner Calendar should perform the filtering dynamically.

As a learner, I want to change the Learner Calendar view,

So that I can see the course events by month, week and day.

  • Learner can change the Learner Calendar view by selecting the following options:

    • Day

    • Week

    • Month - selected by default

    • Year

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.

  • When the course events are approaching the deadline (N days before deadline), the warning icon should be displayed on the course event chip.

  • When the course events are overdue, the overdue icon should be displayed on the course event chip.

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.

  • The system should send an email to learner when a high number of exams or assignments will appear in specific period.

  • The system should display a message on the Learner Calendar when a high number of exams or assignments will appear in specific period.

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.

  • 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).

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.

  • 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 Chart will have links to the corresponding course content.

As a learner, I want to plan my self-paced courses,

So that I will have an organized learning path.

  • The learner can add a course schedule for self-paced courses inside the โ€œCourse Outlineโ€ page.

  • The learner can set the frequency of the reminders for the course events:

    • Daily

    • Weekly

    • Monthly

  • When the learner submits the reminders frequency for the course events, the course events should be visible on the Learner Calendar according to the selected frequency.

Platform Administrator

User Story

Acceptance Criteria

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.

  • The platform administrator can enable/disable the Learner Calendar functionality in the Django Admin Panel.

  • The Learner Calendar functionality should be enabled/disabled for all users across the LMS.

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.

  • The platform administrator can enable/disable the Learner Calendar functionality in the Django Admin Panel.

  • The updated โ€œhigh numberโ€ of assignments should be visible for all students on the Learner Calendar.

Proposed solution

  1. 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.

  2. 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.

  3. The Course Activity Dashboard:

    image-20250902-122536.png
    1. Will display a detailed timeline of activities for a specific course.

    2. The learner will have the opportunity to make an assignment deadline shift (if available for assignment).

    3. Assignments with an overdue deadline will be marked.

    4. All markers in the Course Activity Dashboard will have links to the corresponding course content.

  4. Google Calendar Integration:

    1. A buttons for Google Calendar integration will be added for Learner Calendar and Course Activity Dashboard pages.

    2. A learner can export:

      • All dates from all courses.

      • Dates for a specific course only.

      • Only important events (exams, webinars) instead of all activities.

    3. A learner can remove the dates for a specific course or all courses from their Google Calendar (Google Calendar API documentation).

  5. 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.ย 

image-20251008-190624.png

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

image-20251020-144113.png

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

image-20251023-141319.png

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

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

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

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

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

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.