Exclusive courses#362
Draft
HwijungK wants to merge 8 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Overview of Course Exclusivity
Course exclusivity (and non-exclusivity) follows the DegreeWorks qualifiers pattern (see #350 for detail). By default, all courses are assumed to be exclusive (you cannot use it to fullfill multiple requirements). a NONEXCLUSIVE qualifier marks that classes that are found in the associated requirement can be used in other blocks that are specified in the qualifier.
For example:
The courses used in '11 Upper-Div Electives' can be shared with this block (major in comp sci). Thus, these classes can be shared with '2 Projects Courses' which is another requirement in this block. For example, COMPSCI 114 which is in both requirements can be shared. Note that the '2 Projects Courses' requirement doesn't have a non-exclusive qualifier.
Notice this qualifier is found in the header, instead of inside a specific requirement. This qualifier applies to the entire specialization, and states that any course taken for the specialization in algorithms can also be used for any other major (including the parent major, computer science). COMPSCI 165, which can be taken for the specialization will therefor also apply to '11 Upper-Div Electives' and '2 Project Courses' in the major block.
Remember all courses are exclusive by default, and can become non-exclusive with the qualifier. If there is a non-exclusive qualifier in the header, all courses in the block are non-exclusive. However, with a EXCLUSIVE qualifier in a requirement of a block that contains a NONEXCLUSIVE hear qualifier, that specific block opts out of the NONEXCLUSIVE qualifier. This pattern is only seen in the aerospace engr and mechanical engr majors.
List of variants of exclusive and non-exclusive qualifiers
HighPriority, LowPriority, and LowestPriority might be used to determine which requirement a class will apply to if it can only be used in one
This is only seen for the electives in a double major between ME and aerospace
electives for one major cannot be from a core class in the other major
This overrides the ShareWith (Major) found in the header of both majors
DW splits the technical electives into 2 requirements (4 units in ENGRE and 8 units from a wider category)
here the core class of the other major has no priority qualifier, the 4 units in ENGRE has a low priority qualifier, and the 8 units requirement have lowest priority
the specialization that have special exceptions inside Scraper.ts is also found as an other block, hinting that this might be something worth looking into
no idea what these are. may be worth further investigations|
Related Issue
DegreeWorks Qualifier issue #350 , specifically issue #296.
Motivation and Context
see #296
How Has This Been Tested?
Screenshots (if appropriate):
Types of changes
Checklist: