Integrating Programming to Reinforce Quantum Mechanical Principles in Physical Chemistry

JDanfei Hu, Janet N. Ahn, Alyssa Lakatos, Jose Bello, Jonathan McTague, and Jonathan J. Foley IV*

ACS Publications


We describe project-based learning (PBL) activities centered around developing and deploying computer simulations inspired by a canonical experiment in quantum mechanics known as the Stern-Gerlach experiment. One significant result of the Stern-Gerlach experiment was the illustration of superposition and uncertainty, which are foundational concepts in quantum mechanics that students often struggle to assimilate. Students work in groups to develop a Python program that simulates the evolution of a model quantum system (for example, the particle in a box, rigid rotor, or the harmonic oscillator) subject to sequential measurement of two incompatible observables (for example, position followed by momentum). They utilize the animation capabilities of Matplotlib to create movies that show the time evolution of the wavefunction and probability density over the course of the simulated experiment. The motivations for this programming PBL activity are threefold: (1) involving students in thinking through the basic logic required to simulate a Stern-Gerlach-type experiment helps to make the quantum mechanical principles more concrete, (2) implementing simulations within the context of common model systems in quantum chemistry reinforces student learning outcomes related to these models, and (3) the resulting animations can be studied to help reinforce student’s intuition about concepts like wavefunction collapse, superposition, and uncertainty. We also discuss the psychological obstacles that may discourage students from learning when introducing programming into the curriculum and share best practices for combating those obstacles. Finally, example code reflecting a student-completed PBL is provided.