November 2021 How I teach life scientists… R


How I Teach Life Scientists Talk Series

The “How I Teach” talk series is an invitation for anyone delivering professional development to life scientists and educators to share their curriculum, tips, technologies, and approaches. Email to participate or complete a submission form to sign up to give a short talk and/or demo of the teaching skill you want to share. See full blog post for details.

Time and Date for Talks

LifeSciTrainers Community Calls November 2021

  • Thursday November 18, 2021 16:00 UTC (Zoom registration: closed)
  • Friday November 19, 2021 01:00 UTC (Zoom registration: closed)

Register on Zoom for our community call or Join our Slack for more details.


  • How I Teach Life Scientists About Reproducibility and Data Analysis Using R (YouTube)
  • How I Teach Life Scientists to Code in R (YouTube)

How I Teach Life Scientists About Reproducibility and Data Analysis Using R

Luke Johnston, Steno Diabetes Center Aarhus University

Format: Short talk

Key “take home” points

  1. Incorporate and weave in reading, listening, doing, and discussing in class.
  2. Encourage past participants to instruct workshops, and give them documentation and support for on-boarding them.
  3. Emphasize the code of conduct and the safety of the learning space, and embody it.
  4. Provide the material online, easily accessible, and follow it exactly. Deviate as little as possible, and only if relevant.


While reproducibility is a core principle of science, estimating the global reproducibility of studies is near impossible. Lack of incentives to conduct reproducible research, the nearly non-existent sharing of analytic code, and the general lack of awareness and training in it all contribute to this state. Improving reproducibility (and overall openness) requires extensive and fundamental changes to how we conduct science, one way being through training. Our aim was then to create an open, re-usable, and beginner-friendly learning module on how biomedical researchers can do Reproducible Research using the R language (“r-cubed” or R3).

We followed some key principles when making the material: be openly licensed and publicly accessible for more re-use; emphasize creating a safe and supportive environment that empowers participants to engage, question, and learn; use modern and beginner-friendly software and workflows; and use evidence-based learning and teaching practices. We designed the material targeting the participants as well as potential and new instructors.

We’ve ran the course four times with the Danish Diabetes Academy, a national diabetes organization in Denmark dedicated to educating the next generation of diabetes researchers, where it has been consistently highly rated, in demand, and well-received. From the feedback surveys, we find that the skills we teach are in high demand, sought after, and necessary for doing research more effectively. As part of the “teaching is the best way to learn”, almost all instructors of the course have also been past participants, which has immensely helped make the material more accessible to novices. The material is available at, with specific sections detailing how to re-use the material and teach it others. With this course, we hope to start shifting the research culture towards doing better, reproducible, and open science.

How I Teach Life Scientists to Code in R

Gita Yadav, University of Cambridge

Format: Short talk

Key “take home” points

  1. Teaching R to someone who’s never done coding before, can be a challenge and a boon
  2. Setting up, testing (and retesting!) parallel Virtual Learning Environments is crucial
  3. Zen for handling (unanticipated/unheard of!) glitches during a course!


I’ve been teaching R for almost 10 years now, but when a colleague first suggested training ‘online’, I was like “NO WAY!”.

As a programming instructor, you’ve got to be able to detect subtle syntax changes, often commas and spacing issues on your students’ screens, that can block code-chunks, or prevent a smooth learning experience unless sorted in time.

You could (in principle!) handle this on any online meeting platform that allows screen sharing, but it isn’t as simple in ‘virtual’ life. If you stop to allow screen sharing by each participant, the course may never complete. Local differences in Operating systems, R versions, and working directories can also boggle the mind, often needing time to detect or resolve. Each participant should essentially have a copy of your own device including data/settings/packages, as well as access to two separate screens in order to follow your code and instructions correctly. There can be countless other issues that may arise, and handling these offline is already a huge challenge, so I was quite unsure about how we’d fare online.

The past two years of the pandemic have been eye opening, to say the least, bit by bit we have been able to streamline the process of teaching R online at the Cambridge Bioinformatics Facility to such an extent that our students are starting to prefer it this way! We’ve conducted each course dozens of times, and we constantly create/add new courses. We have overcome issues of active interaction and student involvement via breakout rooms, ice breaking chats, and quizzes (with bells and whistles!). We’ve set up VLEs (Virtual Learning Environments) that can be accessed remotely across the globe. We’ve also been able to reach geographical locations and student cohorts that we could not have imagined in the olden days. Students are no longer limited to one physical location, and we’re beginning to meet and connect with trainers from all over the world.

Most importantly, we have a brilliant back end IT team, we’ve tried using VLEs via RStudio Cloud, Amazon AWS, as well as creating parallel remote R-IDE workspace logins on our own servers. We provide live coding experience, live Q&A documents, slack channels and complete video recordings of each session along with detailed course notes, exercises and answers for each course, to enable a smooth learning experience despite local/last minute glitches that might prevent students from accessing a live course.

Glitches can range from local bandwidth, zoom versions, broken links, and to just about anything you can think of, but the upshot is that we’ve overcome borders of language, cultures and nationalities! Getting (and coping with!!) feedback has been a roller coaster journey, but just like the learning curve of any programming language, feedback too, only gets better with time and practice at teaching.

A detailed calendar of all our past and future R courses for Data science, Genomics and much else, open to everyone, at varying levels of knowledge (Beginner/Intermediate/Advanced) is available here.