Home

Awesome

Scientific Computing for Chemists with Python

An Introduction to Programming in Python with Chemical Applications

The following is the textbook used for the Scientific Computing Chemists course intended to teach chemists and chemistry students basic computer programming in Python and Jupyter Notebooks and advanced tools for the processing, visualization, and analysis of digital data.

Read Scientific Computing for Chemists with Python (Jupyter Book)

A chapter outline is provided below. The book starts with a streamlined introduction to Python for chemists followed by introducing powerful computing tools and numerous applications to chemistry. This book assumes that the student or reader has no prior programming experience and has at least one year of undergraduate chemistry background and ideally some very basic spectroscopy/spectrometry (i.e., NMR, IR, UV-vis, and GC/MS) background. All software used (e.g., Python, NumPy, SciPy, etc...) is free and open source software and runs on macOS, Windows, and Linux.

This book is periodically updated to fix typos, account for new software versions, and add new content. The most recent version can be viewed using the link above, downloaded, or forked using Git or GitHub. Reports of errors and information on how people are using this book are always welcome.

The book is copyright © 2017-2024 Charles J. Weiss and is released under under the CC BY-NC-SA 4.0. All files with or associated with the book are also copyright and released under the CC BY-NC-SA 4.0 license unless otherwise noted (see README.txt files for more information).

Answer keys to exercises are available to instructors upon request by emailing me using your school email address to request a copy. The answer keys are © Charles J. Weiss and are not released under a Creative Commons license.

Interested in Using This Book for Your Course?

First, I'd love to hear how people are using this book. Second, this book may receive updates with additional content, clarifications, and corrections, so if you want a static copy of the book to use during the academic term, below are multiple options.

  1. (Simpler) Download PDF copies of the chapters to share with your student - at the top right of each chapter page, click the download button and select the PDF option.

  2. Fork this repository to your GitHub page and have your students use your copy - create a GitHub account, fork this repository, build the book using Jupyter Book, and have you students use your copy on your GitHub page. You can update your fork of this repository at any time to received any updates, and unlike a PDF copy, this approach makes it easier for students to copy-and-paste code from the chapters. The approach does require the user be confortable using git and GitHub.

Citing this Book and Curriculum

A Creative Commons Textbook for Teaching Scientific Computing to Chemistry Students with Python and Jupyter Notebooks J. Chem. Educ. 2021, 98, 489-494 DOI: 10.1021/acs.jchemed.0c01071

Scientific Computing for Chemists: An Undergraduate Course in Simulations, Data Processing, and Visualization J. Chem. Educ. 2017, 94, 592-597 DOI: 10.1021/acs.jchemed.7b00078

Introduction to Stochastic Simulations for Chemical and Physical Processes: Principles and Applications J. Chem. Educ. 2017, 94, 1904-1910 DOI: 10.1021/acs.jchemed.7b00395