Eric Zhang


I am a student at Harvard University studying mathematics and computer science, as well as a competitive programmer and musician.

I enjoy programming and am often working on projects. Most recently, I wrote an open source physically-based path tracer in Rust, which renders photorealistic images of 3D scenes by modeling light transport between materials. Currently, I'm maintaining Set with Friends and thinking about how to redesign math typesetting for the modern web.

My academic interests are in algorithms, machine learning, and programming languages. I was previously a teaching fellow for CS 124 (Data Structures and Algorithms), taught by Michael Mitzenmacher, and CS 182 (Artificial Intelligence), taught by Milind Tambe and Boaz Barak. This semester, I am a teaching fellow for CS 161 (Operating Systems), taught by James Mickens. Aside from teaching, I have been involved on campus with chamber music, theatre productions, and as principal viola of the Harvard-Radcliffe Orchestra.

I wrote a physics book for high school students with Branislav Kisańćanin, which was recently published by AIP. The free PDF version is available online here.

Eric Zhang

Competitive Programming

In high school, I won two gold medals representing the US at the International Olympiad in Informatics (IOI), placing 7th globally. I also ranked highly in the national math and physics olympiads, and I compete on Harvard's ICPC team.

I have written and tested problems for major national and international programming competitions, including the following:

In addition, I maintain an advanced algorithm and data structure library available here. If you are looking for tutoring, I've previously taught recorded courses with Alphastar Academy for motivated students aiming to perform at a high level in programming competitions.


Current (Spring 2021)
  • CS 221: Computational Complexity
  • Math 132: Differential Topology
  • MIT 6.824: Distributed Systems Engineering
  • MIT 6.838: Shape Analysis
Past (2019–2020)
  • Math 55a: Studies in Algebra and Group Theory (notes)
  • Math 55b: Studies in Real and Complex Analysis (notes)
  • Math 118r: Dynamical Systems (project)
  • Stat 210: Graduate Probability I (notes)
  • CS 153: Compilers
  • CS 161: Operating Systems
  • CS 223: Random Processes and Algorithms (project)
  • CS 228: Computational Learning Theory (notes, project)
  • CS 252r: PL/AI Graduate Seminar (notes, project)
  • CS 263: Systems Security (project)
  • MIT 6.837: Computer Graphics (project)
  • Music 189r: Chamber Music Performance