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.