BS Concentration in AI and Machine Learning

Prerequisites

  • 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

Requirements

  • COMPSCI 201 - Data Structures and Algorithms
  • COMPSCI 230 - Discrete Math for Computer Science or 232 - Discrete Mathematics and Proofs 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 to 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 to 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 390/LINGUIST 490 - Computational Approaches to Language Processing (Spring 2024)
  • COMPSCI 390A - Conversational AI - Build your own Chatbot (Taught  Fall 2023 in Berlin as Duke Study Abroad)
  • COMPSCI 474 - Data Science Competition, renumbered from 290 in Spring 2021
  • COMPSCI 527 - Computer Vision
  • COMPSCI 572 - Introduction to Natural Language Processing
  • Other COMPSCI 590 Special Topics on the following subjects:
    • Algorithmic Aspects of Machine Learning (Ge)
    • Data Science Concepts and Applications (Spring 2023)
    • Elements of Deep Learning (Spring 2023)
    • Generative Models (Dhingra, Fall 2023)
    • Reinforcement Learning (Parr)
    • Robot Learning (Boyuan Chen, Fall 2023)
    • Theory for Machine Learning (Xingyuan Fang, Fall 2023)
    • Generative AI in Protein Design (Chatterjee, Spring 2024)
  • 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, ECE, or a related area approved by the Director of
    Undergraduate Studies