This course is designed by Raazesh Sainudiin, an Associate Professor in Mathematics with Specialisation in Data Science at the Department of Mathematics, Uppsala University and Consulting Principal Data Scientist at Combient AB in Stockholm.


The course will provide an introduction to Data Science simultaneously from a computational, mathematical and statistical perspective.


The approach will use formal mathematical communication of concepts with concomitant development of computer programs.

Lectures will build on: Sets, Maps, Functions, Modular Arithmetic, Axiomatic Probability, Conditional probability, constructive understanding of random variables and structures including graphs, Statistics, Likelihood Principle, Decisions (parametric and non-parametric) including hypothesis testing and estimation.

Everyone should get something from this course and it is meant to help one prototype in the most active open-source mathematically consistent ecosystem based around Python.

Course Materials

  1. Download the SageMath .ipynb notebooks as well as images and data directories in the following .zip file:
  2. Unzip it into the directory you launched the SageMath Jupyter notebook server from (see SageMath instrctions below).
  3. You should be able to see all the jupyter .ipynb notebooks by navigating from your jupyter notebook server.

Individual SageMath Jupyter .ipynb Notebooks - add or replace with new or updated notebooks, as they become available to cover target topics including correlation, linear regression and non/parametric hypothesis testing, etc.

Roughly one notebook will be covered per lab/lecture (we have a total of 12 lectures; some of which can go faster).

We will break regularly for exercises as assignments for maximum retention and immediate brain-muscle memory on your operating systems.

Basic Notebooks

Additional Research Notebooks

This is the GitHub directory containing the SageMath contents for the course:

Assignments for Exercising between Lectures

Assignments will be tried in between lab-lectures regulary:

  • first try on your own,
  • start cooperating with your course-mates to learn/co-learn/trach,
  • the solutions will be displayed only after a good amount of time is devoted to solving the assigned exercises.


  1. Download Assignment 1
  2. Download Assignment 2
  3. Download Assignment 3


We will use SageMath locally during face-to-face interactions.

Supplementary Book:

Computer labs

It is strongly recommended that you install SageMath in your laptop or desktop computer for convenience by following the instructions in the next section.

You can also do it in the cloud for free using for collaborative calculation in the cloud. We might do this as the download is happening.

Local: Prepare your laptop on your own

It may be more convenient to install SageMath on your laptop or desktop.

  • Follow the download and installation instructions for your Operating System from the following URL:
  • To test that you have installed correctly do the following:
    • On a Mac OS X or Unix/Linux system, say you installed sage in a directory inside your home directory called ~/all/software/sage/, then you can see if the following command launches a Jupyter notebook server successfully: $ ~/all/software/sage/SageMath/sage -n jupyter
    • Those with Windows should follow the instructions in the following URL and test that the jupyter notebook server launches successfully:

2. By browser for collaborative calculation in the cloud

As a backup in the cloud:

  1. Get a free account in, for collaborative calculation in the cloud.
  2. Upload the course materials as .zip file to your account.

Course on GitHub

The source GitHub directory for the course contents is:

YouTube Video Clips for SageMath Setup

  • Step 1: How to download Applied Statistics Course Content for the first time:
  • Step 2: How to Download SageMath and set it up on your system (done for a similar course):
    • Mac OS X proper way watch
    • Linux (you know better?)
    • Windows - follow instructions above (may not be supported for Windows 7!)