ARCHIVED: Activity and development for a similar project has moved over to https://github.com/rostools/r-pkg-intro
I understand that students enjoy it, but it's merely useful.
-- A research professor speaking about an early version of this material.
Computers are now as essential for research as telescopes, test tubes, and libraries, which means that researchers need need to know how to use, build, and share software. However, most introductions to programming focus on developing commercial applications, not on exploring problems and answering questions from the perspective of a researcher. Software built for research purposes has different needs and requires different skills and knowledge. People who make these software are called research software engineers, and the aim of this book is to get you ready for this role---to help you go from writing code for your own use to creating tools to help your entire field advance.
This repository hosts the book that contains the material for (potentially) a semester-long course on learning to do research software engineering with R. For more detail on the book, check out the overview.
The lessons and material in this book are designed for a participatory live-coding approach. Live-coding is when an instructor types and runs code in front of the class, while the class follows along using their own computers. Exercises are interspersed throughout the lesson material to reinforce learning and practice the skills on different problems. The final aim of the book is for learners to create an R package of their own, individually and in a group setting.
The teaching material is found mainly in the main project folder in the files:
index.Rmd
: Contains the overview of the book.- Chapter files start with two numbers (e.g.
01-
)
The website is generated from Quarto, so it follows the file and folder structure conventions from that package.
Packages used and depended on for this book are included in the
DESCRIPTION
file. To install the packages, run this function in the
root directory, where the r-rse.Rproj
file is located:
# install.packages("pak")
pak::pak()
If you are interested in contributing to the book material, please refer to the contributing guidelines. Please note that the project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
This book owes its existence to everyone we met through the Carpentries.