# Teaching

## University Courses

Department of Statistics and Data Science, Southern Methodist University.

| Course | Title | Terms |
| --- | --- | --- |
| DS 1300 | A Practical Introduction to Data Science | 2021, 2022, 2023 |
| DS 7347 | Data Science and High-Performance Computing | 2022, 2023 |
| DS 7333 | Quantifying the World | 2024 |

Earlier laboratory instruction as a graduate student and postdoctoral fellow
included the Graduate/Undergraduate Computational Chemistry Laboratory (2009,
2011, 2013), the Graduate/Undergraduate Computer Aided Drug Design Laboratory
(2010, 2012), and Undergraduate General Chemistry Laboratory (2010).

## Technical Workshops

More than 150 workshops delivered at SMU since 2015, ranging from two-hour
sessions to week-long, full-day intensives.

**2025** — O'Donnell Data Science and Research Computing Institute: Distributed
Python; Graph Machine Learning Fundamentals.

**2024** — O'Donnell Data Science and Research Computing Institute:
Introduction to HPC; Parallel Programming in C++.

**2023** — Research and Data Science Services Workshop Series: Introduction to
HPC; Scaling HPC Workflows; Kubernetes for Beginners.

**2022** — Research and Data Science Services Workshop Series: C++ Parallel
STL; KOKKOS & RAJA; MPL (Modern C++ MPI); R libraries from C++; Python modules
from C++. Also Speed Data-ing.

**2021** — Center for Research Computing Spring Workshop Series: ManeFrame II
(M2) Introduction; Intel oneAPI HPC Toolkit Overview; Python Workflows on M2;
NVIDIA HPC SDK Overview; R Workflows on M2; Introduction to OpenMP and OpenACC;
Introduction to MPI; Introduction to Standard C++ Parallel Algorithms.

**2020** — Center for Research Computing Fall, Summer, and Spring Workshop
Series (25 sessions plus five full-day workshops): M2 introductions and storage
workflows; Python, R, and Julia workflows on M2; Docker & Singularity;
Introduction to MPI, OpenMP, and OpenACC; Standard C++ Parallel Algorithms;
Introduction to LAPACK and BLAS; Text Mining with Python; the HPC Portal; Using
GitHub; Portable Accelerator Code with KOKKOS, RAJA, and OCCA; Writing High
Performance Python Code; Profiling Applications; Improving Code Vectorization.

**2019** — Center for Research Computing Fall, Summer, and Spring Workshop
Series (24 sessions plus a week-long, full-day workshop): Introduction to Using
M2; Vectorization Using OpenMP; R and Python Workflows on M2; Using Git and
GitHub; Hybrid MPI with OpenMP and OpenACC; Machine Learning Toolkits on M2;
Parallel Architecture Abstraction via OCCA and RAJA; Docker and Singularity on
M2; Using Spack for Development; Accelerated Libraries; Improving
Vectorization.

**2018** — Center for Scientific Computation Fall and Spring Workshop Series
(28 sessions plus a week-long, full-day workshop): ManeFrame II introductions;
Parallel R and Parallel Python on M2; Using Spack for Development; OpenMP,
OpenACC, and MPI introductions; Using SAS on M2; Introduction to Jupyter
Notebooks; Graphical Applications on M2; NVIDIA P100 Nodes; Intel Xeon Phi
Nodes; Advanced Slurm Features; Automating Computational Workflows. Also a
three-hour MathWorks MATLAB workshop.

**2017** — Center for Scientific Computation Fall and Spring Workshop Series
(23 sessions plus a week-long, full-day workshop): Migrating to and
Introduction to ManeFrame II; Debugging and Parallel Python; Jupyter Notebooks;
Porting Applications to MICs and GPUs; Debugging and Profiling Parallel
Applications with Allinea DDT and MAP; Introduction to Parallel, Research, and
Accelerator Programming; OpenMP, MPI, CUDA, and OpenCL deep dives;
Introduction to Vectorization.

**2016** — Center for Scientific Computation Fall and Spring Workshop Series
(16 sessions plus a week-long, full-day workshop): ManeFrame introductions;
GPGPU Development; Introduction to Jupyter; Debugging and Profiling Parallel
Applications; Build Automation Development Tools; Introduction to Julia; Python
in HPC Environments; Parallel Programming on ManeFrame; GPGPU Programming
Overview; OpenCL for HPC; Using R on ManeFrame.

**2015** — Center for Scientific Computation Fall Workshop Series (six
sessions) plus a week-long, full-day summer workshop: Introduction to Using
ManeFrame; Introduction to Parallel Programming; Post-processing Data Using
Python; Bash Shell Scripting; Introduction to C++ MPI Programming;
Introduction to GPGPU Programming.

**2012–2014** — Advanced Python Programming Workshop; Advanced CHARMM
Workshop; CATCO URVA Workshop; CATCO Methods Workshop; LaTeX Workshop.

## Student Advisement

### Graduate

- **Robert Ortega**, Southern Methodist University — Performance tuning of
  parallel free energy sampling methods, September 2020 to May 2021

### Undergraduate

- **Gabriel Mongaras**, Southern Methodist University — Describing electron
  density through machine learning models, August 2022 to December 2023
- **Carter Koehler**, Southern Methodist University — Describing electron
  density through machine learning models, August to December 2018;
  Super Computing 2018 Student Cluster Competition, January to May 2018
- **Ethan Britt**, University of Texas at Dallas — Super Computing 2018 Student
  Cluster Competition, January to May 2018
- **Mauhib Iqbal**, University of Texas at Dallas — Super Computing 2018 Student
  Cluster Competition, January to May 2018
- **Boce Lin**, Southern Methodist University — Super Computing 2018 Student
  Cluster Competition, January to May 2018
- **Rick Simon**, Southern Methodist University — Super Computing 2018 Student
  Cluster Competition, January to May 2018
- **Vyas Nellutla**, University of Texas at Dallas — Super Computing 2018
  Student Cluster Competition, January to May 2018
- **Moez Janmohammad**, Southern Methodist University — Engaged Learning Big
  iDeas Project, ARM Beowulf cluster prototype, January to May 2016
