BS Concentration in AI and Machine Learning


  • 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


  • COMPSCI 201 (Data Structures and Algorithms)
  • COMPSCI 230 (Discrete Math for Computer Science), see substitutions
  • COMPSCI 210D (Introduction to Computer Systems) or 250D (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 345 (Graphics Software Architecture)
    • COMPSCI 350 (Digital Systems) or 550 (Advanced Computer Architecture)
    • COMPSCI 351 (Computer Security) or 581 (Computer Security)
    • COMPSCI 356 (Computer Network Architecture) or 514 (Computer Networks)
    • COMPSCI 512 (Distributed Systems)
  • 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)
  • COMPSCI 290 (Topics) on following subjects:
    • Reinforcement Learning (Parr) 
    • Computational Imaging (Bartesaghi)
  • 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)
    • Other COMPSCI 590 (Special Topics) on the following subjects:
      • Reinforcement Learning (Parr)
      • Algorithmic Aspects of Machine Learning (Ge)
      • Intro to Natural Language Processing
      • Data Science Concepts and Applications (Spring 2023)
      • Elements of Deep Learning (Spring 2023)
    • COMPSCI 675D/ECE 685D (Intro to Deep Learning)
    • 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.
    • 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)
    • MATH 541/STA 621 (Applied Stochastic Processes)
    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