Compartmentalized Documented Extendible Reproducible Robust

Overview

In this half of the workshop, I’ll go over some tips for how you can create workspaces for collaborating or for teaching.

  • Create a project that students open from a link
  • Create a shared workspace where student create projects
  • Special software: Stan, TMB, etc

Create a project for students to use

In this case, we create a project that students will open from a link.

https://github.com/RVerse-Tutorials/TestPackage

Here is an example. Click this and you’ll open a project that you can work with. https://rstudio.cloud/project/3430079

Let’s see how I created that.

Pros

  • Simple
  • Doesn’t burn up your project hours
  • Doesn’t matter how many students you have
  • They can work in a temporary copy or save to their account

Cons

  • You can’t see their work
  • Not for collaborating, rather for sharing
  • If you have a Premium account, they will be much more limited in RAM

Create a workspace for students to use

Demo

Pros

  • If you have money or institutional support, you can have lots of RAM and CPU and students can share this more powerful workspace.
  • You can see their work and give feedback or problem-solve. But you can’t both be in the space at the same time.
  • Good way to collaborate with a small group on the same project (but not at the same time).

Cons

  • On the free account, it works up to 4 members. You need to pay a not insignificant amount of money to get a lot of students.
  • Not so sure it would scale up to 100s of students unless you are at a university (which gets steep discounts). Your RAM limit would get hit.

Installing special software

One of the great features of using a cloud platform is that you can install software that would be a major hassle for your students to install:

  • You have no idea what operating system they are using or its vintage
  • They might not have admin access
  • Install might be (substantially) different on different operating systems
  • There could be many steps involved
  • They might be moving between machines (home, work, computer lab)
  • You might want to demo on a machine without having to install anything

Sadly, you are very likely to run into the limitation of 1 gig of RAM in the Free and Free-Plus tiers. The next tier is Premium and that is $99 a month. Better option is using AWS and setting up an RStudio free server.

Examples

https://rstudio.cloud/learn/guide/system-packages

Cost

For occasional use and code-sharing, the free plan should be fine. At most, you might need the Plus plan ($5 per month). https://rstudio.cloud/plans/free

Alternatives

  • Here is how I set up a Jupyter Hub on AWS. Useful for small workshops.
  • Here is how I set up RStudio Server on Binder for running Rmds from any repo. This is for creating links so users can run demo code. Note Binder has the same 1 Gig RAM limitation.

Things to be aware of

  • I have found it to be a little prone to R stopping. Still 100% useable by students though.
  • bug if you are using RMarkdown docs “if you re-run a code chunk in an RMarkdown document - think something like clicking the green arrow to the right of the code chunk twice - there stands a chance that the R session will disconnect.” “this is a bug with the RStudio IDE, but there is a fix. Namely, one can uncheck/turn off the “Save documents when editor loses input focus” setting, which can be done through the command palette (available on the Tools menu; see Tools -> Show Command Palette). This has to be done on a per-project basis."

NWFSC Math Bio Program