C book club for R contributors

Book club in May to August 2023 designed for R contributors to develop skills in C programming.

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!

Woman studying in a library with books and a laptop

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:

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:

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.