CHE155: Scientific Programming for Chemistry

Spring 2021

Course Overview and Objectives

Programming has become an essential tool for scientists. In chemistry, computer programs are used to calculate molecular properties, simulate chemical processes in complex environments, acquire data from instruments, and analyze data. The goal of this course is to equip students with basic scientific programming skills in Python with an emphasis on applications in chemistry. Python is a widely used, general-purpose scripting language with extensive libraries for scientific computing. By the end of the course, students should be able to:

Students in the course are expected to have prior experience with Python! The course assumes knowledge topics covered by a typical introductory Python course, such as Chapters 1-11 of Automate the Boring Stuff.

Please see the Installation page for instructions on setting up the Python environment needed for this course.

Schedule

Week(s) Topics
1 Visualizing Hydrogen Atomic Orbitals
2 Statistical Analysis of Experimental Data
3 Fitting Experimental Data to Models I
4 Fitting Experimental Data to Models II
5 Chemical Kinetics and Numerical Integration
6 Molecular Structure and Chemical File Formats
7 Electronic Structure and Computational Chemistry I
8 Electronic Structure and Computational Chemistry II
9 Molecular Dynamics
10 Final Projects

Course Expectations and Grading

It is expected that students will regularly attend the class sessions and participate in the discussion. In addition, for this class the instructional notebooks are available on the course website, and students should explore these notebooks before class, follow along with the code during class, and ask questions about any code that is unclear.

Grading in the course will be primarily based on 4 coding projects: 3 during the quarter and a final project due during finals week. Projects may be worked on individually or, with permission, in small groups of up to 3 people. However, if working in groups, you may not work with the same person on more than 1 project: your group must be different each time. All members of a group are expected to contribute equally. Failure to adequately contribute to a group project could result in a grade penalty and forfeiting the privilege to work in groups on future projects. These 4 projects will be worth at least 90% of the course grade.

Up to 10% of the grade will be based on short coding exercises that can be completed quickly. The number of these will be determined as the course proceeds, but there will be no more than 1 brief exercise per week, and they will count equally toward the course grade.