Skills: Objective-Caml (programming language), Functional Programming, Test-Driven Development, Group Project
Personal Contributions: Terminal-based user interface, king and rook mechanics, exhaustive test suite, ~500 LoC
Project Description: For the final project of Cornell's CS 3110 (Functional Programming and Data Structures), I collaborated with three partners to create a terminal-based user interface for chess in Objective-Caml. It supports all the standard rules of chess including en-passant, castling, and pawn promotion. Users move a piece [p] by entering the square [p] is on and then the square they want to move [p] to. The game disallows illegal moves and identifies when a game ends in stalemate or checkmate.
Link to ProjectSkills: Java (programming language), JavaFX, Object-Oriented Programming, MVC Design Pattern, Group Project
Personal Contributions: Recursive descent parser, context-free interpreter, JavaFX graphical user interface, exhaustive test suite, ~4000 LoC
Project Description: For the final project of Cornell's CS 2112 (Honors Object Oriented Programming and Data Structures), I worked with two other partners to simulate a world of critters with the capability to move, eat, reproduce, evolve, and die. The project was split into three major components: first a recursive descent parser for a simple critter language, second a model-controller for critter simulation, and third a graphic user interface (GUI) to visually represent the model. Additionally, a rigorous test suite of parameterized, random, blackbox, and glassbox testing was developed to check the validity of all modules.
Link to ProjectSkills: R (programming language), Principal Component Analysis, Hierarchical Clustering, Scientific Writing, Group Project
Personal Contributions: South African virulence gene statistical analysis, manuscript writeup, team leadership, ~1000 LoC
Project Description: As part of a summer research program at Villanova University, I worked under Dr. Zuyi Huang to study global trends of virulence genes in antimicrobial-resistant pathogens, specifically performing principal component analysis (PCA) and hierarchical clustering in R using data from the National Practictioner Data Bank. As student lead, I managed project code and spearheaded the write-up of our manuscript. Our research was ultimately published in Processes (impact factor: 2.75), where I received first author recognition.
Link to ProjectSkills: C# (programming language), C (Programming Language), Unity, VR/AR Technology, Video Compression, Scientific Writing
Personal Contributions: Spatio-temporal downsampling algorithm, systems benchmarking, manuscript writeup
Project Description: For the Visual Media Research Experience for Undergraduates (REU) program at Arizona State University, I worked on computational imaging research with Dr. Robert LiKamWa and Dr. Suren Jayasuriya. Specifically, my work was on optimization for volumetric streaming, a form of information transfer integral to virtual reality (VR) technology. I integrated spatiotemporal downsampling algorithms into a volumetric streaming pipeline and benchmarked its effects on throughput, latency, and quality of experience. Ultimately, I summarized my research in an ACM journal style manuscript and a brief presentation to my peers.
Link to ProjectSkills: R (programming language), Relational Databases, Data Scraping, String Processing
Personal Contributions: Two research ready R packages, executive title standardization mapping procedure
Project Description: As an information technology consultant for the Institute for Compensation Studies (ICS) at Cornell University's Industrial Labor Relations School, I created data preprocessing tools for social science researchers. Through discussions with PhD candidate Xiaofei Xie, I implemented database processing packages to sift through online nonprofit tax forms. Furthermore, I developed a procedure to transform raw title variations (including typos, alternate spellings, and equivalences) into standardized terms.
Link to ProjectSkills: Python (programming language), PyTorch, ROS, Computer Vision, Integration Testing, Group Project
Personal Contributions: YOLOv8 buoy detection model training, image annotation procedure, persistent memory algorithm implementation, onboarding documentation
Project Description: As the perception lead for Cornell's AutoBoat project team, I am responsible for
developing the team's
object detection model. The goal of this model is to identify competition objects (buoys, targets, etc.) in
real-time. Over the course of the past year and a half, I have spearheaded dataset preparation, model
training, and systems integration for the software team.
More technically, the buoy detection model is based on the YOLO (You Only Look Once) neural network and
is implemented with PyTorch. In the context of the boat's full systems, the model is part of a computer vision
node in the Robot Operating System (ROS) framework, and it operates smoothly on the boat's onboard Jetson
Xavier computer with a ZED 2i camera.