Fan Gao

Fan Gao

Undergrad @ Computer Science & Math

University of Wisconsin - Madison


I’m a junior undergrad majoring in CS & Math at UW Madison. Before transferred to Madison, I spent two wonderful years at the CS Department of University of Electronic Science & Technology of China. I love math and am experienced in competitive programming. My current research interests include scalable and efficient machine learning, distributed systems and databases.

I am applying for PhD programs starting from fall 2022. If you are interested, please take a look at my latest resume. For more personal projects, you can visit my GitHub. Recently, I also begin to maintain a website for notes of papers that I’ve read and plan to read.


  • Scalable and efficient machine learning
  • Distributed systems
  • Databases


  • B.S. in Computer Science & Math, 2019 - Est. Dec. 2021

    University of Wisconsin - Madison

  • Major in Computer Science and Technology, 2017 - 2019

    University of Electronic Science & Technology of China


ACM-ICPC International Collegiate Programming Contest

Gold Prize (ranked 3/180, 1.6%) in North Central North America Regional Contest. Coach: Prof. Dieter van Melkebeek.
See certificate

Huawei Code Craft Challenge

Designed algorithms to predict future demand for cloud services and allocate virtual machines optimally. Silver Prize (top 10 in 1515 teams, 0.7%). Won the green card of Huawei Research Intern.



Hybrid Concurrency Control Based on Workload Forecasting

Course project at CS 839 (Design the Next-Generation Database). Designed adaptive concurrency control protocols based on system monitoring and workload forecasting and dynamically adopt different concurrency control protocols according to some key factors (contention, abort rate, etc.). A final report following VLDB guideline is provided.

RSS Indexer

This is a concurrent RSS-indexer written in Rust that support single-thread, sync/async multi-thread, thread-pool mode. The indexer will download each of these articles that RSS files pointing at on the Internet. And then it will build a word count map that letting you query articles where a given word appears most frequently.

Ruse Language

A simple Lisp-like language written in Haskell that support lambda calculus with useful extensions. Type supported: bool, int, char, string, list, function. Operations supported: Common boolean/arithmatic operations that support arguments with arbitrary length, branching (if-then-else, condition), list operations (init, concat, head ail etc.), function operations (declaration, application). Value binding and recursive functions are also supported.

Precision Agriculture Based on Unmanned Aerial Vehicles

We used comprehensive methods like Mobile SSD, NVDI to predict crop yield and monitor the health status of crops. The project is based on a DJI Inspire UAV and PaddlePaddle deep learning framework. Won National Second Prize (top 10 in 1049 teams, 1%) in the China Artificial Intelligence Innovation Contest and 10,000 RMB bonus. A report in Chinese is provided.

Sentiment-controllable Stylic Music Generation

Given input sentences, this project aims to create music that matches the emotion of the texts. The model contains two parts: a text sentiment detector using LSTM; a stylistic composer using sequence-GAN. This project is selected as one of the best projects (top 10 in 583 projects, 1.7%) in Microsoft Student Club Practice Studio Program.