Python First, Computational Chemistry Later

Python First, Computational Chemistry Later#

Course Approach#

One of the goals of this course is for you to explore concepts and techniques used in computational chemistry research by writing your own Python code to solve various problems. To achieve this, we will follow a structured approach:

  1. Weeks 1–2: Python Fundamentals

  • Arithmetic operations

  • Variables and data types

  • Basic data structures (lists, tuples, dictionaries)

  • Control structures (loops, if/else)

  • Functions and Modules

  1. Week 3: Introduction to Scientific Python

  • Working with arrays (using NumPy)

  • Plotting data (using Matplotlib)

  • Markdown

  1. Weeks 4-9: Applied Computational Chemistry with Python

  • Potential energy surfaces, geometry optimisation, and function minimisation

  • Model fitting

  • Molecular Dynamics simulations

  • Monte Carlo methods

  • Working with vectors and matrices

  • Eigenvalues and eigenvectors in computational chemistry

  1. Weeks 10-11: Consolidation and Coursework

  • Unassigned sessions for completing exercises, consolidating your learning, or working towards your coursework submission.

Why This Approach?#

This course is built around the idea of learning through doing. One of the best ways to build an understanding of a particular computational method or a particular approach to solving a problem is to write your own code that implements this method or solution. To do this, you will need just enough Python to be able to solve model computational chemistry problems.

Learning Objectives#

By the end of this course, you will be able to:

  1. Deconstruct complex problems into a sequence of algorithmic steps.

  2. Write and debug Python programs.

  3. Apply Python to solve basic computational chemistry problems.

  4. Understand and implement fundamental algorithms and methods in computational chemistry.