The M.S. in Data Science program requires four prerequisite courses. You can still apply without having all prerequisites, but they must be completed prior to matriculation. Proof of completion will be required for any incomplete prerequisites if an applicant is admitted and accepts their offer of admission.

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 in order to be best prepared for the MSDS program. Prerequisites are essential tools for preparedness and academic success.

Single Variable Calculus Key Topics

(UVA equivalent courses: MATH 1210-1220, MATH 1310-1320, or APMA 1090-1110)

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 Algebra Key Topics

(UVA equivalent courses: MATH 3350, MATH 3351, or APMA 3080)

New Program: Linear Algebra offered online by the School of Data Science


  • 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 Key Topics

(UVA equivalent courses: CS 1110, CS 1111, CS 1112, or CS 1113)

  • 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 Key Topics

(UVA equivalent courses: STAT 2020, STAT 2120, APMA 3110, or APMA 3120)


  • 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.

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.