Rainbow Train is a dummy learner account used by Lars Schöbitz when teaching. It signs up to every course alongside the real participants and runs on a separate device or browser profile, configured to match what a first-time learner sees: (1) a clean Google Chrome session with no extensions, no saved logins, and no instructor shortcuts; (2) a default RStudio IDE on Posit Cloud, with the same pane layout, theme, and global options that learners get out of the box. Chrome's bookmarks bar holds a single folder for the current course, with links to the course website, the Posit Cloud workspace, and the GitHub organisation for the class.
When an instructor demos a workflow from their own machine, it works because their machine already knows everything: the right Python is installed, GitHub is logged in, the URL is in their history. That is not evidence the course works for anyone else.
Two ideas from the teaching literature motivate Rainbow Train.
Mirror the learner's environment. Greg Wilson and The Carpentries recommend that, during live coding, the instructor's setup should look as close as possible to the learners' setup. If it differs, learners spend energy on the gap instead of on the lesson. See also Teaching Tech Together.
What students see is not what you see. Mine Çetinkaya-Rundel, in her materials on teaching with cloud platforms, tells instructors to make a second account and join their own course as a student. Permissions, default settings, and joining links behave differently for learners, and the only reliable way to find out is to log in as one.
Rainbow Train is that second account, used everywhere a course touches: GitHub, Posit Cloud, Quarto Pub, Google Workspace, the workshop website.
- Before a session. Click every link in the handout as Rainbow Train. If it asks for access or fails silently, participants will hit the same thing.
- During a session. Live coding is done from a setup that matches Rainbow Train: no aliases, no autocomplete tricks, no muscle memory.
- For homework. Submissions, forks, and shared projects are tested by sending them to Rainbow Train first.
- For screenshots. Any screenshots in course instructions and setup guides are taken from Rainbow Train, so they show what learners actually see, not the instructor's customised view.
Two kinds of organisations: programs and group orgs (standing, not tied to a single delivery) and course cohorts (one delivery of a course, usually with a semester or cohort suffix in the name). Dates are the month the GitHub organisation was created.
- 2021-08, ETH Zurich (Global Health Engineering), Global-Health-Engineering
- 2021-10, ETH Zurich (Global Health Engineering), ghe-learn
- 2024-11, ETH Zurich (Global Health Engineering), fairdatapub, fairdatapub-dev, fairdatapub-washcentre, washcentre
- 2021-02, Lars Schöbitz GmbH, rstatszh-k000, rstatszh-k001, rstatszh-k002
- 2021-05, Lars Schöbitz GmbH, rstatszh-k003
- 2021-08, Lars Schöbitz GmbH, rstatsZH-K004
- 2021-09, Lars Schöbitz GmbH, rstatszh-k005
- 2022-08, Lars Schöbitz GmbH, rstatsZH-k006
- 2023-02, Lars Schöbitz GmbH, rstatszh-k007
- 2023-04, ETH Zurich (Global Health Engineering), ost-hs23
- 2023-05, CU Boulder (Mortenson Center), cven5873-ss23
- 2023-08, Lars Schöbitz GmbH, rstatsZH-K008
- 2023-09, ETH Zurich (Global Health Engineering), ds4owd-001
- 2024-01, ETH Zurich (Global Health Engineering), rbtl-fs24
- 2024-07, Lars Schöbitz GmbH, rstatszh-k009
- 2024-10, ETH Zurich (Global Health Engineering), rbtl-fs25
- 2024-11, Lars Schöbitz GmbH, rstatszh-k010, rstatszh-k011
- 2025-02, ETH Zurich (Global Health Engineering), ds4owd-002
- 2025-05, ETH Zurich (Global Health Engineering), gitforsci-cis; CU Boulder (Mortenson Center), cven5999-ss25
- 2026-05, Lars Schöbitz GmbH, rstatszh-k012; CU Boulder (Mortenson Center), cven5999-ss26
