IDM in Math+CS on Data Science

The Departments of Mathematics and Computer Science have collaboratively mapped out a data science pathway for an interdepartmental major (IDM) between the two departments. This pathway makes it easier for you to identify courses relevant to a career in data science, and to plan and optimize your program of study accordingly.

The IDM in Math+CS on Data Science consists of a minimum of 14 courses, split evenly between the Department of Computer Science and the Department of Mathematics (i.e., 7 courses in each department).

Note: Some of the COMPSCI and MATH courses required below have prerequisites--specifically, Calculus, Multivariable Calculus, and Introduction to Computer Science--which must also be taken in fulfillment of this plan of study.


Math+CS on Data Science Course Plan

Prerequisite Courses (4 Units) from the following:
  1. Introduction to Computer Science - COMPSCI 101 OR COMPSCI 102 OR COMPSCI 116 OR equivalent
  2. Calculus - MATH 111L and MATH 112L
  3. Multivariable Calculus - MATH 212, MATH 219, OR MATH 222, taken at Duke or transferred equivalents (but NOT MATH 202)

Computer Science - Academic Requirements

Core Courses (3 units) from the following:
  1. COMPSCI 201 - Data Structures and Algorithms
  2. COMPSCI 210 - Intro to Computer Systems OR COMPSCI 250D - Computer Architecture
  3. COMPSCI 330 - Design and Analysis of Algorithms
Artificial Intelligence Core Course (1 unit) - one of the following:
  • COMPSCI 370 - Intro. Artificial Intelligence
  • COMPSCI 371 - Elements for Machine Learning
  • COMPSCI 372 - Applied Machine Learning
  • COMPSCI 570 - Artificial Intelligence
  • COMPSCI 671D - Machine Learning
CompSci Electives (3 units)

3 COMPSCI courses - 200-level or higher from the list of electives below. One may be an independent study course which has a substantial emphasis on computer science topics within any department approved by the Director of Undergraduate Studies (DUS).

  • COMPSCI 216 - Everything Data
  • COMPSCI 226 - User Research Methods in Human-Centered Computing
  • COMPSCI 230 - Discrete Math for Computer Science OR COMPSCI 231D - Discrete Math with Functional Programming and Proofs OR COMPSCI 232 - Discrete Mathematics and Proofs
  • COMPSCI 290 - Special Topics on the following subjects (some may not be offered regularly):
    • Intro to Applied Machine Learning (Spring 2025)
  • COMPSCI 316 - Introduction to Databases OR COMPSCI 516 - Data-Intensive Systems
  • COMPSCI 321/521 - Graph-Matrix Analysis
  • COMPSCI 333 - Algorithms in the Real World (previously a 290)
  • COMPSCI 370D - Introduction to Artificial Intelligence OR COMPSCI 371 - Elements of Machine Learning OR COMPSCI 570 -  Artificial Intelligence OR COMPSCI 671D - Theory and Algorithms for Machine Learning  (If not taken for the requirement above)
  • COMPSCI 390 - Special Topics on the following subjects (some may not be offered regularly):
    • Algorithmic Foundations of Data Science (Spring 2025)
  • COMPSCI 474 - Data Science Competition
  • COMPSCI 526 - Data Science
  • COMPSCI 527 - Computer Vision
  • COMPSCI 590 - Special Topics on the following subjects (some may not be offered regularly):
    • Theory of Deep Learning (Spring 2025)
    • Generative Models: Foundations and Applications (Spring 2025)
    • Causal Inference in Data Analysis with Applications to Fairness and Explanations (Spring 2025)
  • COMPSCI 290/590 (Topics) on the following subjects (Some may not be offered regularly.):
    • Algorithmic Aspects of Machine Learning
    • Algorithms for Big Data
    • Algorithmic Foundations of Data Science
    • Privacy
    • Reinforcement Learning

Mathematics - Academic Requirements

Core Courses (6 units) from the following:
  1. MATH 221 - Linear Algebra
  2. MATH 340/STA 231 - Advanced Intro to Probability OR MATH/STA 230 - Probability
  3. MATH 342/STA 250 - Statistics OR MATH 343/STA 432
  4. MATH 401 or 501 - Abstract Algebra OR MATH 431 or 531 - Basic Analysis
  5. Two of the following:

    MATH 403 - Advanced Linear Algebra

    MATH 465/COMPSCI 445 - High-dim Data Analysis

    MATH 412/COMPSCI 434 - Topology with Applications

Math Elective (1 unit)

1 MATH course - from the list below OR any other course approved by the Mathematics DUS (1 unit)

  • MATH 401, 501, 431, or 531 (if not taken for the requirement above)
  • MATH 371 - Combinatorics
  • MATH 375 - Linear Programming and Game Theory
  • MATH 387 - Logic
  • MATH 421 - Differential Geometry
  • MATH 304 or 404 - Cryptography
  • MATH 502 - Abstract Algebra II
  • MATH 561 - Numerical Linear Algebra
  • MATH 532 - Basic Analysis II

Because this IDM is a permanent Departmental IDM, students may declare it similarly to any other major. To add, drop, or change a major, complete the Academic Plan Change form.

Academic Plan Change(link opens in a new window/tab)(link opens in a new window/tab)(link opens in a new window/tab)(link opens in a new window/tab)

Note: Spring semester of your sophomore year is considered the ideal time to apply. Students have until the Friday before Spring Break to declare an IDM major. After that deadline, students must declare a traditional major first, which can potentially be switched to an IDM major.

While the Math+CS on Data Science IDM is intended for students interested in data science (particularly its mathematical foundations), depending on your interests, there are also other program options:

  • The Data Science Concentration within the CompSci BS major requires fewer courses on the mathematical and statistical foundations, and instead focuses more heavily on the computational aspects and practical issues that arise in the application of data science.
  • The IDM in STA+CS on Data Science covers data science topics focusing more on their underpinning statistical techniques and statistical data analysis.

Questions?

If you have questions about declaring an IDM in Computer Science, reach out to the CompSci DUS Susan Rodger for more info and general advice. Email her at dus@cs.duke.edu. 

Or alternatively, meet with Dr. Rodger during her office hours. She holds both virtual and in-person office hours. You can find her drop-in hours on this page(link opens in a new window/tab) (requires authentication). 

Eligibility for specific substitutions may vary by academic plan. A consultation with the Director of Undergraduate Studies is required before final approval can be granted to receive credit for a substitution. 

See the CS Course Substitutions Guide for possible course substitutions which have been pre-approved by the DUS.

Course Substitutions Guide

Departmental Graduation with Distinction

A program for Graduation with Distinction (GWD) in Computer Science is available. Candidates for a degree with Distinction, High Distinction, or Highest Distinction must apply to the Director of Undergraduate Studies (DUS) and meet certain criteria.

See the CS Graduation with Distinction webpage for additional information, resources, and how to apply.

Learn more