Foundations of Data Science

These lessons will help you get your feet in data science and give you tools to help you slice and dice your data into results.

You can view the tutorial materials in different languages by clicking the dropdown icon next to the slides (slides) and tutorial (tutorial) buttons below.



These lessons focus on using the Command Line Interface (CLI) and Bash for processing data.

Lesson Slides Hands-on Recordings
Advanced CLI in Galaxy tutorial
CLI basics tutorial
CLI Educational Game - Bashcrawl tutorial


These lessons focus on coding in Python

Lesson Slides Hands-on Recordings
Introduction to Python tutorial
Advanced Python tutorial
Plotting in Python tutorial

Python (Modular)

These lessons cover coding in Python except they attempt to be very modular, having few interdependencies, allowing you to re-arrange or insert them in your existing course curriculum as needed.

Lesson Slides Hands-on Recordings
Python - Math tutorial
Python - Functions tutorial
Python - Basic Types & Type Conversion tutorial
Python - Lists & Strings & Dictionaries tutorial
Python - Flow Control tutorial
Python - Loops tutorial
Python - Files & CSV tutorial
Python - Try & Except tutorial
Python - Introductory Graduation tutorial
Python - Argparse
Python - Globbing tutorial
Python - Subprocess tutorial


These lessons focus on coding in R

Lesson Slides Hands-on Recordings
R basics in Galaxy tutorial
  • Advanced R in Galaxy
  • dplyr & tidyverse for data processing tutorial


    Here you'll learn to use SQL to query databases and extract meaningful results from them.

    Lesson Slides Hands-on Recordings
    Advanced SQL tutorial
    Introduction to SQL tutorial
    SQL Educational Game - Murder Mystery tutorial
    SQL with Python tutorial
    SQL with R tutorial

    Scientific Workflow Management Systems

    Here you can find brief tutorials on a couple different workflow engines that you might encounter in the wild.

    Lesson Slides Hands-on Recordings
    Make & Snakemake


    Assorted tutorials

    Lesson Slides Hands-on Recordings
    Variant Calling Workflow
    Version Control with Git

    Frequently Asked Questions

    Common questions regarding this topic have been collected on a dedicated FAQ page . Common questions related to specific tutorials can be accessed from the tutorials themselves.


    This material is maintained by:

    orcid logoAvatarHelena Rasche orcid logoAvatarSaskia Hiltemann orcid logoAvatarFotis E. Psomopoulos orcid logoAvatarBérénice Batut orcid logoAvatarYvan Le Bras

    For any question related to this topic and the content, you can contact them or visit our Gitter channel.


    This material was contributed to by:

    AvatarThe Carpentries orcid logoAvatarHelena Rasche AvatarBazante Sanders AvatarErasmus+ Programme AvatarAvans Hogeschool AvatarDonny Vrins AvatarNU Knight Lab orcid logoAvatarSofoklis Keisaris orcid logoAvatarFotis E. Psomopoulos orcid logoAvatarSaskia Hiltemann AvatarMaria Christina Maniou orcid logoAvatarBérénice Batut orcid logoAvatarToby Hodges