Managing Course Workspace for Group projects



What are some optimal methods to permit small group collaborations in a workspace?

In the course I teach, most students have their first exposure to coding of any sort and a first exposure to R. My goal is to allow subsets of contributors work on group projects in a course. Learning to use git is more a more advanced activity than most students will be willing or able to benefit in this particular course.

Students would like to share their work back and forth for these particular group projects. However, a project cannot be accessed by more than one user simultaneously. (a good thing.) The best option at this point is probably for team members to take turns to modify the project. Each group does have a GitHub team and repo, and students understand the purpose of git. One option would be for an admin or moderator to back up individual project repos to the team repo(s) at regular intervals.

As I consider alternatives here are some questions:
How does git work within a workspace for each project?
When a project is copied what are some optimal methods to merge projects?
The most likely scenario is that manual copy/paste operations across files or projects will be the preferred option.

Is there any way that project files can be shared across projects without using GitHub as an intermediary?


Sorry to answer my own question, but a package has perfectly anticipated my question. This brilliant package was developed by Colin Rundel and Mine Cetinkaya-Rundel.


which package is that?


The ghclass package has some functionality for my questions above. I learned about this from their Datascience Course in a box repository.

The ghclass package (described as work in progress) starts a framework for organizing the class. However, once team repositories are set up and the first installment of files for the project are set up, that’s where their package utility ends for my case. The authors warn that files might be overwritten from that point onwards.

I’m looking into the devtools spinoff package usethis.

So, far I haven’t found a way to do daily commits and remote pushes for my students who prefer to know nothing about Git or any form of version control. This would be these (undergraduate psychology) students’ first introduction to coding of any sort. Their level of understanding of version control is something in between simultaneous collaboration on Google Docs and “track changes” in Microsoft Word.

Another solution, would simply be to share access to files (though not simultaneously) within a shared project and RStudio Cloud Workspace. In this case, the use of local git in RStudio Cloud would simply be for backup purposes by the admin/moderator.