Programming and maths for chemists

The growth of computing at Universities and Facilities has been massive in the past ten years. However, students in the physical and life sciences are not able to harness these tools, due to a lack of undergraduate training in programming. The pythoninchemistry project aims to offer students of chemistry an introduction to programming using the Python language.

Software packages, such as pylj [1], have been created to allow students to utilise these programming skills in a chemistry-relevant context. pylj is designed to allow students to easily interact with molecular dynamics and Monte Carlo simulations and has now been implemented in Bath’s undergraduate computational chemistry laboratory [2] Furthermore, it is also possible to develop online, open educational resources that may be used by anyone to gain familiarity with a particular topic in their own time. For example, the “The interaction between simulation and scattering” module developed as part of the pythoninchemistry project [3].


  1. A. R. McCluskey, B. J. Morgan, K. J. Edler, & S. C. Parker. (2018). pylj: A teaching tool for classical atomistic simulation. Journal of Open Source Education, 1(2), 19, 10.21105/jose.00019.
  2. A. R. Symington, & A. R. McCluskey. (2018, October 30). symmy596/Advanced_Practical_Chemistry_Teaching: Advanced Lab 2018 (Version 1.0.0). Zenodo. 10.5281/zenodo.1475176
  3. A. R. McCluskey, J. Grant, A. R. Symington, T. Snow, J. Doutch, B. J. Morgan, S. C. Parker, & K. J. Edler. (Submitted). arXiv:1902.01324

Take Two

More programming in tutorials

Jupyter Notebooks in Tutorials

Programming to make maths simpler