Teaching Advanced Practical Chemistry - Part II After the introduction to molecular dynamics in week 1, the students were unleased on their own mini-research project - investigating the transport properties of CaF2. In this exercise, we wanted the students to

Teaching Advanced Practical Chemistry - Part I A few months ago, I volunteered, along with Andrew McCluskey to rewrite the third-year computational chemistry lab module at the University of Bath. At the time, Andrew had just published his summer procrastination

Applications Python > Excel A friend runs a blog which discusses the use of small-angle scattering (which is also a major area of work for myself). However, today he posted a blog discussing the minimum concentration of

Basics Import Anything One of the most common reasons for using Python over other languages, like C or Fortran is the huge number of packages (or libraries or modules) that are available (see my favourite xkcd

Basics Making Pretty Plots One of the most common reasons for using Python for data analysis is the easy access to good-looking plots, via matplotlib. I have used Python for plotting data for many years now, reaching

Basics Errors and Debugging While teaching Python for data analysis in the first- and second-year computational labs in Bath, one of the most common questions I receive from students can be answered with this simple response: “Please

Applications pylj Launch Andrew has developed a small teaching utility designed to introduce students to molecular dynamics. He is currently in the process of trying to develop some example applications in the form of laboratory exercises.

Applications Introduction to Molecular Dynamics for Neutron Scatters This year I was invited to take part in the ISIS Neutron Training Course, a introductory course for neutron scattering scientists. The aim of our session was to introduce molecular dynamics and show

Basics Working with Physical Constants and Units A lot of the expressions that describe chemical phenomena involve physical constants, such as the speed of light, , Avogardo’s constant, , Planck’s constant, , and the Boltzmann constant, . When working with

Basics Running Jupyter Locally Although it is possible to run all of the pre-build resources on this site through the Binder utility (meaning that they are run on an external compute resources). You may want to try

Basics Loops This notebook follows on from the functions notebook. The aim here is to show the utility of loop in Python. Again I am aiming to use examples from chemistry related problems, but occasionally

Basics Functions Functions are a fundamental aspect of many programming languages. They allow a programmer to both simplify their code by hiding away many lines of code into a single line, while reducing the amount

Applications Blackbody Radiation On the surface this notebook simply exemplfies the use of the np.argmax and np.amax functions, however it also includes a series of other delights: in addition to using scipy.constants and matplotlib, it shows