diff --git a/src/requirements/data/colleges/asFA2020.ts b/src/requirements/data/colleges/asFA2020.ts index 2a65b1f7f..be2e2fcfd 100644 --- a/src/requirements/data/colleges/asFA2020.ts +++ b/src/requirements/data/colleges/asFA2020.ts @@ -8,17 +8,21 @@ const casFA2020Requirements: readonly CollegeOrMajorRequirement[] = [ '100 credits in Arts & Sciences are required. ' + 'Students can take more than 20 credits outside of the College as long as they take 100 credits within; ' + 'they can also take all their credits in Arts & Sciences and accumulate more than 120. ' + - 'Note: AP, IB, and A-Level credits count toward the 120 total credits but not toward the 100 A&S credits.', + 'Note: AP, IB, and A-Level credits do not count toward this requirement.', source: 'https://as.cornell.edu/education/degree-requirements', checker: [ (course: Course): boolean => - course.acadGroup.includes('AS') || - course.subject === 'CS' || - (course.catalogDistr?.includes('-AS') ?? false), + // Note that this does not completely agree with the 120 total academic credits because that incorrectly includes courses cross-listed with PE + course.subject !== 'PE' && + !ifCodeMatch(course.catalogNbr, '10**') && + (course.acadGroup.includes('AS') || + course.subject === 'CS' || + (course.catalogDistr?.includes('-AS') ?? false)), ], fulfilledBy: 'credits', perSlotMinCount: [100], allowCourseDoubleCounting: true, + disallowTransferCredit: true, }, { name: 'First-Year Writing Seminars (FWS)', diff --git a/src/requirements/data/colleges/asPreFA2020.ts b/src/requirements/data/colleges/asPreFA2020.ts index 82ea8de79..85b4dedc2 100644 --- a/src/requirements/data/colleges/asPreFA2020.ts +++ b/src/requirements/data/colleges/asPreFA2020.ts @@ -8,7 +8,7 @@ const casPreFA2020Requirements: readonly CollegeOrMajorRequirement[] = [ '100 credits in Arts & Sciences are required. ' + 'Students can take more than 20 credits outside of the College as long as they take 100 credits within; ' + 'they can also take all their credits in Arts & Sciences and accumulate more than 120. ' + - 'Note: AP, IB, and A-Level credits count toward the 120 total credits but not toward the 100 A&S credits.', + 'Note: AP, IB, and A-Level credits do not count toward this requirement.', source: 'https://as.cornell.edu/education/old-degree-requirements', checker: [ (course: Course): boolean => diff --git a/src/requirements/decorated-requirements.json b/src/requirements/decorated-requirements.json index 1d981559b..3e77e6500 100644 --- a/src/requirements/decorated-requirements.json +++ b/src/requirements/decorated-requirements.json @@ -7396,7 +7396,7 @@ "requirements": [ { "name": "A&S Credits", - "description": "100 credits in Arts & Sciences are required. Students can take more than 20 credits outside of the College as long as they take 100 credits within; they can also take all their credits in Arts & Sciences and accumulate more than 120. Note: AP, IB, and A-Level credits count toward the 120 total credits but not toward the 100 A&S credits.", + "description": "100 credits in Arts & Sciences are required. Students can take more than 20 credits outside of the College as long as they take 100 credits within; they can also take all their credits in Arts & Sciences and accumulate more than 120. Note: AP, IB, and A-Level credits do not count toward this requirement.", "source": "https://as.cornell.edu/education/old-degree-requirements", "fulfilledBy": "credits", "perSlotMinCount": [ @@ -17460,80 +17460,16 @@ "requirements": [ { "name": "A&S Credits", - "description": "100 credits in Arts & Sciences are required. Students can take more than 20 credits outside of the College as long as they take 100 credits within; they can also take all their credits in Arts & Sciences and accumulate more than 120. Note: AP, IB, and A-Level credits count toward the 120 total credits but not toward the 100 A&S credits.", + "description": "100 credits in Arts & Sciences are required. Students can take more than 20 credits outside of the College as long as they take 100 credits within; they can also take all their credits in Arts & Sciences and accumulate more than 120. Note: AP, IB, and A-Level credits do not count toward this requirement.", "source": "https://as.cornell.edu/education/degree-requirements", "fulfilledBy": "credits", "perSlotMinCount": [ 100 ], "allowCourseDoubleCounting": true, - "conditions": { - "113": { - "colleges": [ - "AG", - "AR", - "AS1", - "AS2", - "BU", - "HE", - "IL" - ] - }, - "114": { - "colleges": [ - "EN" - ] - }, - "121": { - "colleges": [ - "AR", - "AS1", - "AS2", - "HE", - "IL" - ], - "majorsExcluded": [ - "Biological Sciences" - ] - }, - "122": { - "colleges": [ - "AG", - "AR", - "AS1", - "AS2", - "HE", - "IL" - ] - } - }, + "disallowTransferCredit": true, "courses": [ [ - 102, - 103, - 104, - 105, - 106, - 109, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 200, - 202, - 203, - 204, - 207, - 208, - 209, - 350004, - 350008, 350010, 350025, 350038, @@ -17775,17 +17711,13 @@ 351218, 351220, 351221, - 351224, 351225, 351226, 351227, 351228, - 351229, 351230, - 351232, 351233, 351234, - 351235, 351237, 351238, 351241, @@ -17965,10 +17897,7 @@ 351906, 351914, 351940, - 352007, - 352045, 352050, - 352051, 352070, 352104, 352107, @@ -18452,9 +18381,6 @@ 353937, 353938, 353939, - 353940, - 353941, - 353942, 353943, 353944, 353945, @@ -18652,8 +18578,6 @@ 355106, 355107, 355124, - 355140, - 355141, 355142, 355143, 355146, @@ -19217,14 +19141,9 @@ 359647, 359661, 359664, - 359666, - 359667, - 359668, 359671, 359682, 359688, - 359709, - 359710, 359730, 359736, 359738, @@ -19259,7 +19178,6 @@ 360396, 360404, 360452, - 360470, 360635, 360660, 360697, @@ -19272,7 +19190,6 @@ 360974, 360989, 361023, - 361027, 361049, 361059, 361065, @@ -19510,7 +19427,6 @@ 363553, 363554, 363559, - 363560, 363574, 363576, 363581, @@ -19537,7 +19453,6 @@ 363683, 363686, 363695, - 363702, 363715, 363717, 363722, @@ -20035,7 +19950,6 @@ 366577, 366585, 366586, - 366590, 366591, 366597, 366601, @@ -20161,7 +20075,6 @@ 367156, 367157, 367168, - 367175, 367177, 367178, 367187, @@ -20458,7 +20371,6 @@ 368383, 368384, 368385, - 368397, 368399, 368403, 368405, @@ -21396,7 +21308,6 @@ 370500, 370501, 370502, - 370503, 370504, 370510, 370511, @@ -137416,6 +137327,8 @@ 350275, 350323, 350331, + 350552, + 350560, 350614, 350633, 350635, @@ -137618,8 +137531,10 @@ 364447, 364463, 364471, + 364474, 364483, 364487, + 364498, 364512, 364582, 364596, @@ -137933,11 +137848,26 @@ 372356, 372384, 372385, - 372388, - 372389, 372391, 372393, - 372410 + 372410, + 372447, + 372495, + 372543, + 372574, + 372575, + 372577, + 372578, + 372579, + 372580, + 372586, + 372588, + 372630, + 372637, + 372649, + 372650, + 372668, + 372670 ] ] }, @@ -138119,6 +138049,7 @@ 368131, 368134, 368265, + 368293, 368475, 368548, 368596, @@ -138182,6 +138113,7 @@ 370569, 370631, 370656, + 370712, 370728, 370729, 371020, @@ -138214,7 +138146,11 @@ 372053, 372281, 372282, - 372284 + 372284, + 372559, + 372570, + 372676, + 372677 ] ] }, @@ -138541,8 +138477,6 @@ 355484, 355485, 355632, - 355633, - 355640, 355641, 355642, 355659, @@ -138664,7 +138598,6 @@ 368892, 369090, 369181, - 369257, 369496, 369501, 369664, @@ -138683,6 +138616,7 @@ 370420, 370556, 370875, + 370982, 371143, 371360, 371370, @@ -138691,7 +138625,8 @@ 371503, 371754, 371762, - 372046 + 372046, + 372533 ] ] }, @@ -138897,7 +138832,11 @@ 371294, 371433, 371754, - 371762 + 371762, + 372678, + 372687, + 372688, + 372692 ] ] }, @@ -139399,7 +139338,6 @@ 352706, 352707, 352712, - 352713, 352716, 352721, 352722, @@ -139490,6 +139428,7 @@ 353295, 353298, 353300, + 353301, 353302, 353304, 353306, @@ -139694,14 +139633,15 @@ 354486, 354487, 354488, - 354497, 354511, 354513, 354517, + 354521, 354524, 354526, 354532, 354533, + 354534, 354541, 354544, 354545, @@ -139824,8 +139764,6 @@ 355528, 355617, 355632, - 355633, - 355640, 355641, 355642, 355653, @@ -139907,7 +139845,6 @@ 357900, 357903, 357909, - 357914, 357915, 357919, 357922, @@ -139991,6 +139928,7 @@ 359003, 359013, 359017, + 359029, 359038, 359048, 359057, @@ -140078,7 +140016,6 @@ 359455, 359460, 359466, - 359467, 359541, 359553, 359555, @@ -140097,6 +140034,7 @@ 359688, 359706, 359730, + 359732, 359734, 359745, 359752, @@ -140183,7 +140121,10 @@ 361572, 361576, 361577, + 361598, + 361604, 361605, + 361606, 361611, 361625, 361635, @@ -140243,6 +140184,7 @@ 362690, 362707, 362708, + 362723, 362724, 362780, 362807, @@ -140317,6 +140259,7 @@ 363669, 363671, 363676, + 363677, 363678, 363683, 363686, @@ -140378,7 +140321,6 @@ 364362, 364363, 364378, - 364381, 364383, 364399, 364425, @@ -140393,6 +140335,7 @@ 364463, 364464, 364470, + 364474, 364483, 364486, 364513, @@ -140476,7 +140419,6 @@ 365210, 365225, 365235, - 365236, 365237, 365238, 365245, @@ -140503,6 +140445,7 @@ 365499, 365504, 365511, + 365525, 365544, 365549, 365569, @@ -140525,6 +140468,7 @@ 365709, 365712, 365715, + 365723, 365725, 365733, 365734, @@ -140552,7 +140496,6 @@ 365822, 365823, 365826, - 365827, 365828, 365841, 365842, @@ -140596,7 +140539,6 @@ 366202, 366208, 366209, - 366210, 366232, 366237, 366238, @@ -140645,7 +140587,6 @@ 366456, 366457, 366460, - 366470, 366478, 366528, 366530, @@ -140721,6 +140662,7 @@ 367031, 367041, 367051, + 367057, 367060, 367068, 367070, @@ -141025,7 +140967,6 @@ 368734, 368746, 368751, - 368759, 368762, 368777, 368778, @@ -141157,7 +141098,6 @@ 369237, 369238, 369241, - 369257, 369260, 369264, 369266, @@ -141278,6 +141218,7 @@ 369721, 369722, 369723, + 369740, 369741, 369746, 369753, @@ -141421,7 +141362,6 @@ 370342, 370343, 370345, - 370347, 370348, 370349, 370350, @@ -141564,6 +141504,7 @@ 370792, 370794, 370800, + 370801, 370808, 370809, 370810, @@ -141597,11 +141538,11 @@ 370936, 370937, 370941, - 370956, 370965, 370966, 370967, 370971, + 370982, 370986, 370987, 370988, @@ -141639,9 +141580,9 @@ 371106, 371108, 371116, - 371117, 371120, 371122, + 371124, 371126, 371141, 371143, @@ -141684,6 +141625,7 @@ 371358, 371360, 371361, + 371365, 371369, 371370, 371372, @@ -141714,7 +141656,6 @@ 371449, 371451, 371452, - 371453, 371454, 371455, 371458, @@ -141745,6 +141686,7 @@ 371555, 371566, 371568, + 371569, 371570, 371572, 371576, @@ -141793,6 +141735,7 @@ 371749, 371750, 371754, + 371755, 371762, 371778, 371781, @@ -141821,11 +141764,12 @@ 371943, 371944, 371947, + 371970, 371977, 371983, 371987, 371988, - 371989, + 371991, 371993, 371994, 371995, @@ -141847,7 +141791,9 @@ 372023, 372028, 372029, + 372030, 372046, + 372056, 372057, 372058, 372059, @@ -141862,7 +141808,8 @@ 372070, 372071, 372072, - 372073, + 372089, + 372092, 372103, 372112, 372124, @@ -141897,10 +141844,13 @@ 372253, 372254, 372257, + 372261, 372263, 372292, 372295, + 372297, 372298, + 372300, 372310, 372313, 372315, @@ -141909,13 +141859,57 @@ 372356, 372361, 372362, + 372363, + 372369, 372370, 372391, 372393, 372410, 372414, 372415, - 372423 + 372423, + 372434, + 372441, + 372444, + 372447, + 372473, + 372474, + 372476, + 372477, + 372478, + 372479, + 372480, + 372481, + 372482, + 372483, + 372485, + 372493, + 372494, + 372495, + 372496, + 372500, + 372531, + 372532, + 372533, + 372539, + 372543, + 372551, + 372553, + 372554, + 372560, + 372561, + 372563, + 372567, + 372568, + 372574, + 372575, + 372577, + 372583, + 372585, + 372586, + 372592, + 372606, + 372646 ] ] } diff --git a/src/requirements/requirement-frontend-computation.ts b/src/requirements/requirement-frontend-computation.ts index 381efddde..72d5ddbf7 100644 --- a/src/requirements/requirement-frontend-computation.ts +++ b/src/requirements/requirement-frontend-computation.ts @@ -51,21 +51,22 @@ const getTotalCreditsFulfillmentStatistics = ( id: 'College-AS1-total-credits', description: '120 academic credits are required. ' + - 'PE courses and courses numbered 1000-1099 do not count towards the 120 credits. ' + + 'AP, IB, and A-Level credits count toward this requirement, but PE courses and courses numbered 1000-1099 do not. ' + 'Repeated courses may not apply to this requirement, but we do not check this.', source: 'http://courses.cornell.edu/content.php?catoid=41&navoid=11570#credit-req', }; break; - // case 'AS2': - // requirement = { - // ...requirementCommon, - // id: 'College-AS2-total-credits', - // description: - // '120 academic credits are required. ' + - // 'PE courses and courses numbered 1000-1099 do not count towards the 120 credits.', - // source: 'http://courses.cornell.edu/content.php?catoid=41&navoid=11570#credit-req', - // }; - // break; + case 'AS2': + requirement = { + ...requirementCommon, + id: 'College-AS2-total-credits', + description: + '120 academic credits are required. ' + + 'AP, IB, and A-Level credits count toward this requirement, but PE courses and courses numbered 1000-1099 do not. ' + + 'Repeated courses may not apply to this requirement, but we do not check this.', + source: 'https://courses.cornell.edu/content.php?catoid=45&navoid=17977#credit-req', + }; + break; case 'HE': requirement = { ...requirementCommon,