Data science is the intersection of engineering, analytics and business.  Below is our teaching curriculum grouped by these three dimensions:


  • Data science tools – text editors, development environment setup
  • Programming practices – test driven development, reproducibility, packaging
  • Python – Pandas, NumPy, Scikit-Learn, Matplotlib
  • SQL
  • Using a Bash shell
  • Git & GitHub
  • Data visualisation – D3
  • Deploying models with Flask and Docker
  • Distributed machine learning with Spark


  • Probability & Statistics
  • Foundations of Machine Learning
  • Practical Machine Learning
  • Working with Small Samples
  • Backpropagation & Deep Learning
  • Computer Vision with PyTorch
  • Sequential Models with TensorFlow
  • Natural Language Processing (NLP)
  • Unsupervised Learning
  • Interpreting Machine Learning models
  • Reinforcement Learning


  • Technical communication and presentation skills
  • Interview question practice & preparation


Data Science Retreat is an advanced program; we have higher initial requirements than most data science bootcamps. Don’t worry if you aren’t where you need to be yet; we are here to help no matter where you are in your data science transition.

before the interview

There are no strict requirements on your level before the interview.  Most participants have already taken their first steps learning Python or machine learning before the interview.  

We recommend that anyone considering studying at Data Science Retreat to book an interview; we are happy to give advice on what you can study to get up to speed.

before the bootcamP

Below we outline the required knowledge for our participants to explore before they study with us:


For Python, we expect students to be familiar with the following concepts outlined in the Python Tutorial:

  • Variables, Strings, Floats, Integers (Section 3)
  • Conditionals (Section 4.1 – 4.5)
  • Functions (Section 4.6, 4.7.1, 4.7.2)
  • Lists (Section 3.1.3, 5.1)
  • Tuples, Sets, Dictionaries (Section 5.3 – 5.5)
  • Reading & Writing Files (Section 7.2)

Linear Algebra & Probability

For linear algebra, participants are expected to understand:

  • the difference between a scalar, matrix & tensor
  • element-wise matrix multiplication & dot products

For probability, we expect participants to be familiar with:

  • independent, marginal and conditional probabilities
  • expectation & variance
  • the Bernoulli & Gaussian distributions

machine learning

For machine learning, we expect students to have:

  • familiarity with random forests & logistic regression
  • familiarity with bias & variance
  • understand the difference between test & train error
  • implemented a machine learning project from scratch, making use of pandas, matplotlib & scikit-learn.  The Titanic or MNIST datasets are a good place to start


One of the most beautiful features of data science is access to resources to learn from; below are some of our favourites.




To join our next batch