Quantitative Methods in R for Biology is an open-source course, aimed at a third- to fourth-year undergraduate level.
Anyone can contribute to the course repository via pull requests.
We use GitHub flow to manage changes:
- Create a fork of this repository, and clone it to your local computer.
- In your local copy of this repository, create a new branch.
- Commit your changes to that branch.
- Push the edits on that branch to your fork on GitHub.
- Submit a pull request to the master repository (
UofTCoders/rcourse
). - Your pull request will trigger a Travis build (see below for details).
- If you receive feedback on your pull request, or encounter errors in the Travis build, make further commits to the new branch on your fork. These will automatically be added to your pull request.
You may wish to look at How to Contribute to an Open Source Project on GitHub for more detailed instructions. The GitHub Glossary is also a useful resource that explains Git-related terminology.
We use Travis CI to test all materials in the course repo. Any changes in the form of a pull request will trigger a Travis build, where Travis will attempt to test the code in the repo, knitting all lesson materials in the process. Any errors will cause the Travis build to fail.
Pull requests can only be merged into the repo with a passing Travis build; this is to ensure that all course material is functional. If you submit a pull request that does not pass a Travis build, a traceback to the error can be found on the link to that pull request's respective build.
More on the practice of continuous integration can be found on Travis CI's website.
We follow a consistent format across all course materials. A lesson template can be found here.
-
All lesson material is in R Markdown (
.Rmd
) format. -
All lessons begin with a Lesson Preamble, subdivided into 'Learning objectives' and a 'Lesson outline'. The outline should also list approximate time requirements for each segment.
-
Lessons include a mix of code chunks and text, organized using Markdown headers.
-
Students should be able to follow the contents of the lesson from the text alone; i.e. the file should contain all conceptual explanations.
-
All assignments are in R Markdown (
.Rmd
) format. -
Assignment files contain a numbered list of questions and are comparatively light on code. They are designed such that students fill in answers by adding in code chunks of their own.
-
Code chunks in assignments should mostly be limited to loading required packages, downloading required data, or data cleaning if necessary.