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