The following digital tools were used to develop this site:

• R: R is a software language and programming environment for statistical computing and for the graphical analysis of data. It is available for use as “Free Software”" under the terms of the Free Software Foundation’s GNU General Public License.
• Rmarkdown: Rmarkdown is a package for R that combines simple markdown authoring tools for formatting text with chunks of R code; when compiled using knitr the resulting output is a formatted document that contains the results of executing the embedded R code. Although Rmarkdown can produce files in a variety of formats, the two of particular interest in this project are html and pdf formats.
• RStudio: RStudio is an integrated development environment that, among other features, provides a console for running R, a window for editing files, a window for managing files, a window for viewing plots, a window for viewing help files, and an internal browser window for viewing dynamic content. RStudio also provides tools for automating many tasks. Although RStudio is a convenient way to manage this project, it is not a requirement as it simply provides a way to work with R and Rmarkdown.
• R Packages: One of the strengths of R is the availability of packages of R functions that are designed to work with data. The materials in this project, for example, use the plotly package to create interactive graphics, the DT and the magrittr packages to create interactive data tables, and the animation package to create video animations.

This website consists of a set of .Rmd files created using Rmarkdown and two .R script files that contain functions written to simulate, plot, and extract data from cyclic voltammetry experiments (cvFunctions.R) and to draw redox ladder diagrams (ladder_pot.R). Each .Rmd files was converted into an html webpage and then linked together into a single website—the structure for which is defined by a user-written _site.yml file—using the command

rmarkdown::render_site()

As a student work through the material, s/he can edit any of the .Rmd files by adding text and chunks of R code, perhaps to answer a problem, to annotate existing text with comments, to make a list of questions to explore; and s/he also can create new .Rmd files and add them to the _site.yml file. Rendering any pre-existing .Rmd file using the command

rmarkdown::render_site("file.name")

will update its .html file. When adding a new .Rmd file, it is necessary to add it to the _site.yml file and to re-render the full site by using the command

rmarkdown::render_site()

You can obtain a complete copy of all files at the project’s Github site.