Teaching basic lab skills
for research computing

Summary of March 2014 Meeting to Discuss Novice R Material

Last week we had our first meeting to discuss the development of the novice R material. Our goal was to determine our plan for collaboratively creating the lessons.

Current state of SWC R material

We have already taught many R bootcamps. However, since there is no canoncial set of SWC lessons, SWC R instructors have been independently developing separate sets of lessons. Great material has been developed, but organizing and teaching a bootcamp is already a lot of work without also having to develop the curriculum. Furthermore, this approach divides our contributions leading to lots of duplicated effort. Ideally we would all contribute to the same lessons to create a better result than any of us could have acheived individually. However, this state of affairs was not surprising since collaborative lesson development is still immature.

Thus we had four main options to choose from:

  1. Use an existing set of R materials as the base to build from.
  2. Combine multiple existing sets of R materials.
  3. Translate the novice Python lessons to R.
  4. Start from scratch.

Option #1 requires a lot of effort from the original creator of the materials since she or he is the most familiar with the state of the material (as an example, this is the option we chose for the intermediate R lessons, with Karthik Ram not only developing the materials but also updating them after others reviewed each lesson). Option #2 has the benefit of combining the best parts of multiple sets of bootcamp lessons, but the big drawback is that it would require volunteers becoming familiar with the content of the multiple sets of lessons. Option #3 aligns the Python and R materials, but also presents the challenge of introducing R-specific control flow and data structures within a lesson originally developed for Python. Option #4 is the most open-ended option, but also requires the most work.

Our plan

We decided on Option #3, translating the novice Python lessons to R. This allows the SWC R community to benefit from the recent discussion around creating novice Python material (and of course hopefully allow us to contribute back our findings from teaching these lessons at bootcamps to improve both the R and Python lessons). Here is our plan:

Between each round of edits, everyone will be able to contribute comments/suggestions to the pull requests.

How to get involved

There are lots of ways you can get involved in the development of the novice R material, including:

  • Join the r-discuss mailing list.
  • Review the forthcoming pull requests.
  • Test rblocks, a new R package developed by Ramnath Vaidyanathan to implement Matt Davis' ipythonblocks.
  • Create domain-specific lessons that could supplement the main novice R materials (I'd recommend proposing your idea on the mailing list prior to developing an entire lesson).

COMMUNITY

Dialogue & Discussion

You can review our commenting policy here.