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.

    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.

    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

  • Digit Classififcation Algorithm

    This was a brief personal project inspired by a homework assignment in my undergraduate numerical analysis course. Using a 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.