(intro)=
# Preface
(course-description)=
## Course description
This course provides an introduction to data science for sophomore mechanical engineers with no prior knowledge on the topic. We start by defining data science and demonstrating why mechanical engineers should care. Most data science nowadays happens in Python. So, the course starts with a brief overview of Python basics going from simple mathematical expressions to data loading and visualization. Data science has to deal with uncertainty and randomness, and that is why we introduce several concepts from probability theory. We use these probabilistic concepts to summarize and compare datasets. Data science is about making models. For example, how can you make a model that will give you the efficiency of an engine given the operating conditions using experimental data? So, we end by showing how to use data to make models, and how to test if these models are good.
(course-learning-outcomes)=
## Course learning outcomes
After completing this course, you will be able to:
+ Program in Python within a Jupyter notebook environment.
+ Summarize and compare datasets using empirically estimated statistics.
+ Summarize and compare datasets visually.
+ Represent uncertainty using probabilities.
+ Apply simple probability rules to propagate uncertainty.
+ Estimate probabilities from data.
+ Solve regression problems (learn from data a linear model that takes you from a set of input variables to a continuous variables).
+ Solve classification problems (learn from data a model that takes you from a set of input variables to a discrete label).
(prerequisites)=
## Prerequisites
+ Basic calculus.
+ Matrix-vector multiplication.
+ Some programming experience (e.g., in Matlab).