Skip to content

Conversation

@HwijungK
Copy link
Contributor

@HwijungK HwijungK commented Jan 4, 2026

Description

Processed the withArray property which may come with each course/course range when scraping DW. within the withArray may be a element specifying that the course must have a certain amount of units. The AuditParser will now filter out courses that will never meet the requirement. Courses that can be taken for variable units are included if the said course can theoretically be taken for a valid amount of units.

Future Issues:

withArray contains more specifications other than course units. specifications include:

DWCREDIT(S) - number of units a class is taken for, used to modify ranges of courses or specify units chosen when a course can have varying units

DWTERM - taken before or after a certain term (i.e Fall 2025), probably used when degree requirements change, but people who have already taken a course that used to apply get a pass

DWTITLE - qualifiers for a course (com lit 107 with a focus in Middle East for Armenian Studies Minor or course in BME 1@@ that is “upper-div” in MechE (not sure why being > 100 doesn’t automatically mean upper div?)). Also, many east asian language/culture degrees have DWTITLE “<>” “[Placement@, Excempt@]”. Not sure what this means.

DWLOCATION - only found in upper div writing wher “DWLOCATION “<>” “T” - not sure what that means. Maybe its saying it has to be a upperdiv writing course corresponding to the major?

Full Log of which degrees are effected by a withArray

Most of these codes specify that a course may or may not be taken for a requirement, depending on certain conditions. We should find a way to convey this when returning degree requirements but this likely is breaking change

Related Issue

#270

Motivation and Context

our Degree Requirement endpoints were returning incorrect courses that cannot be used to fulfill a requirements.

How Has This Been Tested?

ran scraper locally and insured courses were being correctly filtered in requirements that contained withArray.
scraped and logged every major, minor, and specialization that had a withArray with a DWCREDIT/DWCREDITS code and tested that the correct courses were returned in requirements with varying operations (<, =, >, >=) from varying degrees (minor, major, spec). Additionally, had script to log all wrong courses found (not including those in exceptions, but theres only 1 of those and it was checked manually)

Screenshots (if appropriate):

manual checking notes
image

some automated testing
image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code involves a change to the database schema.
  • My code requires a change to the documentation.

@laggycomputer
Copy link
Member

send diff on what programs change requirements after this and why that's correct

thank you very cool

@HwijungK HwijungK changed the title fix(degreeworks-scraper): filter valid course unit requirements fix(degreeworks-scraper): filter valid course unit requirements Jan 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants