The Departments of Mathematics and Computer Science have collaboratively mapped out a data science pathway for an IDM (interdepartmental major) 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.
Note that this IDM is intended for students interested in data science and its mathematical foundations, but not necessarily all the lower-level computational aspects. Depending on your interests, the other options include:
- The Data Science Concentration within the COMPSCI BS major, which requires fewer courses on the mathematical and statistical foundations, but focuses more on the computational aspect and practical issues that arise in applying data science.
- The IDM in STA+CS on Data Science, which covers more topics on statistical data analysis.
- COMPSCI 101L or 102 or 116 or equivalent
- MATH 111L and 112L or equivalent
- MATH 212 or 222 (but not 202)
These courses/credits will not count towards the 14 required courses below.
From Computer Science:
- COMPSCI 201 (Data Structures and Algorithms)
- One of COMPSCI 316 (Introduction to Databases) or 516 (Data-Intensive Systems)
- NOTE: We are in the process of changing this requirement to COMPSCI 210 or COMPSCI 250, as COMPSCI 210 or 250 is now a prerequisite for COMPSCI 316. COMPSCI 316 will now be one of the elective choices. We will allow COMPSCI 316 or COMPSCI 210 or 250 for this requirement for anyone who matriculated before Fall 2022.
- COMPSCI 330 (Design and Analysis of Algorithms)
- One of COMPSCI 371 (Elements of Machine Learning), 370 (Intro. Artificial Intelligence), 570 (Artificial Intelligence), or 671 (Machine Learning)
- NOTE: COMPSCI 370 was renumbered from 270 in Fall 2019, and COMPSCI 671 from 571 in Spring 2019.
- 3 Electives from the following (or others approved by the Director of Undergraduate Studies):
- COMPSCI 370, 371, 570, or 671 (If not taken for the requirement above)
- COMPSCI 216 (Everything Data)
- COMPSCI 230 (Discrete Math for CS)
- COMPSCI 210 (Intro to Computer Systems) or CompSci 250 (Computer Architecture)
- COMPSCI 316 (Introduction to Databases)
- NOTE: COMPSCI 316 can be an elective if you take COMPSCI 210 or 250 in place of the COMPSCI 316 requirement above.
- COMPSCI 321/521 (Graph-Matrix Analysis)
- COMPSCI 333 (Algorithms in the Real World) - previously a 290
- COMPSCI 474 (Data Science Competition)
- COMPSCI 527 (Computer Vision)
- 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
- Reinforcement Learning
- MATH 221 (Linear Algebra)
- MATH 340/STA 231 (Advanced Intro to Probability) or MATH/STA 230 (Probability)
- MATH 342/STA 250 (Statistics) OR MATH 343/STA 432
- Plus one of the following:
- MATH 401 or 501 (Abstract Algebra)
- MATH 431 or 531 (Basic Analysis)
- Plus two of the following:
- MATH 403 (Advanced Linear Algebra)
- MATH 465/CompSci 445 (High-dim Data Analysis)
- MATH 412/CompSci 434 (Topology with Applications)
- Plus one of the following electives, (or others approved by the Director of Undergraduate Studies):
- 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)