I am using RStudio Cloud to teach a course remotely. I wanted the students to complete a homework assignment collaboratively in small groups, but I have not been able to find a really good workflow to do so. I managed to get through one homework assignment with the following steps and was hoping that other instructors might be able to chime in with other ideas and / or that some of the RStudio Cloud developers could consider features that would make doing homeworks in small groups easier on everyone.
I have a space on RStudio Cloud for my class, but it does not seem to be possible to create homework groups within a space. For example, a project can only be private or visible to everyone in the class, whereas for homework groups I would want an option to make a project visible to everyone within the homework group (plus myself and the teaching assistants) but not to students in other homework groups.
So, I created another space on RStudio Cloud called
HW1 that has a base project with an RMarkdown file with the homework questions, another RMarkdown file that provides a template where students can write answers, a dataset, etc. I would then click on the icon that allows me to
Copy Space in order to start to create a homework group, called
HW1A for example. I would then go into the (inherited) base project for
HW1A and knit the RMarkdown file with the homework questions into a PDF. The RMarkdown file generates homework questions with some randomization, so I needed to knit it into a static PDF before any students saw it. I then deleted the RMarkdown file with the homework questions from the base project for
HW1A. This would have been easier if there were an optional R script that could be run whenever a space is copied.
I went through the manual steps in the previous paragraphs for as many homework groups as I needed to create (giving them each a different letter suffix). I then accessed my spaces from my laptop using the rscloud package. The rscloud package made it fairly easy to randomly assign students to homework groups programatically (although it would have been better if I could have created the spaces from rscloud). However, a student (contributor) in a homework group cannot see the names of other students in the homework group until those students have accepted the email invitation to join
HW1A or whatever, whereas the admin and moderators can see the email addresses of students who have been invited to a homework group but not yet accepted. This caused frustration among the students because they could not contact the other students in their homework group who had not yet accepted the email invitation. It would be easier if contributors could see the list of invitations and / or if there were a way in rscloud to make students members of a space without requiring them to first accept an invitation.
The students did not have too much trouble creating projects within their assigned spaces, which came with the PDF assignment, RMarkdown template for answers, dataset, etc. However, it does not seem to be possible through rscloud or otherwise to programatically check how much time students spend on a project. It is possible to click on the graph icon in RStudio Cloud to get this information for each space, but it can't be downloaded and I would have to screenshot each homework group manually.
It would be a little better if each project on RStudio Cloud comes fully equipped to knit RMarkdown documents. I installed the knitr, rmarkdown, and tinytex packages into the base project of the parent space and ran
tinytex::install_tinytex(). However, the tinytex installation did not get inherited when the parent space was copied to form the space for each homework group (although the tinytex R package did). Thus, when students first tried to
xelatex their answers, they got confusing error messages from Pandoc due to the lack of an accessible tinytex installation.
Finally, it does not seem possible to hide or archive a space in RStudio Cloud, so every time I create a bunch of new spaces for homework groups, they just accumulate on the left-hand side of my login screen. It would be nice if there were some way to not have to scroll through the outdated homework groups without having to delete them.
Thanks for reading!