CV
1786 Iona Ave
Naperville, IL 60565
(224) 806-6689
harryyz2@illinois.edu
Education
University of Illinois at Urbana-Champaign
Expected graduation: May 2025
Bachelor of Science in Mathematics and Computer Science
Minor in Physics
Coursework
- CS 225 - Data Structures and Algorithms - A+
- CS 341 - System Programming - A+
- CS 374 - Intro to Algorithms & Models of Computation - A+
- CS 473 - Algorithms - A
- CS 483 - Applied Parallel Programming - A+
- CS 450 - Numerical Analysis - A+
- CS 446 - Machine Learning - A
- MATH 413 - Intro to Combinatorics - A+
- MATH 447- Real Variables - A
- MATH 461- Probability Theory - A+
- PHYS 326 - Classical Mechanics II - A
Technical Skills
Programming Languages:
Java, C, C++, Python, HTML/CSS/JS, NodeJS, Go, Rust, GLSL, CUDA, Verilog, Bash Scripting
Libraries/Tools/Systems:
Linux, Git, Numpy, Scipy, PyTorch, Matplotlib, OpenGL, MySQL, Express.js, ReactJS, PyQt, Maven, Gradle, Make, Apache, Gatsby
Experience
Argonne National Laboratory - AI Research Intern
May 2024 - Present
- Open-ended research internship studying compositional learning
- Implemented a method of fine-tuning a vision-language-action model using KTO alignment based on the method described in the paper
- Designed a data collection interface to efficiently label data in a way suitable for KTO training of the VLA model
Argonne National Laboratory - Research Assistant
September 2022 - May 2024
- Wrote the control system for a machine that uses magnetron sputtering for thin-film depositions
- Wrote data-collection software for lab equipment
- Designed and implemented data analysis software for x-ray reflectivity measurements on multilayer optics
University of Illinois - Course Assistant
January 2022 - December 2022
- Helped run a student-led course in Rust programming
- Provided guidance for students on homework and projects
University of Illinois - Software Developer
September 2024 - Present
- Worked on a team of 4 to implement analytics and data visualization features on an attendance app for a client
- Full-stack development: ReactJS frontend with modular, containerized docker backend servers
Projects
Personal Website
- Wrote a personal website from scratch with the React framework, optimized for static-loading with Gatsby
- Implemented various features that I use in my day-to-day life, such as a file hosting service
- Self-hosted with apache on a linux server
Procedura
- Designed a framework for creating procedural structures in Minecraft
- Implemented a library in Golang for creating procedural structures and communicating them to a local server
- Wrote a Java plugin that dynamically registers and loads procedural creations to provide real-time feedback
LLM Fine-Tuning
- Automated the collection of about a million chat messages from a game server I frequented, to serve as training data
- Fine-tuned Mistral 7b using LoRA adapters on a quantized base model (QLoRA)
- Training and data processing done in Pytorch, with Unsloth to accelerate training.
- Created a bot to interact with the people on the server, using the fine-tuned LLM
- Designed a data labelling interface to further refine the bot with KTO, using data from the bot’s interactions with real people.
Neural Network from Scratch
- Designed and implemented a neural network machine learning library from scratch in c++
- No 3rd party libraries used
- Efficient backpropagation and optimizer implementation
Sound Characterization Machine Learning Project
- A machine learning project to determine the pitch and timing of notes in a song that that consists of a known set of audio samples
- Based on the Basic Pitch paper from Spotify Research: (A Lightweight Instrument-Agnostic Model for Polyphonic Note Transcription and Multipitch Estimation)
Card Game Server
- Game that can be played from my personal website, featuring an obscure card game called Eleusis
- Multiplayer functionality implemented with websocket programming, and certificates updated automatically with Cron
- Frontend made with React, and backend made with Express.js (NodeJS)
SongPlayer
- A Minecraft mod that parses Midi files on the fly and converts them into a form that may be played in Minecraft
- Automatically places the blocks needed to play the song, and plays the music
HBot
- A long-running project with over 20,000 lines of code
- A Minecraft bot that aggregates many features, such as building structures, playing music, Discord integration, etc.
- Made a derivative called EpsilonBot, which is primarily focused building images out of blocks
Numerical Analysis of Projectile Trajectories in Minecraft
- Reverse-engineered Minecraft projectile physics, and produced mathematical model for all projectiles
- Uses Newton’s method to derive launch angles of projectiles with air resistance
- Created a write-up of the derivation and code on my blog
Rust Raytracer
- A multithreaded raytracing engine written in Rust
- Uses path-tracing for global illumination
Early (Pre-College) Projects
Character RNN
- Character-level LSTM-based neural network inspired by an article from Andrej Karpathy: “The Unreasonable Effectiveness of Recurrent Neural Networks”
- Trained on 500 MB of text extracted from Wikipedia
- Implemented in Tensorflow
- Used in a self-hosted bot that, when given a prompt by a user, would randomly sample a completion from the predicted distribution to approximate the style of speaking of a Wikipedia article
CUDA Fractal Rendering Engine
- A configurable GPU-powered fractal animation renderer written in CUDA c++
- Produces a series of animation frames that can be compiled into a video with ffmpeg
Simple Raytracer
- A straightforward raytracing engine that supports various materials and shapes, written in Java
- Supports various material types, volumetric shading, refraction for translucent materials, reflectivity based on the fresnel equations, etc.
DLA Fractal Drawer
- A Java program that simulates diffusion-limited aggregation to produce visualizations of DLA aggregates
GLSL Shader Programs
- Various shader programs written over the course of a few years
- Primarily various ray-traced demos, ray-marched 3D fractals, and IFS fractals
- These projects are how I learned most of what I know about today about rendering techniques and 3D graphics pipelines
Awards and Honors
- ICPC North American Qualifier (2023) - 4th among UIUC participants
- ICPC Mid-Central USA Regionals (2022) - 4th out of 74 mid-central USA teams
- Dean’s List, every semester (2021-2024)