Free · Open source · CC BY 4.0
The computational skills nobody taught you in your science degree.¶
Project-based tutorials. Each one ends with something real on your GitHub account, not with notes.
- 3 tutorials, written and tested on real people
- 6 more planned, in order
- 0 accounts to create, apart from GitHub
Who this is for¶
You're finishing a degree in biology, chemistry, biomedical engineering, physics, or something adjacent. You can write code that analyses your data — a script that reads a CSV, fits a curve, makes a plot. But you've never used a terminal for anything serious, you're not sure what a pull request is, and you have no idea what employers actually look at when they open your application.
That gap isn't a gap in your intelligence or your science. Nobody taught you this, because it isn't on anyone's syllabus.
What this is¶
A set of project-based tutorials. Each one walks you through building a real thing that ends up on your GitHub account, public and visible to other people. You will finish each tutorial with an artefact, not with notes.
This is deliberately not a reference manual. It doesn't cover everything, and it teaches things in the order you need them rather than the order they'd appear in a textbook. When a tutorial skips something, that's usually on purpose.
The tutorials¶
Start with the first one. After that, two and three can be done in either order.
-
Get something of yours live on the internet in the first twenty minutes, then learn git, the shell, and HTML by improving it.
-
Pipes, globs, and
grep, on 1.2 million rows of real human genetics data — more than a spreadsheet can physically hold. -
3. Redesign your website without fear
Branches, five ways to undo, and getting back a file you deleted on purpose — on the site you are already afraid to touch.
What's coming¶
Planned, in roughly this order:
- 4 Fix something on this site — your first pull request, reviewed by a real person, on a repository other people read.
- 5 Make a stranger's code run — virtual environments and pinned dependencies, proven by deleting yours and rebuilding it.
- 6 One command from raw data to figure — project structure, notebooks vs. scripts, and never touching
data/raw/. - 7 The function you keep copy-pasting — packaging a helper you already wrote, until
pip installworks for someone else. - 8 Run something longer than your laptop's battery — SSH,
tmux, moving data, and job arrays on a cluster. - 9 The ninety-second version of you — profile README, pinned repositories, and what a hiring manager actually sees.
Further out, not yet slotted into the order:
- Ask a question that gets answered — reading a traceback, building a minimal example, and writing an issue nobody closes.
- Data that lies to you — Excel and your gene names, encodings, dates, and joins that quietly drop rows.
- Tests that catch your mistakes —
pytest, and a green badge that re-checks your work on every push. - Automate the thing you do every Monday — a scheduled job that updates your site while you sleep.
- Figures people can read — vector formats, colourblind-safe palettes, and figures built by a script you can re-run.
- A manuscript that survives four co-authors — writing under version control, built to PDF automatically.
Nothing here has a date attached. The list is public so you can tell whether it's worth bookmarking.
Who wrote this and why¶
Want this taught to your group?¶
The tutorials started as live sessions, and they still work best that way.
-
Run the course for your people
A lab, a department, a graduate programme, a summer school. In person or online, as a single day or spread across several weeks, and shaped around what your group already knows rather than what the tutorials assume.
-
Book a consultation
One to one, on something specific: an analysis that needs to be reproducible, a project that has outgrown a folder of scripts, or a CV and GitHub profile that don't yet show what you can actually do.
Either way, email me at katarina.gresova@mdc-berlin.de. It helps if you say who the audience is and what you'd like them to be able to do afterwards.
Nothing to install before you begin¶
Twenty minutes and a browser get your first page live. The rest builds on that one.
Got stuck, or something here is wrong?
Open an issue on the repository. Questions are genuinely useful to me — every one of them tells me where a tutorial isn't doing its job.
