Context

There are typical guidelines for keeping a notebook of wet-lab work :

  1. Record everything you do in the lab, even if you are following a published procedure.
  2. If you make a mistake, put a line through the mistake and write the new information next to it.
  3. Use a ball point pen so that marks will not smear nor will they be erasable.
  4. Use a bound notebook so that tear-out would be visible.
  5. When you finish a page, put a corner-to corner line through any blank parts that could still be used for data entry.
  6. All pages must be pre-numbered.
  7. Write a title for each and every new set of entries.
  8. It is critical that you enter all procedures and data directly into your notebook in a timely manner.
  9. Properly introduce and summarize each experiment.
  10. The investigator and supervisor must sign each page.

But for dry-lab work... 😨

The concept of the notebook is not new, as these quotes show.

Literate programming

Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do. - Donald Knuth (1984)

Literate computing

A literate computing environment is one that allows users not only to execute commands interactively, but also to store in a literate document the results of these commands along with figures and free-form text. - Millman KJ and Perez F (2014)

And the concept was already in place in the 1980s

First notebook

Wolfram Mathematica notebook (1987)

This notebook concept has evolved since then and in this course we're going to introduce you to three different notebooks:

  • Rmarkdown
  • Jupyter
  • Quarto

Timeline

Appearance of packages allowing the creation of notebooks (source)