Writing and Presenting
expository, research, mathematical proofs, LaTex
An exposition on the Primitive Element Theorem
This project was completed for my course in ring and field theory at Tufts University. I wrote a brief paper
which describes and proves the Primitive Element Theorem, a foundational result in field theory, and subsequently
Galois theory and algebraic number theory. View the project at the links below.
Proof & Writing Samples
Below are two homework assignments that I completed during my MS degree. First is an assignment on numerical methods for
ODEs as part of my graduate course in numerical analysis. As part of this assignemnt, I implemented an implicit Euler time-stepping
method to solve a predator-prey ODE system using R. Second is an assignemnt for a graduate topics course on artificial intelligence.
As part of this assignment, I studied PCA as an optimal linear autoencoder and the optimality conditions of the Laplacian Eigenmap.
Programming Languages
Python, Java, JavaScript, R, Rust, C
Linux Shell in C
This is a classic project for undergraduate computer science students and was a culminating project/homework for
my introductory computer systems course at Macalester College. This project exemplifies my understanding of the C programming
language and allowed me to apply a number of skills and techniques that I learned in computer systems including
array usage and allocation, pointer math, and the basics of parallel processes. Check out the repository below.
Algorithms & Data Structures
Algorithm design & analysis, algorithm patterns, proof methods, numerical & ML algorithms
Algorithms for Convex Polygon Triangulation
This project was a brief introduction to and exploration of popular triangulation algorithms for convex
polygons. This served as a culminating project to my introductory algorithms course at Macalester College, and
was my first experience writing a research-style paper. The project includes an implementtion of the ear-clipping
algorithm in Java using quick-hull and selection sort. Check out the links below to see our work in more detail.
Machine Learning & Data Science
NumPy, SciPy, PyTorch, Pandas, Plotly, matplotlib, RStudio, Tidyverse, Wolfram Mathematica
Geometrically-Informed Dictionary Learning
This project was completed as homework for a graduate topics course on the matheamtical foundations of artificial intelligence at
Tufts University. Given a data set, my goal was to represent each data point as a sparse linear combination of dictionary atoms
with the constraint that (1) the sparse codes lie on the probability simplex and (2) the minimization problem has a distnace-weighted
L1 regularization, which allows the learned atoms to inform about the geometry of the data. I proved that the sparse coding can
be computed via a (Euclidean) projected gradient descent onto the probability simplex. I described how to implement this dictionary
learning algorithm by unrolling to a neural network, and implemented an alternating minimization approach in Python. See my write-up
and code below.
Digit Classififcation Algorithm
This was a brief personal project inspired by a homework assignment in my undergraduate numerical analysis course.
Using the MNIST dataset containing nearly 10,000 images of handwritten digits (0-9), I wrote two machine learning algorithms to
classify the images. The first algorithm uses a Least Squares approach, and is implemented in three different ways
including via the normal equations, the built in QR algorithm in R, and via the Singular Value Decomposition. The other
approach uses the Low Rank Approximation via the Singular Value Decomposition. Check out the project below.
Full-Stack Engineering
HTML, CSS, Node.js, Google Firebase, VSCode, Jira
Mac Virtual Trade Center
This project was built for my software development course at Macalester College, and provides a space for
Macalester students and faculty to buy, sell and trade used goods at little-to-no cost. The project was built
using vanilla JavaScript, HTML, CSS, npm for package mangement, the Google Firebase SDK for backend services
including the Firestore NoSQL database and Webpack CLI for module bundling. Check out the repository
below.