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
CLI Educational Game - Bashcrawl
CLI basics


These lessons focus on coding in Python

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

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
Python - Functions
Python - Basic Types & Type Conversion
Python - Lists & Strings & Dictionaries
Python - Flow Control
Python - Loops
Python - Files & CSV
Python - Try & Except
Python - Introductory Graduation
Conda Environments For Software Development
Python - Argparse
Python - Testing
Python - Type annotations
Virtual Environments For Software Development
Python - Globbing
Python - Subprocess
Python - Coding Style
Python - Multiprocessing


These lessons focus on coding in R

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


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

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

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
Basics of using Git from the Command Line
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 Rascheorcid logoAvatarSaskia Hiltemannorcid logoAvatarFotis E. Psomopoulosorcid logoAvatarBérénice Batutorcid 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 CarpentriesAvatarMaria Christina Maniouorcid logoAvatarSofoklis KeisarisAvatarAvans HogeschoolAvatarBazante Sandersorcid logoAvatarHelena RascheAvatarMarius van den Beekorcid logoAvatarFotis E. PsomopoulosAvatarErasmus+ ProgrammeAvatarNU Knight Laborcid logoAvatarSaskia Hiltemannorcid logoAvatarBérénice BatutAvatarDonny Vrinsorcid logoAvatarToby Hodgesorcid logoAvatarPeter van Heusden