Skip to content

GPA Improvement suggestions incorrectly include exempted ("M") courses #57

Description

@konnn04

Describe the bug

The GPA improvement suggestion feature incorrectly includes exempted courses (graded as "M") when calculating the required GPA improvement plan. As a result, the suggested plan recommends improving more courses than necessary, causing the projected GPA to exceed the selected target.

To Reproduce

  1. Open the Student Extension and log in.
  2. Go to the Grades page and export your transcript as an Excel file.
  3. Open the Extension Dashboard and navigate to Grade Planning.
  4. Import the exported transcript using the Manual Import feature.
  5. Click the mascot in the bottom-right corner to open the Improvement Suggestions panel.
  6. Select any higher target level, such as Good or Excellent.

Expected behavior

Courses marked as "M" (Exempted / Waived) should not be included in the GPA improvement calculation because they do not contribute to GPA changes.

The suggestion algorithm should only consider courses with valid GPA grades that can actually be improved, and stop once the selected target GPA is reached.

Actual behavior

The improvement calculation also counts courses with the "M" grade as improvable courses.

As a result, the algorithm continues selecting additional courses even after the target GPA (e.g. 3.60 for the Excellent target) has already been achieved, producing an overestimated improvement plan.

Screenshots

Image

Desktop

  • OS: Windows
  • Browser: Google Chrome
  • Extension Version: 2.0.0

Additional context

This issue only affects the GPA improvement suggestion logic. The imported transcript is correct; the calculation incorrectly treats exempted ("M") courses as eligible for GPA improvement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfunctionA bug that affects a feature, causes it to behave incorrectly, or disrupts the application

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions