Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Anthropology Major #869

Merged
merged 3 commits into from
Nov 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/data/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import engineeringRequirements, { engineeringAdvisors } from './colleges/en';
import humanEcologyRequirements, { humanEcologyAdvisors } from './colleges/he';
import ilrRequirements, { ilrAdvisors } from './colleges/il';
import aemRequirements, { aemAdvisors } from './majors/aem';
import anthrRequirements, { anthrAdvisors } from './majors/anthr';
import asRequirements, { asAdvisors } from './majors/as';
import astroRequrements, { astroAdvisors } from './majors/astro';
import bioRequirements, { bioAdvisors } from './majors/bio';
Expand Down Expand Up @@ -145,6 +146,13 @@ const json: RequirementsJson = {
advisors: aemAdvisors,
abbrev: 'AEM',
},
ANTHR: {
name: 'Anthropology',
schools: ['AS1', 'AS2'],
requirements: anthrRequirements,
advisors: anthrAdvisors,
abbrev: 'Anthr',
},
AS: {
name: 'Atmospheric Science',
schools: ['AG'],
Expand Down
108 changes: 108 additions & 0 deletions src/data/majors/anthr.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
import { CollegeOrMajorRequirement, Course } from '../../requirements/types';
import {
ifCodeMatch,
courseMatchesCodeOptions,
includesWithSingleRequirement,
includesWithSubRequirements,
courseMeetsCreditMinimum,
courseIsFWS,
} from '../../requirements/checkers';
import { AdvisorGroup } from '../../tools/advisors/types';

const anthrRequirements: readonly CollegeOrMajorRequirement[] = [
{
name: 'Sociocultural, Archaeological, and Biological Anthropology',
description:
'One course of 3 or more credits in each of the three subfields (sociocultural, archaeological, biological) from the list below.' +
elizabeth-tang marked this conversation as resolved.
Show resolved Hide resolved
'Sociocultural - ANTHR 1400, ANTHR 2400, ANTHR 2421, ANTHR 2468.' +
'Archaeological - ANTHR 1200, ANTHR 2245, ANTHR 2430, ANTHR 2729.' +
'Biological - ANTHR 1300, ANTHR 2310.',
source: 'https://courses.cornell.edu/preview_program.php?catoid=55&poid=28110',
checker: includesWithSubRequirements(
['ANTHR 1400', 'ANTHR 2400', 'ANTHR 2421', 'ANTHR 2468'],
['ANTHR 1200', 'ANTHR 2245', 'ANTHR 2430', 'ANTHR 2729'],
['ANTHR 1300', 'ANTHR 2310']
),
fulfilledBy: 'courses',
perSlotMinCount: [1, 1, 1],
slotNames: ['Sociocultural', 'Archaeological', 'Biological'],
},
{
name: 'Introduction to Anthropological Theory',
description: 'ANTHR 3000',
source: 'https://courses.cornell.edu/preview_program.php?catoid=55&poid=28110',
checker: includesWithSingleRequirement('ANTHR 3000'),
fulfilledBy: 'courses',
perSlotMinCount: [1],
slotNames: ['ANTHR 3000'],
},
{
name: 'Two 3000-level Courses',
description: 'Two other courses of at least 3 credits at the 3000-level.',
source: 'https://courses.cornell.edu/preview_program.php?catoid=55&poid=28110',
checker: [
(course: Course): boolean => {
const { catalogNbr, subject } = course;
return (
ifCodeMatch(subject, 'ANTHR') &&
!courseMatchesCodeOptions(course, ['ANTHR 3000']) &&
ifCodeMatch(catalogNbr, '3***') &&
courseMeetsCreditMinimum(course, 3)
);
},
],
fulfilledBy: 'courses',
perSlotMinCount: [2],
slotNames: ['Course'],
},
{
name: 'Two 4000-level Courses',
description:
'Two 4000-level courses of at least 3 credits each, one of which must be a seminar course in your senior year with a research paper or project component (ANTHR 4263 is not a seminar course and does not fill the requirement).',
source: 'https://courses.cornell.edu/preview_program.php?catoid=55&poid=28110',
checker: [
(course: Course): boolean => {
const { catalogNbr, subject } = course;
return (
ifCodeMatch(subject, 'ANTHR') &&
ifCodeMatch(catalogNbr, '4***') &&
courseMeetsCreditMinimum(course, 3)
);
},
],
checkerWarning:
'We do not check if a course is of seminar style with a research paper / project component.',
fulfilledBy: 'courses',
perSlotMinCount: [2],
slotNames: ['Course'],
},
{
name: 'Two Elective Courses',
description:
'An additional two elective courses of at least 3 credits each, which may be in cognate disciplines with the approval of your advisor.' +
'No S–U credits or First-Year Writing Seminars may count towards this requirement (or indeed the major).',
source: 'https://courses.cornell.edu/preview_program.php?catoid=55&poid=28110',
checker: [
(course: Course): boolean => {
const { subject } = course;
return (
ifCodeMatch(subject, 'ANTHR') &&
!courseMatchesCodeOptions(course, ['ANTHR 3000']) &&
!courseIsFWS(course) &&
courseMeetsCreditMinimum(course, 3)
);
},
],
checkerWarning:
'We do not check that a given discipline is cognate and would be approved by your advisor.',
fulfilledBy: 'courses',
perSlotMinCount: [2],
slotNames: ['Course'],
},
];

export default anthrRequirements;

export const anthrAdvisors: AdvisorGroup = {
advisors: [{ name: 'Brett Preston Jr', email: 'bp454@cornell.edu' }],
};
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@ Array [
"Major-AEM-Management Requirements",
"Major-AEM-Quantitative Methods Elective Requirements",
"Major-AEM-Quantitative Methods Requirements",
"Major-ANTHR-Introduction to Anthropological Theory",
"Major-ANTHR-Sociocultural, Archaeological, and Biological Anthropology",
"Major-ANTHR-Two 3000-level Courses",
"Major-ANTHR-Two 4000-level Courses",
"Major-ANTHR-Two Elective Courses",
"Major-AS-Basic Physical Sciences",
"Major-AS-Computer Science",
"Major-AS-Core",
Expand Down
Loading
Loading