And the tools we've developed to help them
Over the past two years, the Department of Chemistry at the University of Bath has begun the process of introducing programming in Python to the undergraduate curriculum. During this time, I have been a PhD student, first- year undergraduate tutor and laboratory demonstrator in the Department and have been closely involved in the development of this course as well as its teaching.
This year I pioneered the use of Python programming and the Jupyter notebook interface to enhance my tutorials. This has involved preparing the answers to each tutorial question in a formatted notebook that is assessable to the students during and after the tutorial. Furthermore, using the notebook in the tutorial, during teaching, enables immediate feedback and helps students that do not typically interface with programming to see its utility directly to their work.
Additionally, I have developed pylj, a Python code written to facilitate student interaction with computational chemistry (an area important to chemical research but often underappreciated at the undergraduate level). This software operates in a Jupyter notebook interface and allows students to perform atomistic simulation to probe topics from physical chemistry that are covered in their lecture material. The fact that the students are now familiar with Python means that it is easy for inquisitive students to interact with and hack the underlying code.
For more information about this project please visit: pythoninchemistry.org