Data ScienceBeginner

Data Science Workflow: Jupyter, Git and Reproducibility

Notebooks, environments, version control and projects that others can rerun.

Taught by Bibek Sharma · Data Scientist

What you'll learn

  • Create, activate and freeze an isolated Python environment for each project with venv or uv
  • Work efficiently in JupyterLab with kernels, shortcuts and restart-and-run-all as a habit
  • Use Git to track changes, write meaningful commits and push a project to GitHub
  • Organise a data project with a standard folder layout, a .gitignore and read-only raw data
  • Turn a messy exploratory notebook into a clean, parameterised one that runs end to end
  • Publish a project with a README, pinned dependencies and exported results others can reproduce

About this course

Every data science course assumes you can open a notebook, install packages without breaking anything, save your work in Git and hand a project to someone who can run it. Few teach it. This free course is the on-ramp: you will set up JupyterLab, create a Python virtual environment with venv or uv and pin its dependencies, learn the daily Git loop of status, add, commit and push, organise a project so raw data stays untouched and results are regenerated by code, and make notebooks that run cleanly from top to bottom. You finish by publishing a small, reproducible analysis to GitHub with a README a stranger could follow. It is for complete beginners to data tooling; no prior Git or terminal experience is needed, just Python installed and a willingness to type commands.

Course content

6 lessons
  1. 1Why Reproducibility MattersThe works-on-my-machine problem, the four pillars of a rerunnable project, and what good looks like.Preview
  2. 2Python Environments You Can RecreateOne environment per project with venv or uv, pinned requirements, and what to do when installs break.
  3. 3JupyterLab EssentialsNotebooks versus scripts, the JupyterLab interface, keyboard shortcuts and healthy notebook habits.
  4. 4Git Basics for Data WorkWhat Git tracks, the daily add-commit-push loop, and how to recover from mistakes.
  5. 5Project Structure and Handling DataA standard folder layout, read-only raw data, a .gitignore for data work and keeping secrets out of code.
  6. 6Notebooks Others Can Rerun and ShareCleaning up exploratory notebooks, running them headlessly with parameters, and publishing with a README.