### Prerequisites (same as BS)

- One of the following introductory COMPSCI courses or equivalent:
- COMPSCI 101L (Introduction to Computer Science)
- COMPSCI 102 (Interdisciplinary Introduction to Computer Science)
- COMPSCI 116 (Foundations of Data Science)

- MATH 111L (Introductory Calculus I) or equivalent
- MATH 112L (Introductory Calculus II) or equivalent

### BS core (same as BS)

- COMPSCI 201 (Data Structures and Algorithms)
- COMPSCI 230 (Discrete Math for Computer Science), see substitutions
- COMPSCI 250 (Computer Architecture)
- COMPSCI 330 (Design & Analysis of Algorithms)
- One of the following COMPSCI courses on systems:
- COMPSCI 310 (Introduction to Operating Systems) or 510 (Advanced Operating Systems)
- COMPSCI 316 (Introduction to Databases) or 510 (Advanced Operating Systems)
- COMPSCI 350 (Digital Systems) or 550 (Advanced Computer Architecture)
- COMPSCI 351 (Computer Security) or 551 (Advanced Computer Security)
- COMPSCI 356 (Computer Network Architecture) or 514 (Computer Networks)

### BS Math/Stats requirement (more specific than BS)

- Linear Algebra - MATH 216, 218, or 221
- Probability - STA 230, STA 240L, MATH 230, or MATH 340

### BS five-elective requirement (more specific than BS)

Note: As with the BS, three out of the five electives must be COMPSCI courses.

**AI/ML core (2 courses):**

- One of COMPSCI 370* (Intro. Artificial Intelligence) or COMPSCI 570 (Artificial Intelligence)
- *Note: 370 was renumbered from 270 in Fall 2019.

- One of COMPSCI 371 (Elements of Machine Learning) or STAT 561/COMPSCI 571/ECE 682 (Probabilistic Machine Learning) or COMPSCI 671*/STAT 671/ECE 687 (Machine Learning)
- *Note: 671 was renumbered from 571 in Spring 2019.

Note: If you take two courses under the same bullet above (e.g., both COMPSCI 371 and 671), the extra course can still be counted as the 5th elective for your BS major. However, we do NOT recommend taking both 370 and 570, because of the overlap in their contents.

**Two courses must be drawn from the list below:**

- One of COMPSCI 260 (Intro. Computational Genomics) or 561 (Computational Sequence Biology)
- One of COMPSCI 323 (Computational Microeconomics) or COMPSCI 590 (Topics) on Computational Microeconomics: Game Theory, Social Choice, and Mechanism Design (Conitzer)
- COMPSCI 474 Data Science Competition, renumbered from 290 in Spring 2021
- COMPSCI 527 (Computer Vision)
- COMPSCI 290 (Topics) on following subjects:
- Reinforcement Learning (Parr)
- Computational Imaging (Bartesaghi)

- Other COMPSCI 590 (Topics) on the following subjects:
- Reinforcement Learning (Parr)
- Algorithmic Aspects of Machine Learning (Ge)

- STA 432/MATH 343 (Sta. Learning and Inference)
- Note: The following are approved substitutes:
- ECE 480 ( Applied Probability for Statistical Learning)
- STA 250/MATH 342 (Statistics), if taken prior to Fall 2020

- Among these courses and STA 432/MATH 343, only one can be used to satisfy the BS requirements.

- Note: The following are approved substitutes:
- STA 325 (Machine Learning and Data Mining)
- STA 360 (Bayesian Inference)
- MATH 412 (Topological Data Analysis)
- MATH 465/COMPSCI 445 (Introduction to High Dimensional Data Analysis)
- MATH 466 (Math of Machine Learning)

Note: Other courses related to AI/ML not listed above may be used to satisfy this two-course requirement, but must be approved by the DUS.

**Finally, one additional course** is needed to complete the BS five-elective requirement.

- One elective at the 200-level or higher in COMPSCI (independent study

possible), MATH, STA, or a related area approved by the Director of

Undergraduate Studies