This document summarizes a course on teaching quantum chemistry with Python. The course aimed to have students focus on realistic chemical models by having the computer take care of mathematical mechanics. Students learned Python programming basics and quantum chemistry concepts. They wrote a complete Hartree-Fock code from scratch. The course was successful in teaching both Python and quantum chemistry, but debugging skills and efficient programming could have been emphasized more.
3. What is Quantum Chemistry
"The underlying physical laws necessary for the
mathematical theory of a large part of physics and the whole
of chemistry are thus completely known, and the difficulty is
only that the exact application of these laws leads to
equations much too complicated to be soluble. It therefore
becomes desirable that approximate practical methods of
applying quantum mechanics should be developed, which
can lead to an explanation of the main features of complex
atomic systems without too much computation.”
- PAM Dirac, 1929
4. How is Quantum Chemistry
Normally Taught?
• Quantum Mechanics (QM) first, Chemistry
second
• QM requires a solid understanding of ODEs,
PDEs, Linear Algebra
• Give chemists a crash course in math
• Solve toy models
5. Goals of This Course
• Have the computer take care of the mechanics
• Focus on realistic models
• Bring the chemical intuition back to quantum
chemistry
• Teach basic python (this was most students first
experience with programming)
6. Set-Up of The Course
• In class lectures that covered material and
programming
• Python homework assignments
• All programming done in iPython
• Used Virtualbox with 32-bit linux mint
14. Successes
• Students learned a lot of python basics
• Students learned a lot of quantum chemistry
• Students wrote a complete hartree fock code
15. Lessons
• Virtualization is a “resource hog”
• Mental models of your program are incredibly
important
• Debugging is a nontrivial skill, and something
we should have emphasized more