CV


Harry Zhou

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)