Computational Chemistry as a Course for Students ... - ACS Publications

programs written in this course Python (2), C++ (3), or Java (4) would have worked ..... Demerdash, O.; Wang, L. P.; Head-Gordon, T. Advanced Models f...
0 downloads 0 Views 3MB Size
Chapter 13

Computational Chemistry as a Course for Students Majoring in the Sciences Downloaded via UNIV OF ROCHESTER on May 15, 2019 at 18:41:44 (UTC). See https://pubs.acs.org/sharingguidelines for options on how to legitimately share published articles.

Lorena Tribe* Division of Science, Penn State Berks, Tulpehocken Road, Reading, Pennsylvania 19610, United States *E-mail: [email protected].

Computational Chemistry was a senior level undergraduate course offered as an elective for students in science-related majors where they engaged in multiple atomistic level calculations throughout the semester, connecting the properties of the physical systems studied with the code behind the interface. This course was designed to serve students with different needs by anchoring computational chemistry in the coding experience and by addressing several theoretical approaches that could be used in the students’ fields of choice. While learning how to code, there were also user-friendly computational packages available to perform calculations on molecules with molecular mechanics and electronic structure calculations, and to explore protein folding with molecular dynamics as a game. The computational chemistry experiences offered earlier in the students’ careers and their connection to this course are also discussed.

Introduction Computational chemistry is an essential part of undergraduate education, but it encompasses different aspects and evokes a variety of meanings to scientists depending on their backgrounds and areas of expertise. In Computational Chemistry, a senior level undergraduate course, students coded to understand software, chose software to implement computations, and used computations to develop an understanding of chemical structure and dynamics. While students engaged in multiple atomistic level calculations throughout the semester, the main goal was to connect the properties of the system with the code behind the interface. The course described in this chapter was offered as an elective for students enrolled in general science, biology, biochemistry, and molecular biology bachelor’s degrees, as well as chemistry minors. Students who took this course in the past have gone on to pursue degrees in nursing and medicine, to work in industry, in laboratories, or in the field, and to seek PhDs in chemistry, among other career paths. Physical chemistry, including quantum mechanics and the prerequisite mathematics and physics classes, was required but occasionally waived. Students had a variety of © 2019 American Chemical Society

Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

backgrounds in terms of their coding skills ranging from no experience with computational coding at all, to some scripting, and to different levels of comfort with mathematical packages. The diversity in student interests and prior exposure to mathematics, science, and coding was balanced by small class sizes which enabled individualized interactions. The bedrock of the course was programming. Computational packages, even confined to atomistic calculations, can have unique interfaces and capabilities, be based on different principles, use unrelated algorithms, and be applicable to systems as small as a hydrogen molecule or as large as a protein. The common thread between software that could interest a molecular biologist compared to that which could be of use to physical chemist, is that it is written in code. This course was designed to serve students with different needs by anchoring computational chemistry in the coding experience and by introducing several examples of computations that could be used in the students’ fields of choice. Throughout the semester students had access to multiple activities simultaneously. While learning how to code, there were also user-friendly computational packages available to perform calculations on molecules with molecular mechanics and electronic structure calculations, and to explore protein folding with molecular dynamics. For computational chemists reading this book, I hope this chapter will contribute to the discussion about relevant topics and teaching philosophy. The content will be familiar, and explanations have been kept brief. For those in other fields, the resources shared with the students are referenced throughout the chapter as starting points to explore the subject matter.

Course Structure and Content Computational Resources The first building block of the course was learning how to code simple calculations in Fortran (1). Coding was familiar to some students and altogether a new activity for others. The language chosen for coding was not essential to convey the concepts of computational chemistry. For the small programs written in this course Python (2), C++ (3), or Java (4) would have worked and probably been familiar for some students. Other students may have experienced programing inside a suite like Mathematica (5), which would also work well. Nevertheless, some students may eventually work with actual computational chemistry packages, which are written in highly optimized and efficient Fortran (1) or C (3), and the syntax of the former is simpler. While students worked at their own pace to master coding, they could capitalize on any downtime to learn how to operate Spartan (6) and Foldit (7), two packages that use theoretical approaches addressed in the course. Spartan is a computational package that provides a wide range of molecular models from molecular mechanics to Density Functional Theory. This software was available on campus and could be accessed by students in the chemistry laboratories, in the computer rooms and in the library. During the first class-meetings students were shown how to access the software on the campus computers and were instructed to work through several modules of the tutorial. We returned to this package later in the semester for molecular modeling, to address molecular geometry and properties such as the dipole moment, and for electronic structure calculations applied to spectroscopic studies. Gaussian (8) is a another widely used computational package for teaching and research that could have been used as an alternative to Spartan. Foldit is a protein-folding computational package that includes molecular mechanics and molecular dynamics components, presented as a game with numerous training puzzles. Like Spartan, the software package itself contains the training tools required to master it. Foldit could be 184 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

downloaded for free on personal computers and was available on campus computers. More depth in molecular dynamics calculations could be achieved with Amber (9), for example, should an instructor want to pursue more serious training for their students in this area. A textbook was not recommended for this course as I have not yet found one that seems appropriate for the potential students. Mini-lectures were supplemented with links to topics on Wikipedia or other sites, with references to textbooks students had used earlier in their careers, and with handouts made available by colleagues, all of which are referenced throughout this chapter. Where proprietary software was used, I have tried to list alternatives. An excellent source of materials and resources for computational chemistry courses can be found on the MoleCVUE (10) website. Coding in Computational Chemistry Most atomistic computational software packages currently provide visual interfaces that are appealing and easy to interpret, in which molecules are built with a sketch pad or a drag-and-drop input, helping the user develop an image of the structure and sometimes the dynamics of atomic and molecular level systems. However, it is fundamental for the user to understand what is happening when a particular atom is selected and added to the structure or a specific bond is chosen. Developing a simple code set up the framework to understand the computation behind the screen. The author would be happy to provide detailed information about any of the programming assignments upon request. The initial exercise was to implement a “Hello World” program, which is available on numerous sites (11) with a version of Fortran resident on the school computers. A simple alternative would have been to access a site where computations can be performed online (12) and use one of the coding frameworks made available to the user. The second step was to learn how to write code that would read information from a file, perform an operation, and return calculated values either to a file or the screen, and the third was to implement choices (IF statements) and perform calculations repeatedly (DO loops). The classes were held in a computer laboratory with a central table, terminals around the walls, and a whiteboard and projection system. The work of learning how to code was very interactive, with brief presentations followed by hands-on individual work, and group discussions. The final, introductory exercise in coding was to produce curves of potential energy vs distance for a Lennard-Jones potential (13). Input parameters had to be written in an external file and read by the program. For this step notepad (14) was chosen, but vi (15) or other text editors would also have been appropriate, depending on the platform. The output, a series of numbers for the interatomic distance r and the corresponding potential energy Vlj, was written to a file and graphed in Excel. Gnuplot (16) could have been used alternatively for plotting. An example of the code (program LennardJones), the input file (parameters.txt), and the output in a graph, are shown in Figure 1. The numbers chosen for the input file reflect the students’ work to provide results that would show the minimum of the potential energy curve clearly. In particular, r varied between 3.30 ×10-10 m and 7.00 ×10-10 m , with energies between 1.97 ×10-21 kJ/mol and -1.66 ×10-21 kJ/mol at the highest and lowest points. This was achieved with i ranging from 33 to 70, a factor of 10-11, ε = 166 ×10-23 kJ/mol and σ = 3.42×10-10 m. The focus of these exercises was learn just enough coding to develop an understanding of how atomistic level computational packages work. The algorithms could have been written more efficiently. No time was spent discussing optimizations, such as using products vs exponentials, nor about selecting higher precision for the variables, nor about storing information in vectors or arrays. 185 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

The use of reduced variables was not addressed. The structure of the code was based on calculations students would have done by hand, avoiding any technicalities that were deemed distractions at this point.

Figure 1. Code (program LennardJones), input file (parameters.txt), and output Lennard-Jones potential energy vs. distance graphed in Excel. Once the students’ programs worked satisfactorily, the effect of changing the input parameters was explored. For example, the values chosen above for ε and σ provided a model for argon, while ε = 1.41×10-22 kJ/mol and σ = 2.81 ×10-10 m would model helium (13). The changes in the numerical results and graphs were observed. Molecular Mechanics Molecular mechanics is the simplest approach both mathematically and conceptually to computing molecular properties such as bond lengths, angles, polarity, and conformations of organic molecules. In molecular mechanics atoms are represented as balls connected by springs with parameters developed by ab initio methods and from comparison to experimental values. Angles and dihedral angles are similarly parameterized. A link to information on Wikipedia was provided in the 186 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

class materials as a good starting point (17) and a brief lecture preceded the hands-on calculations. For the instructors who may consider exploring the use of atomistic software, there is an extensive list of available packages that perform molecular mechanics calculations at the end of the referenced Wikipedia page. Other resources for this topic include on-line sites (18), physical chemistry text books (19) and computational chemistry text books (20, 21), as well as recent papers addressing applications (22, 23). The parameters assigned in molecular mechanics calculations reflect the stiffness of the bonds and the flexibility and ease for rotation of the molecules. A given element would need different parameters depending on the interactions in which the atom was involved. For example, in the Amber parameterization for modeling proteins the keyword “CO” indicates a set of parameters for an sp2 C in a carboxylate group for which the bond length is 1.5220 Å, while “2C” refers to an sp3 aliphatic C bonded to two atoms that are not H, with a bond length of 1.5260 Å. The information on atom types was discussed to show how sets of parameters, in this case from Amber, but which could have been from MMFF (24) and other parameterization schemes, work in the same manner as the example code developed in the Coding in Computational Chemistry part of the course. In-class exercises were performed with Spartan to determine the shapes of small molecules. For example, CO2 and CH4 were shown to be linear and tetrahedral, respectively, and both were nonpolar. These and other relevant calculations were based on the Chemistry Lab Manual from Roanoke College (25). The software allowed different geometric arrangements of the atoms to be entered, and the correct geometry could be inferred from energy calculations. For example, H2O was built as a linear and a bent molecule. The strain energy was obtained selecting the Properties tab, with a positive value for the linear geometry and zero for the bent molecule, indicating that the bent geometry was more stable. As the students had been exposed to Spartan since the first class of the semester, it was not necessary to include a tutorial for the software in the written assignments and the work proceeded at a good pace. Class discussions included noting that selecting a particular element from the input pad, along with a bonding arrangement, was analogous to using an IF statement in the code written in class to choose different lines of input from a file prepared by the students, or selecting CO or 2C for a C atom in the Amber force field as discussed above. These same choices in Spartan are shown in Figure 2. Independently of how smooth the graphic interface is, and of the ease with which one can make input choices, the goal of atomistic level computational software inputs is always the same: to provide appropriate numbers that will be used in an algorithm to generate values for a property.

Figure 2. Spartan models of molecules with C, on the left with as sp3 hybridization and on the right with as sp2 hybridization. For some students, the concept of using a computational package to visualize the shapes of molecules was already familiar. The same software was available in second-semester experimental chemistry courses in which, during the check-in period, lab students had completed the first few 187 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

tutorials in small groups. As early as the second week of class they illustrated the abstract of the lab report on a kinetics experiment, the decomposition of hydrogen peroxide, with an image of H2O2 that they built on Spartan. Throughout the semester there had been other opportunities to use the software, some just to build and visualize molecules involved in the experiment like acetic acid or bromocresol green, and others involving calculating properties which will be revisited in the electronic structure calculations section of this chapter. Thus, the students who had been in laboratory classes where Spartan was accessible already had some experience modeling. The conformations of organic molecules were also explored and the use of two approaches, systematic (26) and Monte-Carlo (27), to identify the lowest energy conformers were discussed. In the systematic approach, all the angles accessible through rotation are considered. As the molecule changes its conformational geometry, the energy is calculated and the lowest one is reported. This method is rigorous within the constraints of the parameterization scheme, but the number of calculations becomes very large with relatively few bonds to be considered (28). Another option is to perform a Monte-Carlo simulation based on random sampling. Spartan makes an automatic choice as to which of the methods to use for each molecule (29). Even though students could not make the choice themselves, the method was listed in the output and could be read and discussed. Example outputs for two diols with different chain lengths illustrating the choice of the systematic algorithm for the shorter chain with 27 conformers and of Monte-Carlo for the longer one with 324 conformers are shown in Figure 3, along with the models in the lowest energy conformation. These numbers correspond to the default of 30˚ for angle rotations.

Figure 3. Two diol models and the beginning of the output file indicating which minimization routine was assigned by the code. Left: ethylene glycol with the systematic algorithm. Right: 1,5-pentanediol with the Monte-Carlo algorithm. Returning to coding, students developed programs to generate the Lennard-Jones interatomic potential energy curves as in their first program but using a random number generator to sample the distances between atoms instead of a DO loop with a scaling factor. This exercise was to better understand the difference between the systematic and Monte-Carlo algorithms being used behind the screen during the molecular mechanics calculations. Electronic Structure Calculations A course in Quantum Chemistry was a prerequisite to Computational Chemistry so students were expected to have basic knowledge of wave functions, operators, Schrödinger’s equation, atomic orbitals for the H atom, polyelectronic atoms, and molecular orbitals formed as a linear combination of atomic orbitals. The main concepts were presented briefly in a lecture and students were referred to Physical Chemistry textbooks to review the information. The following lecture reviewed the HartreeFock method (30), and the mathematical equations at the core of the basis sets were introduced. The expectation was that the students would have a birds-eye view of the material so that choices such as Slater type orbitals or gaussians, or methods like Hartree-Fock or Density Functional Theory (31) 188 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

would have some meaning for them. Several text books are good sources for an overview of the topics (20, 32–34) and the Sherrill website (35) is very complete. The initial exercise to explore electronic structure calculations was to revisit molecular geometry and properties, like the work that had been done earlier with force fields, to illustrate that different methods can be used for similar properties. Examples were taken from handout from Roanoke College, and another excellent resource is the paper by Kimberley J. Linenberger et al (36), which leads students through calculations of geometry and properties using HF 6-31G*. Differences in results and computation times compared to molecular mechanics calculations were noted. A second exploration was focused on noting that within ab initio calculations themselves, the methods and basis sets lead to slightly different results. Molecules were selected for comparison of interatomic distances and dipole moments, and these properties were calculated with all the ab initio methods available in Spartan. For HBr, for example, across ten different first principles electronic structure calculations, the interatomic distance ranged from 1.430 Å to 1.409 Å, while the experimental value was 1.41 Å. The reasons for these deviations were not discussed as it exceeded the scope of the course; rather the exercise was to alert students that conceptual and mathematical differences exist even in the implementations of quantum chemistry, and that they should be alert for these when interpreting results from calculations. In addition to the geometries and dipole moments, electronic structure calculations allow for the determination of surfaces, for example, the electrostatic potential energy surfaces. Students that had taken the second semester general chemistry laboratory with access to Spartan had already encountered this concept while working on weak acids. During an experiment to calculate Ka, the equilibrium constant for the dissociation of acetic acid, they had built an acetic acid molecule on Spartan, energy minimized it with HF 6-31G*, and calculated the electrostatic potential energy surface following the instructions by Ivey, M. M. et al (37). Comparing the color of the electrostatic potential energy surface on the H atoms led to identifying the most positive area as the acidic H. In Computational Chemsitry the electrostatic potential energy surfaces were also requested and the images for polar HBr was compared to the non-polar H2. One of the most exciting aspects of using a computational package for atomistic calculations is the ability to produce an infra-red spectrum and to animate the molecule for each absorption frequency. The students returned to their bent and linear water molecules to calculate the IR frequencies, finding that the linear geometry had imaginary frequencies rather than real ones. Students who have already taken organic chemistry enjoyed the possibility of exploring geometries of species they had synthesized in the past. Having calculated the vibrational frequencies of a molecule, the free energy can be determined and is shown in the Properties tab in Spartan. Students could determine the free energies of simple reactions by calculating the free energies of reactants and products and taking the appropriate differences. A similar exercise in the literature applies this method to food items in nutrition (38), providing a welcome connection to health-related topics. Some exercises from previous courses addressing uv-vis spectroscopy were revisited to deepen the understanding of the computational aspects. An exercise proposed at the end of the Quantum Chemistry course was to observe periodic properties using computational chemistry. Finding the uv-vis absorption peaks is a somewhat involved process but obtaining the difference between the HOMO (highest occupied molecular orbital) and the LUMO (lowest unoccupied molecular orbital) can be taken as a first approximation and is straightforward. Results are shown for the halogens in Table 1, where the increase of the energy of the HOMO and the decrease of the energy of the LUMO from top to bottom in the periodic table lead to a decreasing absorption energy. Students 189 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

were cautioned to interpret these results in light of the band gap problem, observing the periodic trend rather than the absolute values obtained. Table 1. Energy of HOMO, LUMO, and their difference for the halogens Species

Period

HOMO/eV

LUMO/eV

ΔE/eV

F2

2

-17.4

3.8

21

Cl2

3

-12.2

0.9

13

Br2

4

-10.7

0.8

12

I2

5

-9.6

-0.2

9.4

The access to computational packages early on in the sequence of classes for science-related majors has led to projects appropriate for student who wish to engage in an undergraduate research experience. One experiment involving uv-vis spectroscopy started in a second semester general chemistry lab run as a Peer Developed – Peer Led Laboratory (39), in which groups of students first developed an experiment and then lead the class through it. A group focused on the thermochromic properties of commercial sipping straws and identified crystal violet lactone as a potential chromophore. The uv-vis absorption spectrum was determined both in cold and room-temperature conditions confirming the trends in ΔE calculated with semi empirical and DFT calculations (40). Molecular Dynamics The final theoretical approach considered in Computational Chemistry was molecular dynamics, where the movements of atoms or molecules in a system are determined considering Newton’s equations of motion. Complete molecular dynamics codes include features that were above the level of this course and can be reviewed in specialized textbooks (41) and online (42). A brief introduction to the topic was provided in class. After an extended break from programming during which students had worked on electronic structure calculations by operating a computational package since the equations were too complex to code, the students returned writing programs in Fortran for molecular dynamics. The simplest set of commands were coded that showed how a system moved as a function of time following classical mechanics, given certain initial conditions. An example is shown in Figure 4, where a mass attached to a spring with a given spring constant is placed at an initial position and allowed to move without friction. The students wrote the code, ran it to generate a series of positions, one for each timestep, and graphed position vs. time. Since the beginning of the semester students had become adept at handling Foldit, a simulation code presented as a game. Foldit was originally developed University of Washington, Center for Game Science, in collaboration with the UW Department of Biochemistry and released in 2008. It came to the attention of the public when it was shown that the gamers could fold proteins better than a supercomputer (43). Given that most of the students who took Computational Chemistry were Biochemistry or Molecular Biology majors looking for an advanced elective, Foldit had the potential to illustrate the power of computational chemistry in their fields. The puzzles students had solved were inspected more closely to relate operations of the program like “shake” to molecular mechanics energy minimizations, and features like “wiggle” to molecular dynamics. More extensive computational exercises could be implemented around Foldit, a good example being the 190 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

computational workshop at the University of New England (44) where the physics and chemistry of each puzzle are explored in detail. Another option available to instructors would be to explore molecular dynamics using VMD (45) and NAMD (46) in computational chemistry courses, or GROMACS (47), all of which are free. For Computational Chemistry, the students could approach a basic understanding of the dynamics of systems as large as proteins combining coding and FoldIt and that was sufficient. With this, the class closed the loop between coding, learning different theoretical approaches, and calculating properties for a variety of physical systems.

Figure 4. Program spring and graph of distance from the origin as a function of time. Distance and time in arbitrary units. 191 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

Conclusion The goals of Computational Chemistry were to introduce students headed for fields in science, but not necessarily in chemistry, to the value of atomistic level computational calculations. This included understanding how programs function by learning how to code, encountering a variety of theoretical approaches, such as molecular mechanics, electronic structure calculations, and molecular dynamics, and calculating properties for a variety of different systems. The basis of each method was touched on lightly and the physical systems that could be studied with each method were discussed. As the semester progressed the students developed simple codes to parallel the calculations they were performing with software packages. Students observed the effect of changing parameters in a Lennard-Jones code at the same time they were producing results with molecular mechanics computational package, and eventually wrote a bare-bones molecular dynamics routine to better understand the results achieved playing with a protein folding game.

Acknowledgements I gratefully acknowledge discussions with a group of experts who meet at MoleCVUE (10), Molecular Computation and Visualization in Undergraduate Education, every summer, whose ideas and freely shared resources have permeated and positively influenced my teaching. I am also grateful to both informal and formal reviewers for their insightful suggestions to improve this chapter. In memory of Nicholas A. Moore, an inspirational student.

References 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.

GFortran. https://gcc.gnu.org/fortran/ (accessed 7/22/2018). Python Software Foundation. https://www.python.org/ (accessed 7/4/2018). Stroustrup, B. The C++ Programming Language; Pearson Education: Upper Saddle River, NJ, 2013; pp 37−58 Oracle Corporation. https://www.java.com/en/ (accessed 9/23/2018). Wolfram Mathematica. http://www.wolfram.com/mathematica/ (accessed 7/4/2018). Wavefun.com. https://wavefun.com (accessed 9/23/2018). Foldit. https://fold.it/portal/ (accessed 7/4/2018). Gaussian. http://gaussian.com/ (accessed 7/4/2018). Amber. http://ambermd.org/ (accessed 7/4/2018). Molecular Computation and Visualization in Undergraduate Education - MoleCVUE. https://sites. google.com/view/molecvue/resources (accessed 9/23/2018). HelloWorld. https://en.wikibooks.org/wiki/Fortran/Hello_world (accessed 7/4/2018). jdoodle. https://www.jdoodle.com/ (accessed 9/24/2018). Atkins, P.; de Paula, J. Physical Chemistry, 9th ed.; OUP: Oxford, U.K., 2009; p 677 Microsoft Notepad. https://en.wikipedia.org/wiki/Microsoft_Notepad (accessed 9/25/2018). Vi. https://en.wikipedia.org/wiki/Vi (accessed 9/25/2018). Gnuplot. http://www.gnuplot.info/ (accessed 7/4/2018). Molecular Mechanics. https://en.wikipedia.org/wiki/Molecular_mechanics (accessed 7/ 4/2018). 192 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

18. Introduction to Molecular Mechanics. http://vergil.chemistry.gatech.edu/courses/chem6485/ pdf/molmech-lecture.pdf (accessed 9/25/2018). 19. Teixeira-Dias, J. J. C. Molecular Physical Chemistry: A Computer-based Approach using Mathematica® and Gaussian, 1st ed.; Springer International Publishing: Switzerland, 2017. 20. Jensen, F. Introduction to Computational Chemistry, 3rd ed.; John Wiley and Sons, Ltd.: Hoboken, NJ, 2017. 21. Cramer, C. J. Essentials of Computational Chemistry: Theories and Models; Wiley and Sons, Ltd.: Hoboken, NJ, 2001 22. Katiyar, R. S.; Jha, P. K. Molecular Simulations in Drug Delivery: Opportunities and Challenges; Wiley Interdisciplinary Reviews – Computational Molecular Science, Volume 8, Issue 4. 2018. 23. Demerdash, O.; Wang, L. P.; Head-Gordon, T. Advanced Models for Water Simulations; Wiley Interdisciplinary Reviews – Computational Molecular Science, Volume 8, Issue 1, 2018. 24. Halgren, A. H. Merck Molecular Force Field. I. Basis, Form, Scope, Parameterization, and Performance of MMFF94. J. Comp. Chem. 1996, 490–519. 25. Roanoke College Chemistry Laboratory Manual. https://www.roanoke.edu/documents/ chemistrylabmanual/fall2012/x12spartan2012.pdf (accessed 9/25/2018). 26. Wavefun.com. https://www.wavefun.com/support/sp_compfaq08/Conformer_Overview. html#SysDesc (accessed 9/25/2018). 27. Monte Carlo Method. https://en.wikipedia.org/wiki/Monte_Carlo_method (accessed 9/ 25/2018). 28. Conformational Energy Searching. http://c125.chem.ucla.edu/NIH/conformation_document. html (accessed 9/25/2018). 29. Spartan Monte Carlo. https://www.wavefun.com/support/sp_compfaq08/Conformer_ Overview.html#MCdesc (accessed 9/25/2018). 30. Slater, J. C. A Simplification of the Hartree-Fock Method. Phys. Rev. 1951, 81 (3), 385–390. 31. Hohenberg, P.; Kohn, W. Inhomogeneous electron gas. Phys. Rev. 1964, 136 (3B), B864–B871. 32. McQuarrie, D. A. Quantum Chemistry, 2nd; Edition University Science Books: South Orange, NJ, 2007. 33. Schrier, J. Introduction to Computational Physical Chemistry, 1st ed.; University Science Books: Mill Valley, CA, 2017. 34. Evans, M. W.; Hasanein, A. Computational Methods in Quantum Chemistry; Volume 2; Quantum Chemistry, Series in Machine Perception and Artificial Intelligence; World Scientific: Hackensack, NJ, 1996. 35. Introduction to Hartree−Fock Molecular Orbital Theory. http://vergil.chemistry.gatech.edu/ courses/chem6485/pdf/Hartree-Fock-Intro.pdf (accessed 9/25/2018). 36. Linenberger, K. J.; Cole, R. S.; Sarkar, S. Looking Beyond Lewis Structures: A General Chemistry Molecular Modeling Experiment Focusing on Physical Properties and Geometry. J. Chem. Educ. 2011, 88 (7), 962–965. 37. Ivey, M. M.; Robinson, N.; Smith, M.; Sonnenberg, J. L. Computational Chemistry Experiments for a General Chemistry Course. Chem. Educ. 2016, 21, 296–301.

193 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.

38. Barbiric, D.; Tribe, L.; Soriano, R. Computational Chemistry Laboratory: Calculating the Energy Content of Food Applied to a Real-Life Problem. J. Chem. Educ. 2015, 92 (5), 881–885. 39. Tribe, L.; Kostka, K. Student Developed and Led Laboratories. J. Chem. Educ. 2007, 84, 1031–1034. 40. Costello, K.; Doan, K. T.; Organtini, K. L.; Wilson, J.; Boyer, M.; Gibbs, G.; Tribe, L. An Exploration of Thermochromic Materials Using Experimental and Theoretical Infrared and UV-Visible Spectroscopy. J. Chem. Educ. 2014, 91 (6), 883–888. 41. Allen, M. P.; Tildesley, D. J. Computer Simulation of Liquids, 2nd ed.; Oxford University Press: Oxford, U.K., 2017. 42. Molecular Dynamics. https://en.wikipedia.org/wiki/Molecular_dynamics (accessed 9/ 26/2018. 43. Cooper, S. Predicting protein structures with a multiplayer online game. Nature 2010, 466, 756–760. 44. Unix Computing/Molecular Visualization Workshop. https://sites.google.com/a/une.edu/unix/ tutorials/foldit (accessed 9/25/2018). 45. Visual Molecular Dynamics. https://www.ks.uiuc.edu/Research/vmd/ (accessed 9/25/2018). 46. NAMD Scalable Molecular Dynamics. https://www.ks.uiuc.edu/Research/namd/ (accessed 9/ 25/2018). 47. Gromacs. http://www.gromacs.org/ (accessed 9/25/2018).

194 Grushow and Reeves; Using Computational Methods To Teach Chemical Principles ACS Symposium Series; American Chemical Society: Washington, DC, 2019.