Please consider bringing a laptop with you to class each week if you have one available. We encourage collaborative work among students, and ideally, we aim to have at least one laptop for every 2 to 3 students. Given that both homework assignments and the project involve team efforts, we recommend partnering with classmates who possess a laptop.

In the event that you intend to purchase a laptop, please keep in mind that students from Swiss Universities can benefit from preferential pricing through the Neptun Projekt or EPFL’s Poseidon.

You do not need to buy a laptop if you do not possess one.


It is possible to follow this class using Mac OS, Windows and Linux. Yes, Linux. Why not Linux? See, and


This class is based on the online textbook:

This document is under development and it is therefore preferable to always access the text online to be sure you are using the most up-to-date version. Due to its current development, you may encounter errors ranging from broken code to typos or poorly explained topics. If you do, please let us know! Simply add an issue to the GitHub repository used for this document and we will make the changes as soon as possible. In addition, if you know RMarkdown and are familiar with GitHub, make a pull request and fix an issue yourself, otherwise, if you’re not familiar with these tools, they will be explained later on in the book itself.

The textbooks below are also recommended and are legally available online for free. The following texts will be heavily referenced:

The following textbooks are helpful, but not necessary to succeed in the course:

We regrouped more references by category in the resources page.


All the software we will be using are free for acamedic activities. The course will use and present the R statistical computing language as well as different parts of C++ through Rcpp. The integrated developer environment that we will use to explore R is RStudio IDE made by RStudio Inc. See for why it would be interesting as data scientist to use R/RStudio.