The M.S. in Data Science program has four prerequisites: single variable calculus, linear or matrix algebra, statistics, and programming. The most competitive applicants have their prerequisites completed or in progress at the time of application. Proof of completion will be required for any incomplete prerequisites if an applicant is admitted and accepts their offer of admission, and all prerequisites must be completed two weeks prior to the start of classes.    
Applicants must complete prerequisites at an accredited institution, either in-person or virtually, and at a college level. It is in your best interest to take courses that rigorously cover the subject matter to be best prepared for the MSDS program. 
Refer to the Transfer Credit Analyzer as a resource when reviewing your prerequisites. Is your course/institution not on the analyzer? Email for assistance. 

Single Variable Calculus (Calculus II)

UVA: MATH 1220, MATH 1320, or APMA 1110; AP BC Calculus with a score of 4 or 5; or VCCS: MTH 262 or MTH 264 

Must contain the following key topics:

Functions (precalculus)

  • Basic properties of functions: domain and range, compositions
  • Function families: Polynomial, exponential, logarithmic, trigonometric, etc.
  • Continuity and discontinuity
  • Limits and infinitesimals
  • Horizontal and vertical asymptotes


  • Definition of the derivative
  • Differentiability
  • Techniques of differentiation: the power rule, the quotient rule, product rules, etc.
  • Taylor series
  • Applications of derivatives (e.g., in physics)
  • Significance of derivatives: maxima, minima, points of inflections, mean value theorem


  • Definition of the integral
  • Indefinite and definite integrals
  • Integration by substitution, integration by parts, improper integrals
  • Fundamental Theorem of Calculus

Linear or Matrix Algebra

UVA: DS 3005, STAT 3110, MATH 3350, MATH 3351, MATH 4210, PHYS 3340, or APMA 3080; or VCCS: MTH 265

We also offer Linear Algebra for Data Scientists, an on-demand, non-credit 8-week boot camp that will prepare you to use linear algebra in data science. Learn more here

Must contain the following key topics:


  • Definition of a vector
  • Vector spaces (e.g., Euclidian space, Rn)
  • Vector bases
  • Vector addition and scalar multiplication
  • Dot or inner product
  • Orthogonality
  • Norm of a vector
  • Vector geometry (distance, angles, and projections)
  • Cross product


  • Definition of a matrix
  • Dimension and rank
  • Determinants
  • Elementary row operations (e.g., inverses)
  • Matrix addition and scalar multiplication
  • Matrix multiplication
  • Transpose of a matrix
  • Square matrices and properties
  • Symmetric matrices
  • Orthogonal matrices
  • Block matrices
  • Systems of linear equations and linear transformations
  • Triangular and echelon forms
  • Factorization and decomposition
  • Eigenvalues and eigenvectors

Introductory Programming (Python)

UVA: CS 1110/1111/1112/1113, DS 1002; PHYS 1665; STAT 1601+1602 (must take both to meet the prerequisite); or STAT 3250; or AP Computer Science A with a score of 4 or 5; or IB HL Computer Science with a 5, 6, or 7; or VCCS CSC 221 or ITP 150. Note that course must cover a programming language such as Python, Java, or C++; courses only covering SQL or R are helpful but will not meet the prerequisite.

MSDS students are expected to be proficient in Python on their first day of classes. If your programming course does not cover Python, then it must be Java or C++; courses only covering SQL, HTML/CSS, R, etc. are helpful but will not meet the prerequisite. We value self-learning and encourage you to refresh your programming skills. You will be able to fully detail your level of programming experience on the application. 

Must contain the following key topics:

  • General concept of a computer program
  • General concept of a computer programming language
  • Values, variables, and operators
  • Data types (strings, integers, floats, etc.)
  • Basic data structures (e.g., scalars, arrays, and dictionaries)
  • Basic expressions
  • User-defined functions
  • Control structures and conditional logic
  • Libraries
  • File input and output
  • Standard algorithms (e.g., binary sort)
  • Concept of computational complexity
  • Basic object-oriented programming
  • Regular expressions
  • Unit testing

Introductory Statistics

(UVA: STAT 2020, STAT 2120, STAT 3120; APMA 3110 or APMA 3120; or AP Statistics with a score of 4 or 5; or VCCS: MTH 155 or MTH 245. Note that a probability-only course, such as APMA 3100, will not meet the prerequisite on its own, however, you may have other coursework that will satisfy the remaining content area; please email for more information.)

Must contain the following key topics:


  • Basic set theory
  • Basic combinatorics: combinations and permutations
  • Kolmogorov’s three axioms of probability
  • Concept of an event
  • Mutually exclusive events
  • Concept of sample space
  • Concept of a trial or observation
  • Independence and dependence
  • Conditional probability
  • Bayes Theorem
  • Concept of a probability distribution
  • The normal distribution
  • Random variable


  • Difference between population and sample
  • Difference between statistic and parameter
  • Relative Frequency
  • Measures of centrality: mean, mode, and median
  • Measures of dispersion: variance and standard deviation
  • Types of data: categorical vs. numeric data; continuous vs discrete numeric data; varieties of categorical data
  • Elementary distributions: Gaussian (Normal), Binomial (Bernoulli), and Poisson
  • Sampling Distributions and the Central Limit Theorem
  • Confidence and confidence intervals
  • Statistical significance
  • Bias
  • Correlation
  • Student’s T-Test
  • Z-scores
  • Sample size determination
  • Significance testing
  • Hypothesis tests
  • Effect size
  • P-values
  • Chi-square tests
  • Model
  • Error
  • Regression
  • Least squares error

How can I fulfill prerequisite courses?

Use the prerequisite key topics to determine if a course you have taken or are considering taking will fulfill the respective prerequisite. Prerequisites may vary by title, which is fine as long as the key topics are covered. Check out the following:

  • New Program:  Linear Algebra offered online by the School of Data Science
  • View descriptions of UVA equivalent courses by selecting Course Catalogue and Undergraduate. Courses are listed by subject/department in alphabetical order.
  • Courses from U.S. or international institutions that are listed as accepted equivalents for transfer credit by UVA. 
  • Examples of institutions where past applicants have fulfilled prerequisite courses: accredited universities, colleges, and community colleges (both in-person and online).
  • High school courses are not accepted unless college-level credit is granted by an undergraduate institution and appears on your transcript (i.e., AP or IB credit).

The School of Data Science does not endorse specific schools or institutions. We strongly encourage you to complete prerequisites at the strongest institution possible in order to be best prepared to start the program. Applicants who have taken prerequisite coursework but no longer remember the material are encouraged to refresh their understanding of the subject(s). Strong knowledge of all four prerequisites is needed to be successful in the MSDS program.

Do you accept AP, IB, or CLEP credit to meet the prerequisites?

The School of Data Science follows University regulations regarding AP, IB, and CLEP credits: 

  • Single Variable Calculus: AP BC Calculus with a score of 4 or 5 will meet the prerequisite. AP AB Calculus, IB Mathematics, and CLEP Calculus will not meet the prerequisite. 
  • Linear Algebra: There is no equivalent for AP, IB, or CLEP. 
  • Introductory Programming: AP Computer Science A with a score of 4 or 5 or IB HL Computer Science with a score of 5, 6, or 7 will meet the prerequisite. AP Computer Science Principles or IB SL Computer Science will not meet the prerequisite, and there is no equivalent for CLEP. 
  • Introductory Statistics: AP Statistics with a score of 4 or 5 will meet the prerequisite. There is no equivalent for IB or CLEP. 

Is there a time limit on prerequisites?

No. However, if it has been several years since you completed the course, you are strongly encouraged to refresh yourself on the key topics prior to the start of classes. Programming knowledge/experience (Python, Java, or C++) should be recent and up to date.

How do I report my prerequisite information in the application?

The Supplemental Information section of the online application allows you to report completed prerequisites or how you plan to complete them prior to matriculation.

  • If the course is is complete, select “yes” on the application and complete all required fields. If previous upper-level (college) coursework or professional experience (only acceptable for Introductory Programming) demonstrates grasp of the subject matter, this may be considered a “yes” as well.
  • If the course is in progress or has not yet started, select “no” on the application and complete all required fields. 
  • Further explanation and/or documentation on how each prerequisite was or will be fulfilled can be uploaded. (optional)

For questions about how to report prerequisites in the application or whether professional experience counts toward Introductory Programming, contact SDS Admissions.

View All