\documentclass[10pt]{article}

\usepackage{fullpage}
\usepackage{setspace}
\usepackage{parskip}
\usepackage{titlesec}
\usepackage[section]{placeins}
\usepackage{xcolor}
\usepackage{breakcites}
\usepackage{lineno}
\usepackage{hyphenat}





\PassOptionsToPackage{hyphens}{url}
\usepackage[colorlinks = true,
            linkcolor = blue,
            urlcolor  = blue,
            citecolor = blue,
            anchorcolor = blue]{hyperref}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@combinedblfloats{\box\@outputbox}{\unvbox\@outputbox}{}{%
  \errmessage{\noexpand\@combinedblfloats could not be patched}%
}%
\makeatother


\usepackage{natbib}




\renewenvironment{abstract}
  {{\bfseries\noindent{\abstractname}\par\nobreak}\footnotesize}
  {\bigskip}

\titlespacing{\section}{0pt}{*3}{*1}
\titlespacing{\subsection}{0pt}{*2}{*0.5}
\titlespacing{\subsubsection}{0pt}{*1.5}{0pt}


\usepackage{authblk}


\usepackage{graphicx}
\usepackage[space]{grffile}
\usepackage{latexsym}
\usepackage{textcomp}
\usepackage{longtable}
\usepackage{tabulary}
\usepackage{booktabs,array,multirow}
\usepackage{amsfonts,amsmath,amssymb}
\providecommand\citet{\cite}
\providecommand\citep{\cite}
\providecommand\citealt{\cite}
% You can conditionalize code for latexml or normal latex using this.
\newif\iflatexml\latexmlfalse
\AtBeginDocument{\DeclareGraphicsExtensions{.pdf,.PDF,.eps,.EPS,.png,.PNG,.tif,.TIF,.jpg,.JPG,.jpeg,.JPEG}}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}



\usepackage{float}






\newcommand{\mc}{\multicolumn}
\newcommand{\mr}{\multirow}
\newcommand{\github}{\textsc{GitHub}}
\newcommand{\jupyterlab}{\textsc{JupyterLab}}
\newcommand{\oneapi}{\textsc{oneAPI}}
\newcommand{\openmp}{\textsc{OpenMP}}
\newcommand{\psiedu}{\textsc{Psi4Education}}
\newcommand{\psinumpy}{\textsc{Psi4Numpy}}
\newcommand{\xpert}{\textsc{Xpert Network}}


% Acronyms
%############################ Acronyms ###############################


\iflatexml
\usepackage{acronym}
\acro{AI}{artificial intelligence}
\acro{CLI}{command-line interface}
\acro{CMS}{computational molecular science}
\acro{CPU}{central processing unit}
\acro{DLI}{Deep Learning Institute}
\acro{DOE}{Department of Energy}
\acro{DPCPP}{Data Parallel C++}
\acro{ECP}{Exascale Computing Project}
\acro{ESCIP}{Enhancing Science Courses by Integrating Python}
\acro{FPGA}{field programmable gate array}
\acro{GPU}{graphics processing unit}
\acro{GUI}{graphical user interface}
\acro{HPC}{high-performance computing}
\acro{ML}{machine learning}
\acro{MPI}{Message Passing Interface}
\acro{MolSSI}{Molecular Sciences Software Institute}
\acro{NAII}{National Artificial Intelligence Initiative}
\acro{NAIRR}{National Artificial Intelligence Research Resource}
\acro{NAIRRTF}{NAIRR Task Force}
\acro{NSF}{National Science Foundation}
\acro{TBD}{to be determined}


% -----

\else
% Add here any export style-specific LaTeX commands. These will only be loaded upon document export.
% \paperfield{Subject domain of my document}
% \keywords{keyword1, keyword2}
% \corraddress{Author One PhD, Department, Institution, City, State or Province, Postal Code, Country}
% \fundinginfo{Funder One, Funder One Department, Grant/Award Number: 123456.}
\usepackage{acronym}
\acrodef{AI}{artificial intelligence}
\acrodef{CLI}{command-line interface}
\acrodef{CMS}{computational molecular science}
\acrodef{CPU}{central processing unit}
\acrodef{DLI}{Deep Learning Institute}
\acrodef{DOE}{Department of Energy}
\acrodef{DPCPP}{Data Parallel C++}
\acrodef{ECP}{Exascale Computing Project}
\acrodef{ESCIP}{Enhancing Science Courses by Integrating Python}
\acrodef{FPGA}{field programmable gate array}
\acrodef{GPU}{graphics processing unit}
\acrodef{GUI}{graphical user interface}
\acrodef{HPC}{high-performance computing}
\acrodef{ML}{machine learning}
\acrodef{MPI}{Message Passing Interface}
\acrodef{MolSSI}{Molecular Sciences Software Institute}
\acrodef{NAII}{National Artificial Intelligence Initiative}
\acrodef{NAIRR}{National Artificial Intelligence Research Resource}
\acrodef{NAIRRTF}{NAIRR Task Force}
\acrodef{NSF}{National Science Foundation}
\acrodef{TBD}{to be determined}
\fi


\begin{document}

\title{MolSSI Education: Empowering the Next Generation of Computational Molecular Scientists.}



\author[1]{Jessica A. Nash}%
\author[1]{Mohammad Mostafanejad}%
\author[1]{T. Daniel Crawford}%
\author[1]{Ashley Ringer McDonald}%
\affil[1]{Affiliation not available}%


\vspace{-1em}



  
  \date{June 13, 2024}


\begingroup
\let\center\flushleft
\let\endcenter\endflushleft
\maketitle
\endgroup





\selectlanguage{english}
\begin{abstract}
The \ac{MolSSI} is a research and education center that supports software development in the
\acp{CMS}. One of \ac{MolSSI}'s core objectives is to provide education and training for the next 
generation of computational researchers. \ac{MolSSI} Education targets various career stages and 
skill levels through its live workshops, online resources, and software fellowship program.
\ac{MolSSI} Education focuses its efforts within four areas: programming and software development,
\ac{HPC} and \ac{AI}, faculty and curriculum development, and the \ac{MolSSI} software fellowship
program. This article delineates educational efforts at the \ac{MolSSI}, overall goals,
and resources that can be useful to researchers in the computational molecular sciences.%
\end{abstract}%



\sloppy



%\chapter*initial{Introduction} % not supported by Authorea
\section*{Introduction}
\acresetall
Computational Molecular Science is a broad term that describes the application of computational
resources to chemical theory and systems. It is part of many fields, including chemistry, physics,
materials science, and chemical engineering, and encompasses methods such as molecular mechanics,
electronic structure, and \ac{ML}. Today, computational methods are widely used in industry and 
academia and are indispensable parts of many scientific breakthroughs.

Traditionally, computational practitioners have been the ones responsible for building the tools of the trade, namely, software. Over the past few decades, computational researchers have developed
dozens of software packages that are used by thousands of scientists worldwide. Often, software has been seen as a by-product of scientific research. However, as scientific problems become more complex, it is necessary for scientists to focus on software engineering, a trend that is reflected in the emergence of the Research Software Engineer. For scientific software 
developers, deep knowledge of programming languages can be vital for creating performant and usable 
software. For researchers, knowing how to program can help improve research efficiency and increase 
the speed of data analysis. Thus, computational scientists often need both mastery of their 
scientific field and competency in computing skills such as programming and software development.

The \ac{MolSSI} aims to enable new science by supporting software development efforts in \ac{CMS}.
\ac{MolSSI} was founded in 2016 with a grant from the US \ac{NSF} and is a collaborative,
multi-institute center. In 2021, the \ac{NSF} renewed \ac{MolSSI}'s funding for an additional five
years. \ac{MolSSI} provides software infrastructure, standards, community engagement, and training
and education. \ac{MolSSI}'s open-source software projects address several needs in the \ac{CMS}
community\hyperref[csl:1]{(\textit{{MolSSI Software Projects}}, n.d.)}. \ac{MolSSI}'s training programs include workshops, summer schools,
and a fellowship program for graduate students and post-doctoral researchers. Since its
establishment, \ac{MolSSI} has funded 93 Software Fellow projects, hosted more than 25 community-led
workshops and reached more than 1500 students through educational events.

Our education program focuses on four areas: (i) programming and software development,
(ii) high-performance computing, (iii) faculty and curriculum development, and (iv) a
software fellowship program. By working in these areas, we hope to reach \ac{CMS} researchers across
a broad range of skill levels and career stages. A full list of \ac{MolSSI} Education resources can 
be accessed on the \ac{MolSSI} Education website.\hyperref[csl:2]{(\textit{{MolSSI Education}}, n.d.)} For all of our training
materials, we directly engage with the \ac{CMS} community. We deliver these resources through synchronous workshops 
and asynchronously through the \ac{MolSSI} Education website or YouTube channel.


\section*{MolSSI Education Components}\label{SEC:RESOURCES}

\subsection*{Training in Programming and Software Development}\label{SUBSEC:SOFTWAREDEV}
The \ac{MolSSI}'s programming and software development resources are designed for beginner to 
intermediate programmers and introduce fundamental principles using examples relevant to 
computational molecular scientists. \ac{MolSSI}'s resources in this area focus on establishing 
programming skills and best practices for scientific software development using specific examples. 
Our curricula in programming and software development is created by \ac{MolSSI} Software Scientists 
and associates.

We lead our programming and software development workshops using a live-coding style. 
Live-coding is a method popularized by the Software Carpentry organization and has been found
to be successful in training novice programmers. In the live-coding approach to teaching, an 
instructor will share their screen and type code into their programming environment while explaining 
the thought process and reasoning behind 
their actions. We intersperse live coding with small challenges or exercises to allow students to 
apply concepts they have just learned.

\ac{MolSSI} Education offers an introduction to Python programming in its flagship undergraduate 
workshop, Python Data and Scripting for Computational Molecular Scientists. In this workshop, students
are introduced to Python syntax, working with text files, visualization, and running command-line 
programs. We offer this workshop synchronously once or twice a year. Registration is free 
and open to the public, though we typically partner with organizations that focus on undergraduate 
researchers such as the MERCURY Consortium\hyperref[csl:3]{(\textit{{MERCURY Consortium – Molecular Education and Research Consortium in Undergraduate Computational Chemistry}}, n.d.}; \hyperref[csl:4]{Mcdonald et al., 2020)}.

For students who have more experience programming or who are planning to work on software 
development projects, \ac{MolSSI} offers the Python Package Best Practices workshop. The ``Best
Practices'' covered in this workshop are topics recommended and often used in scientific and open
source software development, presented in a cohesive, hands-on format. Topics include version control,
collaboration workflows, testing, documentation, and project structure. These are all practical skills
widely used in software projects but currently rarely taught formally. Concepts are covered at
a high level first, then we demonstrate with hands-on material. For example, when introducing software
testing, we discuss the benefits and motivations of testing and also show specific examples of how 
one might test Python code. These workshops can be requested for groups or universities by contacting the 
\ac{MolSSI} Education team. We typically offer this workshop at least twice a year either to the public
or in partnership with an academic research group.

\ac{MolSSI}'s other efforts in this area include a workshop on data visualization, and a Python scripting workshop aimed at biochemists . Additionally, \ac{MolSSI} offers
workshop materials on object oriented programming and design patterns. A full list of resources is 
given in Table \ref{TABLE:ONLINEHPC}.

\subsection*{Training in High-Performance Computing and Artificial Intelligence}\label{SUBSEC:HPCMLAI}
\ac{MolSSI} Education's newest initiative is in \ac{HPC}, \ac{AI} and \ac{ML}. Our \ac{HPC} and
\ac{AI} Education Programs consist of five major divisions: online educational
resources,\hyperref[csl:2]{(\textit{{MolSSI Education}}, n.d.)} certified university curricula, industrial training programs, 
instructor-led hands-on workshops, and community guidelines and best practices for the
\acp{CMS}\hyperref[csl:5]{(\textit{{MolSSI Guidelines, Checklist, and Best Practices}}, n.d.)}. \ac{MolSSI} Education launched this initiative in 2021 
in recognition of the key focus areas of the \ac{ECP}, top national priorities and strategic plans.\selectlanguage{english}
\begin{table*}
[!htbp]
\setlength{\tabcolsep}{5pt}
\center
\caption{{Online resources from the \acs{MolSSI} Education Program. $^a$ indicates that resources are available on the MolSSI Education website at \texttt{education.molssi.org/resources}. $^b$ are under development.}}
\label{TABLE:ONLINEHPC}

\begin{tabular}
{ll}
\hline\hline
\textbf{Topics} & \textbf{Resources} \\
\hline
\mr{3}{*}{Programming and Software Development$^a$}     & Python Data and Scripting \\
                & Python Data and Scripting for Biochemistry \\
                & Scientific Data Visualization using Python \\
                & Best Practices in Software Development \\
                & Object Oriented Programming and Design Patterns \\[5pt]
                
\mr{2}{*}{Molecular Science$^a$} & Quantum Mechanics Tools \\
                  & Molecular Mechanics Tools \\[5pt]

\mr{3}{*}{Fundamentals of \ac{HPC}$^b$}            &       Principles of Scientific \acs{HPC} \\
                                       & RAJA and Kokkos models for abstraction and portability     \\
                                       & Slurm and Moab workload management systems and schedulers   \\[5pt]
\mr{2}{*}{Homogeneous Parallel Programming$^b$}          &     \acl{MPI}    \\                             
                                       &  Shared-Memory Parallel Programming with OpenMP    \\[5pt]          
        \mr{5}{*}{Heterogeneous Parallel Programming}&   Fundamentals of Heterogeneous Parallel Programming with CUDA C/C++$^a$ \\                          
                                       &    A Systematic Approach to CUDA C/C++ Parallel Programming$^b$  \\
                                       &    Applications of Heterogeneous Programming in Computational
                                       Molecular Sciences$^b$       \\
                                       &   OneAPI: A Unified Approach to Heterogeneous Parallel
                                       Programming$^b$          \\
                                       &    Modern Platforms for Heterogeneous Parallel Programming$^b$     \\
\hline\hline

\end{tabular}

\end{table*}

We base our \ac{HPC} online educational resources on the open-source industry standards, vendors' expert 
recommendations, and community guidelines and best practices. Table \ref{TABLE:ONLINEHPC} provides a high-level 
view of our online educational resources in \ac{HPC} designed for a variety of user backgrounds and skill levels.
For example, the Fundamentals of \ac{HPC} program would be most beneficial to beginner and intermediate-level 
users while the Homogeneous Parallel Programming resources are designed for intermediate and advanced \ac{HPC}
users. The Heterogeneous Parallel Programming section, on the other hand, provides online resources for all 
background levels.

A key component of the \ac{MolSSI} Education program in \ac{HPC} is industry partnerships. In collaboration
with NVIDIA \ac{DLI} and Intel, we offer a series of 
certified instructor-led hands-on workshops. Our collaboration with NVIDIA \ac{DLI} through
the Certified Instructor and University Ambassador Programs allows the members of the \ac{CMS}
community to have free access to certified training programs that otherwise would involve a registration fee.
These programs are divided into four major specialization areas: Data Science, Deep Learning, Accelerated 
Computing and Conversational \acs{AI}. Intel, on the other hand, enabled us to offer a variety of training
modules within two main focus areas: Essentials of \ac{DPCPP} and Basics of \openmp\ Offload. For our 
certified instructor-led hands-on workshops, university courses and industrial training programs, we provide 
the registered users with access to a cloud virtual machine armed with a variety of accelerator architectures
such as CPUs, GPUs and FPGAs. The users can access all training resources using either the command line or
\jupyterlab's user-friendly notebooks.

The last component of \ac{MolSSI}'S \ac{HPC} and \ac{AI} Education initiative involves establishing best practices
for data management. Due to the dire need of the scientific software community for improving the quality of the 
scientific data management plans according to FAIR principles\hyperref[csl:6]{(Wilkinson et al., 2016)} and ensuring the 
reproducibility, interoperability, and replicability of the computational research products, we have 
developed a public platform\hyperref[csl:5]{(\textit{{MolSSI Guidelines, Checklist, and Best Practices}}, n.d.)} for publishing community guidelines and best
practices for all domains of \ac{CMS}. We have founded this platform upon our years of experience in
serving the \ac{CMS} and the open-source software communities, hundreds of interviews and surveys
gathered from our discovery project, expert recommendations and best practices documents provided by the
major \ac{HPC} vendors and our collaborations with the \ac{NSF}-funded projects such as the
\xpert.\hyperref[csl:7]{(Barakhshan \& Eigenmann, 2021)}

\subsection*{Faculty and Curriculum Development}\label{SUBSEC:FACULTYDEV}
\ac{MolSSI}'s efforts in faculty and curriculum development focus on helping faculty members to incorporate
\ac{MolSSI} resources into their classes and promoting the use of programming in the chemistry curriculum. Though \ac{MolSSI} Education resources were originally designed to enable 
students to more effectively participate in research experiences, there have been a notable number
of faculty using the \ac{MolSSI} Education materials as a starting point to develop curricular 
resources to incorporate programming into their courses. Examples of these types of curricular 
innovations are highlighted in \ac{MolSSI}'s recent ACS Symposium Series Book, {\em Teaching 
Programming Across the Chemistry Curriculum} \hyperref[csl:8]{(McDonald \& Nash, 2021)}. The examples in this book incorporate programming
in a variety of different classes, ranging from general chemistry to graduate-level courses.  Programming is used to analyze data, make visualizations,
demonstrate physical phenomena that are otherwise hard to describe, solve chemistry problems 
numerically, and more.

The \ac{MolSSI} has partnered with faculty professional development groups such as \ac{ESCIP}
(https://escip.github.io/) and \psiedu\ (https://psicode.org/posts/psi4education/) to work with
faculty to develop curricular resources.  \ac{ESCIP} is a group of faculty from the Cottrell 
Scholars Program, sponsored by Research Corporation for Science Advancement, who develop and 
share curriculum that utilizes Python programming for chemistry, physics, and math courses. 
\psiedu\ is the education and outreach program of the quantum chemistry software package 
Psi4 that uses Psi4's Python interface, \psinumpy\, to create lab activities for use across all
levels of the chemistry curriculum. \ac{MolSSI} supports these curricular development efforts
by meeting with these faculty development groups to advise them on strategies and best 
practices for teaching programming. \ac{MolSSI} also sponsors symposia and workshops for faculty at conferences, such as the Biennial Conference on Chemical Education, and hosts 
instructor training workshops to help faculty upskill so they can better teach best programming 
practices to their students.

Additionally, \ac{MolSSI} is involved in the University Ambassador Program with the NVIDIA \ac{DLI}.
Through this partnership, \ac{MolSSI} has access to teaching kits designed for university courses,
which include syllabi, lecture notes, curricular resources, and programming activities that 
cover major topics in \ac{HPC}, deep learning, and robotics.  \ac{MolSSI}
can support faculty in implementing these courses at their institutions and help them customize
the contents of each course in the \ac{CMS} domain to meet their program goals and requirements.

\subsection*{MolSSI Software Fellowship Program}\label{SUBSEC:MSF}
\ac{MolSSI} provides direct support to software development efforts of early-career researchers 
through its Software Fellowship program. \ac{MolSSI} Software Fellowships are highly selective
awards that fund graduate students and post-docs who develop software infrastructure
for \ac{CMS}. \ac{MolSSI} prioritizes projects of broad interest with potential high impact
to the \ac{CMS} communities. As of 2022, the \ac{MolSSI} Software Fellowships are year-long awards,
with calls for applications starting in February and awards starting in July.

Each cohort of \ac{MolSSI} Software Fellows receives special training in a week-long Software 
Fellow Bootcamp. The Bootcamp curriculum includes topics in software development best practices,
software design and distribution, and special topics related to the projects and interests of 
the software fellow cohort. The Bootcamp material draws heavily from the \ac{MolSSI} Education 
resources featured in this paper, particularly the Python Package Best Practices and Software 
Design workshops.

Throughout the fellowship, the software fellows receive one-on-one mentoring from a \ac{MolSSI} Software Scientist who provides guidance for the software fellow's project.


\section*{Conclusion}
The \ac{MolSSI} Education Team is engaged with, and welcomes comments and collaborations from members of the \ac{CMS} and scientific software development communities. \ac{MolSSI} disseminates 
all new updates and the latest releases to the educational resources through its social media accounts, 
newsletter and the organizational website.\hyperref[csl:9]{(\textit{{The Molecular Sciences Software Institute}}, n.d.}; \hyperref[csl:2]{\textit{{MolSSI Education}}, n.d.)} All of our
educational resources including the hands-on tutorials, instructor-led workshop materials and self-paced
online courses are free and available under open source licenses. Members of the
scientific community can provide direct feedback, comments, or contributions to all educational resources
through opening discussions, issues, and pull requests on the \ac{MolSSI} Education \github\ repositories.\hyperref[csl:10]{(\textit{{MolSSI Education GitHub}}, n.d.)} We continuously measure the impact of our online educational
resources through tracking the user analytics gathered from the hosting websites and repositories.


\section*{ACKNOWLEDGMENT}
The \ac{MolSSI} is funded by the National Science Foundation under grant CHE-2136142.




{Jessica A. Nash}{\,}
is a Software Scientist and the Education Lead at \ac{MolSSI}.  As Education Lead for the Institute, she develops educational materials for researchers which enhance their capabilities to write and use \ac{CMS} software. She also currently works as the lead developer for the web interface for MolSSI's SEAMM (Simulation Environment for Atomistic and Molecular Simulation) project.


{Mohammad Mostafanejad}{\,}
is the Lead Software Scientist in \acs{HPC} Education, \acs{AI} and \acs{ML}
at the \acl{MolSSI}. He is also a Certified Instructor and University Ambassador
at NVIDIA \acl{DLI} and Intel with contributions to major commercial and open-source
quantum chemistry software packages such as \textsc{Q-Chem} and \textsc{Psi4}. 
His most recent efforts involve the development of \ac{ML} software infrastructure 
for the Simulation Environment for Atomistic and Molecular Modeling (SEAMM) project.


{T. Daniel Crawford}{\,}
is the Director of the \acl{MolSSI}, as well as the University Distinguished 
Professor and Ethyl Chair of the Department of Chemistry at Virginia Tech. 
He received his bachelor's degree in 1992 from Duke University and his Ph.D.
in 1996 from the University of Georgia.  His research focuses on advanced 
quantum chemical models of molecular spectroscopic properties.  He is a Fellow
of the American Chemical Society and the winner of 2010 Dirac Medal of the 
World Association of Theoretical and Computational Chemists.


{Ashley Ringer McDonald}{\,}
is an associate professor in the Department of Chemistry and Biochemistry at 
California Polytechnic State University in San Luis Obispo. She serves on 
the Board of Directors of The \acf{MolSSI} as the Co-director for Education,
Training, and Faculty Development. In this role, she directs \ac{MolSSI}'s 
diverse educational programming, including developing educational resources,
short courses, and workshops, and oversees \ac{MolSSI}'s engagement with other
education efforts and groups.

Prof. Ringer McDonald's research focuses on using multiscale modeling to 
study molecular interactions in complex chemical contexts and developing 
software tools in this area. She works significantly in the area of developing 
curriculum and resources to integrate programming across the chemistry disciplines,
and to identify and implement best practices for teaching programming in 
discipline-specific contexts.

\selectlanguage{english}
\FloatBarrier
\section*{References}\sloppy
\phantomsection
\label{csl:1}\url{https://molssi.org/software-projects/}

\phantomsection
\label{csl:2}\url{https://education.molssi.org/}

\phantomsection
\label{csl:3}\url{https://mercuryconsortium.org/}

\phantomsection
\label{csl:4}\textit{{Building capacity for undergraduate education and training in computational molecular science: A collaboration between the MERCURY consortium and the Molecular Sciences Software Institute}}. (2020). \url{https://doi.org/10.1002/qua.26359}

\phantomsection
\label{csl:5}\url{https://molssi.github.io/molssi-guidelines/}

\phantomsection
\label{csl:6}{The FAIR Guiding Principles for scientific data management and stewardship}. (2016). \textit{Scientific Data}, \textit{3}, 1–9. \url{https://doi.org/10.1038/sdata.2016.18}

\phantomsection
\label{csl:7}{Exchanging Best Practices and Tools for Supporting Computational and Data-Intensive Research, The Xpert Network}. (2021). \textit{ArXiv}.

\phantomsection
\label{csl:8}\textit{{Teaching Programming across the Chemistry Curriculum}}. (2021). American Chemical Society. \url{https://doi.org/10.1021/BK-2021-1387}

\phantomsection
\label{csl:9}\url{https://molssi.org/}

\phantomsection
\label{csl:10}\url{https://github.com/molssi-education}

\phantomsection
\label{csl:0}\textit{{ESCIP | Enhancing Science Courses by Integrating Python (ESCIP) is funded by the Research Corporation for Scientific Advancement through the Cottrell Scholars Collaborative program.}}. \url{https://escip.github.io/}

\phantomsection
\label{csl:0}\textit{{Psi4Education: Computational Labs Using Free Software}}. \url{https://psicode.org/posts/psi4education/}

\phantomsection
\label{csl:0}

\phantomsection
\label{csl:0}

\phantomsection
\label{csl:0}

\phantomsection
\label{csl:0}

\phantomsection
\label{csl:0}

\phantomsection
\label{csl:0}

\phantomsection
\label{csl:0}

\phantomsection
\label{csl:0}

\end{document}

