# =============================================================================
# Northeastern University - Bachelor of Science in Computer Science (Boston)
# nuanalytics Schema Format | Catalog 2025-2026
# =============================================================================
# Source: https://catalog.northeastern.edu/undergraduate/computer-information-science/computer-science/bscs/
# Validated with nuanalytics:validate_degree tool
# =============================================================================

degree:
  id: neu-khoury-bscs-boston
  institution: Northeastern University
  program: Bachelor of Science in Computer Science (Boston)
  catalog_year: "2025-2026"
  source_url: https://catalog.northeastern.edu/undergraduate/computer-information-science/computer-science/bscs/
  total_credits: 134
  gpa_minimum: 2.0
  gpa_major: 2.0
  grade_minimum: "D-"
  major_subjects: [CS, CY, DS, IS]
  allow_double_counting: false

# =============================================================================
# REQUIREMENTS
# =============================================================================

requirements:
  cs_overview:
    name: Computer Science Overview
    type: all
    category: major
    courses:
      - CS1200
      - CS1210

  cs_fundamentals:
    name: Computer Science Fundamental Courses
    type: all
    category: major
    courses:
      - "[CS1800, CS1802]"
      - "[CS2000, CS2001]"
      - "[CS2100, CS2101]"

  cs_required:
    name: Computer Science Required Courses
    type: all
    category: major
    courses:
      - CS3000
      - "[CS3100, CS3101]"
      - CS3650
      - CS3800
      - "{CS4530, CS4535}"
      - DS3000

  security_requirement:
    name: Security Required Course
    type: select
    category: major
    from:
      courses:
        - CY2550
        - CY3740
        - CY4740
    count: 1

  presentation_requirement:
    name: Presentation Requirement
    type: select
    category: major
    from:
      courses:
        - COMM1112
        - COMM1113
        - COMM1210
        - COMM1511
        - THTR1125
        - THTR1130
        - THTR1180
        - THTR2345
    count: 1

  khoury_electives:
    name: Khoury Approved Electives
    type: select
    category: major
    from:
      pattern: "CS:2500+"
    credits: 8

  concentration:
    name: Computer Science Concentration
    type: one_of
    category: major
    options:
      - id: artificial_intelligence
        name: Concentration in Artificial Intelligence
        requirements:
          - name: AI Required Courses
            type: all
            courses:
              - CS4100
              - DS4400
          - name: AI Electives
            type: select
            from:
              courses:
                - CS4120
                - CS4150
                - CS4180
                - CS4220
                - CS4610
                - CY4100
                - DS4420
                - DS4440
            count: 2

      - id: foundations
        name: Concentration in Foundations
        requirements:
          - name: Foundations Required Courses
            type: select
            from:
              courses:
                - "{CS2800, CS4820}"
                - "{CS4805, CS4810}"
            count: 2
          - name: Foundations Electives
            type: select
            from:
              courses:
                - CS3950
                - CS4950
                - CS4805
                - CS4810
                - CS4820
                - CS4830
                - CY4770
            count: 2

      - id: human_centered_computing
        name: Concentration in Human-Centered Computing
        requirements:
          - name: HCC Required Courses
            type: all
            courses:
              - CS2484
              - CS3484
          - name: HCC Electives
            type: select
            from:
              courses:
                - CS4097
                - CS4350
                - CS4520
                - CS4550
                - DS4200
                - HINF5300
            count: 2

      - id: software
        name: Concentration in Software
        requirements:
          - name: Software Required Courses
            type: all
            courses:
              - CS2800
              - CS4400
              - "{CS4700, CS4730}"
          - name: Software Electives
            type: select
            from:
              courses:
                - CS3520
                - CS4410
                - CS4520
                - CS4550
                - CS4700
                - CS4730
                - CS4820
                - CS4830
            count: 1

      - id: systems
        name: Concentration in Systems
        requirements:
          - name: Systems Required Networks
            type: all
            courses:
              - "{CS4700, CS4730}"
          - name: Systems Required Security
            type: select
            from:
              courses:
                - CY3740
                - CY4740
            count: 1
          - name: Systems Electives
            type: select
            from:
              courses:
                - CS3520
                - CS4300
                - CS4360
                - CS4610
                - CS4700
                - CS4730
                - CY3740
                - CY4740
                - CY4760
            count: 2

  mathematics:
    name: Mathematics Courses
    type: all
    category: supporting
    courses:
      - MATH1341
      - "{MATH1365, MATH1465}"

  computing_social_issues:
    name: Computing and Social Issues
    type: select
    category: supporting
    from:
      courses:
        - AFCS2600
        - CY4170
        - CY5240
        - "{DS1300, PHIL1300}"
        - HIST2220
        - INSH2102
        - JRNL3700
        - PHIL1145
        - SOCL1280
        - SOCL2485
        - SOCL4528
    count: 1

  electrical_engineering:
    name: Digital Design and Computer Architecture
    type: all
    category: supporting
    courses:
      - "[EECE2310, EECE2311]"

  science_requirement:
    name: Science Requirement
    type: select
    category: supporting
    from:
      courses:
        - "[BIOL1111, BIOL1112]"
        - "[BIOL1113, BIOL1114]"
        - "[BIOL2301, BIOL2302]"
        - "[CHEM1161, CHEM1162]"
        - "[CHEM1211, CHEM1212]"
        - "[CHEM1214, CHEM1215]"
        - "[ENVR1200, ENVR1201]"
        - "[ENVR2310, ENVR2311]"
        - "[ENVR2340, ENVR2341]"
        - "[ENVR3300, ENVR3301]"
        - "[ENVR4500, ENVR4501]"
        - MATH1342
        - MATH2280
        - MATH2331
        - MATH3081
        - "[PHYS1145, PHYS1146]"
        - "[PHYS1147, PHYS1148]"
        - "[PHYS1151, PHYS1152]"
        - "[PHYS1155, PHYS1156]"
        - "[PHYS1161, PHYS1162]"
        - "[PHYS1165, PHYS1166]"
    count: 2

  first_year_writing:
    name: College Writing
    type: all
    category: gen_ed
    courses:
      - ENGW1111

  advanced_writing:
    name: Advanced Writing in the Disciplines
    type: all
    category: gen_ed
    courses:
      - "{ENGW3302, ENGW3315}"

  general_electives:
    name: Required General Electives
    type: select
    category: elective
    from:
      pattern: "*:*"
    credits: 28

# =============================================================================
# COURSES
# =============================================================================

courses:
  # --- CS Overview ---
  CS1200:
    prefix: CS
    number: "1200"
    title: First Year Seminar
    credits: 1
    prerequisites: ""

  CS1210:
    prefix: CS
    number: "1210"
    title: Professional Development for Khoury Co-op
    credits: 1
    prerequisites: "CS2100 | DS2500"

  # --- CS Fundamentals ---
  CS1800:
    prefix: CS
    number: "1800"
    title: Discrete Structures
    credits: 4
    prerequisites: ""
    corequisites: [CS1802]

  CS1802:
    prefix: CS
    number: "1802"
    title: Seminar for CS 1800
    credits: 1
    prerequisites: ""
    corequisites: [CS1800]

  CS2000:
    prefix: CS
    number: "2000"
    title: Introduction to Program Design and Implementation
    credits: 4
    prerequisites: ""
    corequisites: [CS2001]

  CS2001:
    prefix: CS
    number: "2001"
    title: Lab for CS 2000
    credits: 1
    prerequisites: ""
    corequisites: [CS2000]

  CS2100:
    prefix: CS
    number: "2100"
    title: Program Design and Implementation 1
    credits: 4
    prerequisites: "CS2000"
    corequisites: [CS2101]

  CS2101:
    prefix: CS
    number: "2101"
    title: Lab for CS 2100
    credits: 1
    prerequisites: ""
    corequisites: [CS2100]

  # --- CS Required ---
  CS3000:
    prefix: CS
    number: "3000"
    title: Algorithms and Data
    credits: 4
    prerequisites: "(CS2100 | DS2500) & CS1800"

  CS3100:
    prefix: CS
    number: "3100"
    title: Program Design and Implementation 2
    credits: 4
    prerequisites: "CS2100"
    corequisites: [CS3101]

  CS3101:
    prefix: CS
    number: "3101"
    title: Lab for CS 3100
    credits: 1
    prerequisites: ""
    corequisites: [CS3100]

  CS3650:
    prefix: CS
    number: "3650"
    title: Computer Systems
    credits: 4
    prerequisites: "CS3100"

  CS3800:
    prefix: CS
    number: "3800"
    title: Theory of Computation
    credits: 4
    prerequisites: "CS2100"

  CS4530:
    prefix: CS
    number: "4530"
    title: Fundamentals of Software Engineering
    credits: 4
    prerequisites: "CS3100"

  CS4535:
    prefix: CS
    number: "4535"
    title: Professional Practicum Capstone
    credits: 4
    prerequisites: ""

  DS3000:
    prefix: DS
    number: "3000"
    title: Foundations of Data Science
    credits: 4
    prerequisites: "CS2100 | DS2500"

  # --- Security Courses ---
  CY2550:
    prefix: CY
    number: "2550"
    title: Foundations of Cybersecurity
    credits: 4
    prerequisites: "CS2100 | DS2500"

  CY3740:
    prefix: CY
    number: "3740"
    title: Systems Security
    credits: 4
    prerequisites: "CS3650"

  CY4740:
    prefix: CY
    number: "4740"
    title: Network Security
    credits: 4
    prerequisites: "CS3650"

  # --- Presentation Courses ---
  COMM1112:
    prefix: COMM
    number: "1112"
    title: Public Speaking
    credits: 4
    prerequisites: ""

  COMM1113:
    prefix: COMM
    number: "1113"
    title: Business and Professional Speaking
    credits: 4
    prerequisites: ""

  COMM1210:
    prefix: COMM
    number: "1210"
    title: Persuasion and Rhetoric
    credits: 4
    prerequisites: ""

  COMM1511:
    prefix: COMM
    number: "1511"
    title: Communication and Storytelling
    credits: 4
    prerequisites: ""

  THTR1125:
    prefix: THTR
    number: "1125"
    title: Improvisation
    credits: 4
    prerequisites: ""

  THTR1130:
    prefix: THTR
    number: "1130"
    title: Introduction to Acting
    credits: 4
    prerequisites: ""

  THTR1180:
    prefix: THTR
    number: "1180"
    title: Dynamic Presence
    credits: 4
    prerequisites: ""

  THTR2345:
    prefix: THTR
    number: "2345"
    title: Acting for the Camera
    credits: 4
    prerequisites: ""

  # --- Concentration: Artificial Intelligence ---
  CS4100:
    prefix: CS
    number: "4100"
    title: Artificial Intelligence
    credits: 4
    prerequisites: "CS3100"

  CS4120:
    prefix: CS
    number: "4120"
    title: Natural Language Processing
    credits: 4
    prerequisites: "CS3100"

  CS4150:
    prefix: CS
    number: "4150"
    title: Game Artificial Intelligence
    credits: 4
    prerequisites: "CS3100 & CS3520"

  CS4180:
    prefix: CS
    number: "4180"
    title: Reinforcement Learning
    credits: 4
    prerequisites: "CS3000 & DS3000"

  CS4220:
    prefix: CS
    number: "4220"
    title: Information Retrieval
    credits: 4
    prerequisites: "CS3100 & DS3000"

  CS4610:
    prefix: CS
    number: "4610"
    title: Robotic Science and Systems
    credits: 4
    prerequisites: "CS3100"

  CY4100:
    prefix: CY
    number: "4100"
    title: AI Security and Privacy
    credits: 4
    prerequisites: "CS4100 | DS4400"

  DS4400:
    prefix: DS
    number: "4400"
    title: Machine Learning and Data Mining 1
    credits: 4
    prerequisites: "DS3000 & CS3100"

  DS4420:
    prefix: DS
    number: "4420"
    title: Machine Learning and Data Mining 2
    credits: 4
    prerequisites: "DS4400"

  DS4440:
    prefix: DS
    number: "4440"
    title: Practical Neural Networks
    credits: 4
    prerequisites: "DS4400"

  # --- Concentration: Foundations ---
  CS2484:
    prefix: CS
    number: "2484"
    title: Principles of Human-Computer Interaction
    credits: 4
    prerequisites: ""

  CS2800:
    prefix: CS
    number: "2800"
    title: Logic and Computation
    credits: 4
    prerequisites: "(CS1800 | MATH1365) & CS2100"

  CS3484:
    prefix: CS
    number: "3484"
    title: GUI Programming
    credits: 4
    prerequisites: "CS2100"

  CS3520:
    prefix: CS
    number: "3520"
    title: Programming in C++
    credits: 4
    prerequisites: "CS2100"

  CS3540:
    prefix: CS
    number: "3540"
    title: Game Programming
    credits: 4
    prerequisites: "CS2100"

  CS3950:
    prefix: CS
    number: "3950"
    title: Introduction to Computer Science Research
    credits: 2
    prerequisites: ""

  CS4097:
    prefix: CS
    number: "4097"
    title: Mixed Reality
    credits: 4
    prerequisites: "CS3540"

  CS4300:
    prefix: CS
    number: "4300"
    title: Computer Graphics
    credits: 4
    prerequisites: "CS3100 & (DS3000 | MATH2331)"

  CS4350:
    prefix: CS
    number: "4350"
    title: Empirical Research Methods
    credits: 4
    prerequisites: "DS3000"

  CS4360:
    prefix: CS
    number: "4360"
    title: Non-Interactive Computer Graphics
    credits: 4
    prerequisites: "(DS3000 | MATH2331) & CS3100"

  CS4400:
    prefix: CS
    number: "4400"
    title: Programming Languages
    credits: 4
    prerequisites: "CS3100 & CS3000"

  CS4410:
    prefix: CS
    number: "4410"
    title: Compilers
    credits: 4
    prerequisites: "CS4400"

  CS4520:
    prefix: CS
    number: "4520"
    title: Mobile Application Development
    credits: 4
    prerequisites: "CS3100"

  CS4550:
    prefix: CS
    number: "4550"
    title: Web Development
    credits: 4
    prerequisites: "CS3100"

  CS4700:
    prefix: CS
    number: "4700"
    title: Network Fundamentals
    credits: 4
    prerequisites: "CS3650"

  CS4730:
    prefix: CS
    number: "4730"
    title: Distributed Systems
    credits: 4
    prerequisites: "CS3650"

  CS4805:
    prefix: CS
    number: "4805"
    title: Fundamentals of Complexity Theory
    credits: 4
    prerequisites: "CS3800"

  CS4810:
    prefix: CS
    number: "4810"
    title: Advanced Algorithms
    credits: 4
    prerequisites: "CS3000"

  CS4820:
    prefix: CS
    number: "4820"
    title: Computer-Aided Reasoning
    credits: 4
    prerequisites: "CS2800 & CS3000"

  CS4830:
    prefix: CS
    number: "4830"
    title: System Specification, Verification, and Synthesis
    credits: 4
    prerequisites: "CS3000"

  CS4950:
    prefix: CS
    number: "4950"
    title: Computer Science Research Seminar
    credits: 1
    prerequisites: "CS3950"
    repeatable: true
    max_repeat_credits: 2

  CY4760:
    prefix: CY
    number: "4760"
    title: Security of Wireless and Mobile Systems
    credits: 4
    prerequisites: "CY3740 | CY4740"

  CY4770:
    prefix: CY
    number: "4770"
    title: Foundations of Cryptography
    credits: 4
    prerequisites: "CY3740 | CY4740"

  DS4200:
    prefix: DS
    number: "4200"
    title: Information Presentation and Visualization
    credits: 4
    prerequisites: "DS3000"

  HINF5300:
    prefix: HINF
    number: "5300"
    title: Personal Health Interface Design and Development
    credits: 4
    prerequisites: ""

  # --- Mathematics ---
  MATH1341:
    prefix: MATH
    number: "1341"
    title: Calculus 1 for Science and Engineering
    credits: 4
    prerequisites: ""

  MATH1342:
    prefix: MATH
    number: "1342"
    title: Calculus 2 for Science and Engineering
    credits: 4
    prerequisites: "MATH1341"

  MATH1365:
    prefix: MATH
    number: "1365"
    title: Introduction to Mathematical Reasoning
    credits: 4
    prerequisites: ""

  MATH1465:
    prefix: MATH
    number: "1465"
    title: Intensive Mathematical Reasoning
    credits: 4
    prerequisites: ""

  MATH2280:
    prefix: MATH
    number: "2280"
    title: Statistics and Software
    credits: 4
    prerequisites: ""

  MATH2331:
    prefix: MATH
    number: "2331"
    title: Linear Algebra
    credits: 4
    prerequisites: "MATH1341"

  MATH3081:
    prefix: MATH
    number: "3081"
    title: Probability and Statistics
    credits: 4
    prerequisites: "MATH1342"

  # --- Computing and Social Issues ---
  AFCS2600:
    prefix: AFCS
    number: "2600"
    title: Issues in Race, Science, and Technology
    credits: 4
    prerequisites: ""

  CY4170:
    prefix: CY
    number: "4170"
    title: The Law, Ethics, and Policy of Data and Digital Technologies
    credits: 4
    prerequisites: ""

  CY5240:
    prefix: CY
    number: "5240"
    title: "Cyberlaw: Privacy, Ethics, and Digital Rights"
    credits: 4
    prerequisites: "CY2550"

  DS1300:
    prefix: DS
    number: "1300"
    title: Knowledge in a Digital World
    credits: 4
    prerequisites: ""
    cross_listed_as: [PHIL1300]

  HIST2220:
    prefix: HIST
    number: "2220"
    title: History of Technology
    credits: 4
    prerequisites: ""

  INSH2102:
    prefix: INSH
    number: "2102"
    title: Bostonography
    credits: 4
    prerequisites: ""

  JRNL3700:
    prefix: JRNL
    number: "3700"
    title: Data Storytelling
    credits: 4
    prerequisites: ""

  PHIL1145:
    prefix: PHIL
    number: "1145"
    title: Technology and Human Values
    credits: 4
    prerequisites: ""

  PHIL1300:
    prefix: PHIL
    number: "1300"
    title: Knowledge in a Digital World
    credits: 4
    prerequisites: ""
    cross_listed_as: [DS1300]

  SOCL1280:
    prefix: SOCL
    number: "1280"
    title: The Twenty-First-Century Workplace
    credits: 4
    prerequisites: ""

  SOCL2485:
    prefix: SOCL
    number: "2485"
    title: Environment, Technology, and Society
    credits: 4
    prerequisites: ""

  SOCL4528:
    prefix: SOCL
    number: "4528"
    title: Technology and Society
    credits: 4
    prerequisites: ""

  # --- Electrical Engineering ---
  EECE2310:
    prefix: EECE
    number: "2310"
    title: Introduction to Digital Design and Computer Architecture
    credits: 4
    prerequisites: ""
    corequisites: [EECE2311]

  EECE2311:
    prefix: EECE
    number: "2311"
    title: Lab for EECE 2310
    credits: 1
    prerequisites: ""
    corequisites: [EECE2310]

  # --- Science: Biology ---
  BIOL1111:
    prefix: BIOL
    number: "1111"
    title: General Biology 1
    credits: 3
    prerequisites: ""
    corequisites: [BIOL1112]

  BIOL1112:
    prefix: BIOL
    number: "1112"
    title: Lab for BIOL 1111
    credits: 1
    prerequisites: ""
    corequisites: [BIOL1111]

  BIOL1113:
    prefix: BIOL
    number: "1113"
    title: General Biology 2
    credits: 3
    prerequisites: "BIOL1111"
    corequisites: [BIOL1114]

  BIOL1114:
    prefix: BIOL
    number: "1114"
    title: Lab for BIOL 1113
    credits: 1
    prerequisites: ""
    corequisites: [BIOL1113]

  BIOL2301:
    prefix: BIOL
    number: "2301"
    title: Genetics and Molecular Biology
    credits: 3
    prerequisites: "BIOL1111"
    corequisites: [BIOL2302]

  BIOL2302:
    prefix: BIOL
    number: "2302"
    title: Lab for BIOL 2301
    credits: 1
    prerequisites: ""
    corequisites: [BIOL2301]

  # --- Science: Chemistry ---
  CHEM1161:
    prefix: CHEM
    number: "1161"
    title: General Chemistry for Science Majors
    credits: 3
    prerequisites: ""
    corequisites: [CHEM1162]

  CHEM1162:
    prefix: CHEM
    number: "1162"
    title: Lab for CHEM 1161
    credits: 1
    prerequisites: ""
    corequisites: [CHEM1161]

  CHEM1211:
    prefix: CHEM
    number: "1211"
    title: General Chemistry 1
    credits: 3
    prerequisites: ""
    corequisites: [CHEM1212]

  CHEM1212:
    prefix: CHEM
    number: "1212"
    title: Lab for CHEM 1211
    credits: 1
    prerequisites: ""
    corequisites: [CHEM1211]

  CHEM1214:
    prefix: CHEM
    number: "1214"
    title: General Chemistry 2
    credits: 3
    prerequisites: "CHEM1211"
    corequisites: [CHEM1215]

  CHEM1215:
    prefix: CHEM
    number: "1215"
    title: Lab for CHEM 1214
    credits: 1
    prerequisites: ""
    corequisites: [CHEM1214]

  # --- Science: Environmental ---
  ENVR1200:
    prefix: ENVR
    number: "1200"
    title: Dynamic Earth
    credits: 3
    prerequisites: ""
    corequisites: [ENVR1201]

  ENVR1201:
    prefix: ENVR
    number: "1201"
    title: Lab for ENVR 1200
    credits: 1
    prerequisites: ""
    corequisites: [ENVR1200]

  ENVR2310:
    prefix: ENVR
    number: "2310"
    title: Earth Materials
    credits: 3
    prerequisites: ""
    corequisites: [ENVR2311]

  ENVR2311:
    prefix: ENVR
    number: "2311"
    title: Lab for ENVR 2310
    credits: 1
    prerequisites: ""
    corequisites: [ENVR2310]

  ENVR2340:
    prefix: ENVR
    number: "2340"
    title: Earth Landforms and Processes
    credits: 3
    prerequisites: ""
    corequisites: [ENVR2341]

  ENVR2341:
    prefix: ENVR
    number: "2341"
    title: Lab for ENVR 2340
    credits: 1
    prerequisites: ""
    corequisites: [ENVR2340]

  ENVR3300:
    prefix: ENVR
    number: "3300"
    title: Geographic Information Systems
    credits: 3
    prerequisites: ""
    corequisites: [ENVR3301]

  ENVR3301:
    prefix: ENVR
    number: "3301"
    title: Lab for ENVR 3300
    credits: 1
    prerequisites: ""
    corequisites: [ENVR3300]

  ENVR4500:
    prefix: ENVR
    number: "4500"
    title: Applied Hydrogeology
    credits: 3
    prerequisites: ""
    corequisites: [ENVR4501]

  ENVR4501:
    prefix: ENVR
    number: "4501"
    title: Lab for ENVR 4500
    credits: 1
    prerequisites: ""
    corequisites: [ENVR4500]

  # --- Science: Physics ---
  PHYS1145:
    prefix: PHYS
    number: "1145"
    title: Physics for Life Sciences 1
    credits: 3
    prerequisites: ""
    corequisites: [PHYS1146]

  PHYS1146:
    prefix: PHYS
    number: "1146"
    title: Lab for PHYS 1145
    credits: 1
    prerequisites: ""
    corequisites: [PHYS1145]

  PHYS1147:
    prefix: PHYS
    number: "1147"
    title: Physics for Life Sciences 2
    credits: 3
    prerequisites: "PHYS1145"
    corequisites: [PHYS1148]

  PHYS1148:
    prefix: PHYS
    number: "1148"
    title: Lab for PHYS 1147
    credits: 1
    prerequisites: ""
    corequisites: [PHYS1147]

  PHYS1151:
    prefix: PHYS
    number: "1151"
    title: Physics for Engineering 1
    credits: 3
    prerequisites: "MATH1341"
    corequisites: [PHYS1152]

  PHYS1152:
    prefix: PHYS
    number: "1152"
    title: Lab for PHYS 1151
    credits: 1
    prerequisites: ""
    corequisites: [PHYS1151]

  PHYS1155:
    prefix: PHYS
    number: "1155"
    title: Physics for Engineering 2
    credits: 3
    prerequisites: "PHYS1151"
    corequisites: [PHYS1156]

  PHYS1156:
    prefix: PHYS
    number: "1156"
    title: Lab for PHYS 1155
    credits: 1
    prerequisites: ""
    corequisites: [PHYS1155]

  PHYS1161:
    prefix: PHYS
    number: "1161"
    title: Physics 1
    credits: 3
    prerequisites: ""
    corequisites: [PHYS1162]

  PHYS1162:
    prefix: PHYS
    number: "1162"
    title: Lab for PHYS 1161
    credits: 1
    prerequisites: ""
    corequisites: [PHYS1161]

  PHYS1165:
    prefix: PHYS
    number: "1165"
    title: Physics 2
    credits: 3
    prerequisites: "PHYS1161"
    corequisites: [PHYS1166]

  PHYS1166:
    prefix: PHYS
    number: "1166"
    title: Lab for PHYS 1165
    credits: 1
    prerequisites: ""
    corequisites: [PHYS1165]

  # --- Writing ---
  ENGW1111:
    prefix: ENGW
    number: "1111"
    title: First-Year Writing
    credits: 4
    prerequisites: ""

  ENGW3302:
    prefix: ENGW
    number: "3302"
    title: Advanced Writing in the Technical Professions
    credits: 4
    prerequisites: "ENGW1111"

  ENGW3315:
    prefix: ENGW
    number: "3315"
    title: Interdisciplinary Advanced Writing in the Disciplines
    credits: 4
    prerequisites: "ENGW1111"

  # --- Data Science Prerequisites ---
  DS2000:
    prefix: DS
    number: "2000"
    title: Programming with Data
    credits: 4
    prerequisites: ""
    corequisites: [DS2001]

  DS2001:
    prefix: DS
    number: "2001"
    title: Data Science Programming Practicum
    credits: 1
    prerequisites: ""
    corequisites: [DS2000]

  DS2500:
    prefix: DS
    number: "2500"
    title: Intermediate Programming with Data
    credits: 4
    prerequisites: "DS2000"
    corequisites: [DS2501]

  DS2501:
    prefix: DS
    number: "2501"
    title: Lab for DS 2500
    credits: 1
    prerequisites: ""
    corequisites: [DS2500]
