Skip to content

Account for polymorphic major requirement blocks #263

@laggycomputer

Description

@laggycomputer

It's just been discovered that, similar to the way school requirement blocks change based on the selected major, it is also possible for major requirement blocks to change in response to ta choice of specialization.

The example observed is that the upper-division requirements for the B.S. in Applied and Computational Mathematics as of academic year 2025-2026 include a different, mutually exclusive set of upper-division requirements depending on which specialization/concentration (the words are used interchangeably here) is selected.
It is also possible to have no specialization for this major (#219).
There do exist three specializations named similarly to the major, but none of them produce a specialization block so they are not relevant, per changes in #218.
In essence, this happens:

  • The upper-division requirements which take effect when no specialization applies are included in the major requirement block.
  • Selection of the other specializtaions removes these requirements, altering the major requirement block, and adds the new requirements to the specialization block.

This means that storing one major block for all specializations in a major is no longer correct.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions