Teaching
Teaching Philosophy
Here is a brief statement of my philosophy and values when it comes to teaching.
Expository Notes
Here are some expository math notes along with code. These may contain typos.
Talks
- Lattice-based Cryptography in Rust, Jan. 13, 2025. [slides]
- Lattice-based Cryptography: ring-LWE, Jan. 28, 2025. [slides]
- Lattice-based Cryptography Presentation [ring-lwe, module-lwe], with Zaiku Group. Jan 31, 2025. [live recording]
- Quantum Computing Basics, Feb. 22, 2025. [slides]
Code Examples
Here is some code I've written that may be useful for learning various topics:
- Cryptography Basics: Python code examples for basic cryptographic algorithms including ECC, FHE Concrete, LLL algorithm, NTRU, NTT, ML-KEM, ring-LWE, module-LWE.
- Shor's Algorithm: Qiskit implementation of Shor's algorithm for integer factorization.
- Physics-Informed Neural Networks (PINNs): PyTorch implementation of PINNs for solving differential equations such as the heat equation and Black-Scholes for options pricing.
- Financial Modeling: Python code for various financial models including ARIMA, CAPM, ETS, GARCH, basic ML, portfolio optimization, XGBoost, simple Black-Scholes, credit default swaps, options pricing.
- SIGINT: Python code for signal intelligence analysis and processing. Also available via PyPI as sigint-examples.
- Optimization: Python code for various optimization algorithms in
cvxpy and Gurobi including control, least squares, linear programs, MILP, portfolio optimization, and quadratic programs.
- AES Block Cipher Modes: C code for implementing AES block cipher modes following NIST SP800-38X standards.
- Post-quantum Cryptography: Implementations of ring-LWE, module-LWE, NTT, and ML-KEM in pure Rust, in accordance with NIST FIPS-203. Published to Crates.io as
ntt, ring-lwe, module-lwe, mlkem-fips203.
- Neuroimage Analysis: MATLAB code for analyzing open-source fMRI data including using DTI (diffusion tensor imaging) techniques.
- Natural Language Processing: Python code for various NLP tasks including sentence classification, text summarization, sentiment analysis, keyword extraction, hate speech detection, next word prediction, spam detection, text classification, spelling correction, named entity recognition, and topic modeling.
- Machine Learning: Python code for various ML tasks including MNIST classification, a Kaggle competition solution using XGBoost, t-SNE maps of SAMHSA mental health data, rank minimizing regularization techniques, and basic geometric deep learning examples.
Courses Taught
Math courses I taught at Boston University as a teaching fellow (TF) from 2013 - 2019:
| Course |
Number |
Term |
Role |
| Calculus for the Life and Social Sciences | MA 121 | Fall 2013 | TF |
| Calculus for the Life and Social Sciences | MA 121 | Spring 2014 | TF |
| Calculus II | MA 124 | Summer 2014 | Instructor |
| Calculus I | MA 123 | Fall 2014 | TF |
| Calculus II | MA 124 | Spring 2015 | TF |
| Calculus II | MA 124 | Summer 2015 | Instructor |
| Calculus II | MA 124 | Fall 2015 | TF |
| Multivariate Calculus | MA 225 | Spring 2016 | TF |
| Linear Algebra | MA 242 | Summer 2016 | Instructor |
| Multivariate Calculus | MA 225 | Fall 2016 | TF |
| Multivariate Calculus | MA 225 | Spring 2017 | TF |
| Multivariate Calculus | MA 225 | Summer 2017 | Instructor |
| Multivariate Calculus | MA 225 | Fall 2017 | TF |
| Multivariate Calculus | MA 225 | Spring 2018 | TF |
| Calculus for the Life and Social Sciences | MA 121 | Fall 2018 | TF |
| Differential Equations | MA 226 | Spring 2019 | TF |