Contributor Guidelines#
Welcome to the Contributor Guidelines page! To ensure consistency and quality across all our courses, we have established specific standards for different programming languages. These guidelines will help you understand the preferred tools and formats for delivering course content.
Language-Specific Standards#
Python#
For Python courses, we have decided to use Jupyter notebooks. Jupyter notebooks provide an interactive environment where learners can write and execute Python code, visualize data, and annotate their code with markdown cells. This format is ideal for Python courses because it allows for seamless integration of code and explanatory text, making it easier for learners to follow along and understand complex concepts.
Guidelines for Python Courses:#
Use Jupyter notebooks (
.ipynb
files) for all course materials.Ensure that code cells are well-commented and include explanations in markdown cells.
Include visualizations and plots where applicable to enhance understanding.
Use Jupyter widgets or interactive elements to create engaging learning experiences.
Test all notebooks to ensure they run correctly from start to finish.
R#
For R courses (except Introduction to R), we have chosen to use learnr tutorials. The learnr package in R allows for the creation of interactive tutorials that can include markdown formatted text, R code examples, exercises, and quizzes. This format is particularly suited for R courses as it engages learners with hands-on practice and immediate feedback all in a single document.
These tutorials are distrbuted as an R package cfrr-r-tutorials and should be developed in that repo. A homepage, with details on the course and instructions for how to launch the tutorial should be included in this repo.
Guidelines for R Courses:#
Use learnr tutorials (
.Rmd
files) for all course materials.All courses will have a pre-requisite that the participants have some familiarity with R, however the precise details to what is this includes will depend on the course , and needs to be defined.
Incorporate interactive code exercises and quizzes to reinforce learning.
Ensure that tutorials are self-contained and include all necessary data and instructions.
Use clear and concise explanations in markdown to guide learners through the content.
Test all tutorials to ensure they function correctly and provide accurate feedback.
Course Delivery#
Courses may be delivered in different ways depending on the tools available and the nature of the content. It’s important to adhere to the standards outlined above to maintain consistency and quality across all courses.
Conclusion#
By following these language-specific standards, contributors can help us create high-quality, consistent, and engaging learning experiences for our learners. Thank you for your contributions!
Additional Resources#
For more detailed guidelines and resources, please refer to the following links:
We appreciate your cooperation and look forward to your valuable contributions!