C book club for R contributors
This is a book club meeting every two weeks for existing/aspiring R contributors that want to learn/refresh their C programming skills.
It will run from May to August 2023, so that people attending R Project Sprint 2023 have at least a basic understanding of C and how it interfaces with R. However, you do not have to be a sprint participant to join the book club!

Readings
Our main reading will be Modern C by Jens Gustedt. A PDF is available for free download, or there is a 35% discount code for a print or eBook copy (see the Modern C website). This book is organized in levels:
- 0 - Encounter: summarizes the very basics of programming with C.
- 1 - Acquaintance: details most principal concepts and features such as control structures, data types, operators, and functions.
- 2 - Cognition: goes to the heart of the C language, covering pointers, C’s memory model, and most of C’s library interface.
- 3 - Experience: goes into detail about specific topics, such as performance, reentrancy, atomicity, threads, and type-generic programming.
This book club will cover levels 0 to 2 (about 200 pages).
The reading will be supplemented with:
- Selected exercises from C Programming: A Modern Approach by K. N. King (shared under fair use).
- The chapter on R’s C interface from Advanced R (1st ed.) by Hadley Wickham (free online).
Commitment
There are three levels of commitment:
- Low (1-2 hrs/wk): Read the assigned readings, work through the examples in the main text and participate in the online meetings every two weeks.
- Medium (2-3 hrs/wk, recommended): Same as Low, but also try (some of) the selected exercises.
- High (~1 day/wk): Same as Medium, but also try (some of) the challenges in Modern C.
At the online meetings, one book club member will present a summary of the chapter (~10 minutes), reviewing the main points and highlighting any quotes/examples they found particularly helpful/important. This will be followed by discussion, sharing exercise solutions, etc. Book club members are encouraged to sign up to present at one session to spread the load among the group.
Timing
The book club will meet in two cohorts:
- Cohort 1: 12 noon - 1 pm UTC (find 12 noon UTC in your local time).
- Cohort 2: 10 am - 11 am PDT (find 10 am PDT in your local time).
Sign-up to attend the sessions on the R Contributors Meetup.
Schedule and further details
For the reading schedule and shared materials, see the C book club GitHub repo.