**Goals of Core Courses**

The core courses in the Big Data IGERT were selected to provide the foundational background needed to manage, model, analyze and visualize Big Data, independently of what your research goals are. Furthermore, they were selected as entry-level courses that could get you up and running without a formal degree specifically in one field. However, these courses require some familiarity with programming, algorithms and statistics. This page outlines the broad concepts needed and some sample courses that provide that background. However, there are courses in other departments and universities that also could serve as pre-requisites, and we encourage IGERT students to discuss their background with the course instructors as they choose their coursework.

**CSE 544 – Data Management.** This course focuses on how to use data management systems and how to build them, including recent advances in the field.

- Basic knowledge of data structures (e.g., tree structures)

Background course = CSE 326. - Basic knowledge of the operating system
- Comfortable programming in Java

Background course = CSE 143.

**CSE 546/STAT 535** – Foundational Machine Learning

- Linear algebra (eigenvectors, eigenvalues, solving linear systems).

Background course = MATH 318 or 308. - Familiarity with multivariate calculus (partial derivatives, multiple integrals).

Background course = MATH 324. - Fundamental ideas of probability

Background course = STAT 391 or STAT 394-395. - Comfort with basic programming in Java, Python, or R

Background course = CSE 143.

**CSE 512 –** Data Visualization

- Basic programming expertise; familiarity with or willingness to learn a high-level programming language like Python or JavaScript.

Background course = CSE 143. - Comfort with fundamental data structures and algorithms.

Background course = CSE 332 or CSE 373. - Familiarity with fundamentals of (one or more of) interaction design, computer graphics, statistics, databases or natural language processing a plus, but by no means required.

**STAT 509** or **STAT 512-513** (a more in-depth version)

- Linear algebra (eigenvectors, eigenvalues, positive definite matrices).

Background course = MATH 318 or 308. - Familiarity with multivariate calculus (partial derivatives, multiple integrals, Jacobians).

Background course = MATH 324. - Fundamental ideas of probability.

Background course = STAT 394-395, or possibly STAT 391. - Familiarity with basic statistical inference (hypothesis tests, estimators, confidence intervals) a plus. Background course = STAT 311.

__CSE 143: Computer Programming II____CSE 312: Foundations of Computing II____CSE 326: Data Structures____CSE 332: Data Abstractions____CSE 331: Software Design And Implementation____CSE 344: Introduction To Data Management__- STAT 311: Elements of Statistical Methods
__MATH 324: Advanced Multivariate Calculus I____STAT 391: Probability and Statistics for Computer Science____STAT 394: Probability I____STAT 395: Probability II__