A working list of learn-by-doing open source resources

The thing that stuck with me about learning R years ago was swirl — it taught you R inside R, one nudge at a time. Learn-by-doing, not learn-by-reading. I keep thinking that’s the bar for the self-study resources we point people to in the OSPO: not just docs, but something you can practice in.

This started when I came across a roundup of sites every DevOps engineer should bookmark. A lot of it crosses straight over to what we teach — git, the command line, containers, sustainability practice — so I started pulling out the interactive ones. We already list some of these; consider this the additive pass.

Each is tagged with a learning-resource type — the small vocabulary I’d like us to standardize on for the Bioschemas learningResourceType field: Tutorial · Lab · Game · Challenge · Course · Path · Reference · Guide. (Topic = the section; type = the tag. Two separate axes.)

Git & the command line

Contributing to open source

Research software & sustainability (our “why”)

  • INTERSECT (intersect-training.org) — modular RSE training for self-guided learners · Course (already in our inventory)
  • The Carpentries — episodic, hands-on; already our delivery world · Tutorial
  • Exercism — guided exercises with mentorship · Challenge
  • swirl (swirlstats.com) — the R-in-R original · Tutorial

DevOps, containers, cloud

  • roadmap.sh DevOps — interactive learning path · Path (via the article)
  • KillerCoda — browser-based scenarios (Katacoda’s successor) · Lab
  • KodeKloud — 800+ DevOps labs and playgrounds · Lab
  • TryHackMe, picoCTF — gamified security, good for students · Game

For the OSPO itself (strategy, not self-study)

I don’t think this is the list yet — it’s the start of one. The open question I want to take to the group: which of these actually serve researchers and librarians, versus engineers who already speak the language? My plan is to keep a running scan of what’s new each month and fold the good ones in before they reach our formal inventory — tagged with the same learningResourceType vocabulary so everything stays consistent.