Pre-reading

This page explains how the course and these notes work, then reviews the mathematics, Python, and chemistry background assumed throughout. Skim it before the first session — none of it is advanced; the goal is a common starting point so that session time can focus on data analysis.

Before reading the sessions: read through the pre-reading, including the math refresher, the chemical background information, and the Python quick implementation.

Before the first in-person session: make sure you have installed Anaconda and Visual Code Studio!

How This Course Works

DSA101 runs two interwoven topics in every session:

  • Statistics & data analytics: experimental design, descriptive and inferential statistics, regression, and an introduction to higher-order methods.
  • Python: the practical skills to apply those concepts to real chemical and biochemical data.

In early session, we need to establish scripting fundamentals, so the material is less interwoven. In later sessions, the Python is directly used to implement the statistical sections.

Using this website:

  • Read actively!: make sure you are not just passively receiving the information. This is one of the highest risks of independent study.
  • Run the code in your browser: many code cells are live; you can edit the code in the cells; to execute the code click Run. Note that the first run loads the Python environment, so give it a few seconds.
  • In the exam, you will be asked to line read code and write minimal code by hand. The work on this website prepares you for these tasks. However, IRL, coding requires setting up an environment and using software to write and run code. If you are only using this website and not coming to the course, you can learn to read and write code at the level of the exam, BUT if you want to learn to code at the level necessary IRL, you will need additional tools, which are covered in the in-person sessions.

Mathematics Refresher

Notation

Symbol Meaning
\(\sum_{i=1}^{n} x_i\) sum of all values \(x_1\) to \(x_n\)
\(\bar{x}\) the line over indicates the mean of the parameter, here the mean of \(x\)
\(\propto\) “is proportional to”

Exponentials and Logarithms

These appear throughout kinetics and regression.

  • \(a^m \cdot a^n = a^{m+n}\) and \((a^m)^n = a^{mn}\)
  • The natural log \(\ln\) is the inverse of \(e^x\): if \(y = e^x\) then \(x = \ln y\)
  • \(\ln(ab) = \ln a + \ln b\) and \(\ln(a^n) = n\ln a\)
  • Exponential decay \(y = A_0\,e^{-kt}\) linearizes by taking logs: \(\ln y = \ln A_0 - kt\)

Rearranging Equations

You should be comfortable solving for any variable. For a calibration line \(y = mx + b\), the concentration of an unknown is: \[x = \frac{y - b}{m}\]

Scientific Notation and Significant Figures

  • \(1.3 \times 10^{4} = 13{,}000\); \(2.5 \times 10^{-3} = 0.0025\)
  • The basics of counting significant figures.
  • Report results to a number of significant figures justified by the measurement precision.

Python verification

You do not need prior Python experience; the course builds it from scratch. Below is just an orientation so that you can see how to run the cells on this website.

If you could run the two cells above, you are ready. If the content and output do not yet make sense, that is exactly what the early sessions teach don’t worry.


Chemical Background

The worked examples and case studies draw on a handful of chemical and biochemical concepts. You do not need to be an expert in any of them, but you should recognize what each quantity means so the data examples make sense.

Percent yield — the amount of product obtained relative to the theoretical maximum: \[\%\text{ yield} = \frac{\text{actual amount}}{\text{theoretical amount}} \times 100\] Used throughout as a continuous outcome (e.g. comparing yields across catalysts).

Catalytic turnover number (TON): TON is for each catalyst molecule, the number of substrate molecules is converted to product before consuming all of the substrate or becoming inactive. \[\text{TON} = \frac{\text{moles product}}{\text{moles of catalyst}}\]

Absorbance (\(A\)): the amount of light a substance is taken in by a substance. This quantity follows Beer–Lambert’s law (below). \[A = \varepsilon\, l\, c \] Where \(\varepsilon\) is the extinction coefficient, \(l\) is the path length, and \(c\) is the concentration of the substance. There is a linear relationship between absorbance and concentration.

Fluorescence: the re-emission of light after excitation.

Reaction kinetics: how concentrations change with time under different reaction orders:

  • First-order: decays exponentially, \([A] = [A]_0\,e^{-kt}\).
  • Second-order: rate depends on the product of two concentrations.
  • Pseudo-first-order: a second-order reaction that behaves as first-order because one reactant is in large excess.

The rate constant \(k\) and half-life \(t_{1/2} = \ln 2 / k\) (first-order) appear in the nonlinear-regression examples.

Michaelis–Menten kinetics: enzyme rate vs. substrate concentration \([S]\) \[v = \frac{V_{max}\,[S]}{K_M + [S]}\] where \(V_{max}\) is the maximum rate and \(K_M\) the substrate concentration at half-maximal rate. A saturating curve and a standard nonlinear-regression example.

Note

These concepts are only the contexts for the data analysis. The statistics and Python skills are the focus, and the chemistry is the setting in which you apply them.


What You Will Be Able to Do by the End

  • Plan an experiment with appropriate controls, replicates, and power
  • Wrangle, visualize, and clearly describe data in Python
  • Choose and apply the correct statistical test for a question
  • Identify and justify the handling of outliers
  • Build linear and nonlinear regression models
  • Recognize use cases for DoE, chemometrics, and machine learning