Tools for teaching

Whether you are teaching for the first time or you are a seasoned educator, you know that finding the right tools can make or break any learning experience. As professional data science educators, we offer some opinionated advice about how to choose your computing infrastructure, and which packages are worth your time for adding value to your teaching.

Computing infrastructure

A common friction point for getting students (and faculty) started with computing is installation and setup. Having the right computing infrastructure in place can make life easier for you as an educator, and can help put your learners on the happy path early. We have found that paying careful attention to your technical stack before you start teaching can minimize frustration and improve buy in for both students and instructors.

  • Sign up for RStudio Academic pricing. RStudio offers special academic pricing discounts for our professional products to qualified academic institutions. This includes RStudio Server Pro, Connect, and Package Manager. To find out if you qualify, please read more here. To get academic pricing, contact the RStudio Sales team.

  • Use RStudio Cloud in the Classroom. RStudio Cloud is a managed cloud instance of the RStudio IDE. This means you and your learners can use the RStudio IDE directly from your browser - there is no software to install and nothing to configure on your computer. Using RStudio Cloud early in a workshop or course allows you to circumvent the installation step and skip right to the good stuff. This webinar walks you through the steps of setting up your course on RStudio Cloud, highlighting the various functionalities for teachers and students.

  • Craft your course infrastructure. The article Infrastructure and tools for teaching computing throughout the statistical curriculum discusses computational infrastructure and toolkit choices for modern educators using RStudio Server and RStudio Server Pro. The authors provide links to technical notes on setting up these systems for teaching, intended for both academics and IT professionals. (Note: A peer reviewed, but pay-walled version of the article can be found here.)

  • Use version control. Our team uses GitHub. A lot. We use it for version control, but also for its side benefits: GitHub makes it easier to collaborate with others and share content with learners. If you aren’t using version control yet, take a few minutes to read the article “Excuse me, do you have a moment to talk about version control?" Now that you are convinced, bookmark Happy Git with R also by Jenny Bryan. This free online book contains battle-tested instructions for setting up Git, GitHub, and RStudio across all operating systems. Use it yourself, and send your learners there too.


After you get your tech stack set up, you’ll want to think about packages that can help you create and deliver your content better. Several of RStudio’s open source R packages can be very helpful when creating, organizing, and delivering your educational content.

  • Create interactive tutorials with the learnr package. The learnr package is designed to turn any R Markdown document into an interactive tutorial. The final product can be published all of the same ways that Shiny applications can, including running locally on an end-user’s machine or running on a Shiny Server or hosting service like All of the Primers are written with learnr — you can see the source code in this GitHub repository.

  • Grade learnr tutorials with the gradethis package. Once you’ve created a tutorial, you’ll probably want to evaluate learners’ solutions, and provide targeted feedback based on their input. Gradethis is a package that grades code and provides meaningful feedback in learnr interactive tutorials, or as a standalone code grader. It gives instructors the ability to capture code submitted by a student and checks it by comparing the final result, the actual code, or against a set of test conditions. When gradethis is used to compare a learner’s code against solution code, it can report how the answer differs.

  • Give your teaching materials a place to live. Many educators who teach R (or teach with R) have embraced the bookdown package, which helps you take a collection of R Markdown documents and knit them together into a polished website that engages learners. You can see some example books by browsing But you don’t have to write a whole book — some of the best bookdown examples are from course or workshop notes like Columbia University’s Exploratory Data Analysis & Visualization (, R Markdown for Scientists by Nick Tierney, and What They Forgot to Teach You About R. And once you’ve been bitten by the *down bug, you may not ever recover — you may start making websites for all your workshops with blogdown and making all your slides with R Markdown.

  • Get serious about using GitHub in your classroom. The ghclass package provides a suite of functions to manage courses via GitHub repositories for as few as two and as many as 400 learners. This package will help you if your aim is to teach learners how to use version control with R as part of a modern data science workflow, and you want to reduce your own and their Git pains. This vignette lays out the nitty-gritty of setting your class up in GitHub with ghclass.

  Where to next? Catch us on our blog...