vis teaser

The amount and complexity of information produced in science, engineering, business, and everyday human activity are increasing at a staggering rate. The goal of this course is to expose you to methods and techniques for analyzing and understanding complex data. Data Science lies at the intersection of statistics, computer science, and, of course, the domain from which the data comes from. This course will provide an introduction to the former two: statistics and computer science and provide you with a toolset to conquer problems in your domain!

The course begins by bootstrapping your coding skills (we will be using Python), and will move through a series of data science methods via real-life, project-based, lectures and computer labs. The goal of this course is to develop your skills in:

  • data wrangling: how to acquire, clean, reshape or sample data so that it’s ready for further processing?
  • data exploration: how to analyze the signal in a large, noisy dataset?
  • prediction: can inferences and decisions be made based on the available data?
  • communication: how can findings be effectively communicated to others?

A more comprehensive description of the course material, including a list of projects, can be found in the syllabus.

This three-credit course is offered in the Fall 2016 semester at the University of Utah, cross-listed between Mathematics (MATH 3900) and Computer Science (CS 5963).

Is this course for me?

This course is designed for both undergraduates and graduates from various fields.
So, if you are a student in, for example, Biology, Chemistry, Social Sciences, Psychology, Business, etc., and want to learn some computational and quantitative skills to be successful in your field as it transforms in an age increasingly dominated by data and computation, this course might be for you!

This is an introductory course: we will introduce both programming concepts and the necessary statistics, yet we do expect you to have at least a little background in programming and math. If you don’t know what a for-loop or a function is, for example, you first might want to take a course like CS 1060.

The formal prerequisite for this course is Calculus I (UU Math 1170, 1210, 1250 1310, 1311 or equivalent), but we’ll waive the formal prerequisite if you can demonstrate other, similar quantitative skills.

Can I get quantitative reasoning or elective credit for this class?

This is a new class, so it currently doesn’t count as an elective for your program or as a quantitative reasoning general education requirement by default. However, you can petition for the course to count toward your degree, which we will support.

This class will satisfy the computing requirements for applied math students.

How do I enroll in this class?

You can either enroll for the MATH (MATH 3900) version and request a permission code here, or the CS (CS 5963) version and request a permission code here. For the CS version, please enroll through the lab section.


Alexander Lex, Computer Science
Office: WEB 3887

Braxton Osting, Mathematics
Office: LCB 116

Teaching Assistants

Magdalena Schwarzl and Olivia Dennis


The class meets Monday, Wednesday, Friday, 03:05 PM-03:55 PM, in WEB L114.

Lectures are used to introduce theoretical concepts.
Labs are used to teaching coding skills and revisit the concepts introduced in lectures in practical terms. We will typically run coding exercises in the lab. Please bring your laptop computer!

Office Hours:
TA office hours: Thursdays 3:30-5:30pm, WEB 2470 (beginning Sept. 1)
Lex office hours: Thursdays, 3:30 - 4:30pm, WEB 3887
Osting office hours: Wednesdays 4-5:30pm, LCB 116

Online discussion, grades, etc: We use Canvas for discussions and questions.