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:
- Use an existing set of R materials as the base to build from.
- Combine multiple existing sets of R materials.
- Translate the novice Python lessons to R.
- 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.
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:
- Sarah Supp translated the Python lessons to R in Markdown format, which she used to teach at the NYU bootcamp on March 17th.
- Diego Barneche translated the Markdown into R Markdown.
- Gavin Simpson will perform the first edits to include more R-specific material.
- Naupaka Zimmerman will perform the second round of edits.
- Joshua Ainsley will perform the third round of edits.
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).