Eric Zhu





Download my resume



Scroll down to see my graphic design work.

Recently I've focused more on my photography work, which is available at my photography Instagram.

UI Design

The example is the UI of Equator Music, a Youtube music player. I created the UI design using Sketch along the various states (showing playlists or songs) and icons for the project.

Misty Mountains

This was a school project that I created in Photoshop with a heavy use of blend modes. The criteria was to create an image that could go along with a haiku.

Playing Cards

This was a quick school project made in Illustrator with the concept of modern yet authentic "Gills Sans" playing cards in mind.

Typographic Puma

This was a school project made in Illustrator using words/letters to create an image of a puma.


This was a picture I retouched in Photoshop mainly using colour curves.



Scroll down to see my projects.

I've focused more on school assignments in the last year. Most are available under "university".

I gave a workshop talk as part of the UofT ISSC (Independent Summer Statistics Community), where I both created my own materials for both a lecture style talk and applied hands on portion. The lecture section covered motivations for Bayesian Stats, motivations for priors, weakly informative priors, and Bayesian predictions. The hands on portion covered a multiple imputation random effects model using Stan and Python interfacts.

Check out the finalized slides and workshop notebook.

UofT ISSC Bayesian Workshop

ISSC Case Competition 2021

My group of 4 (Ashley Zhang, Sergio Zheng Zhou, and Muhammed Tsany) created a slide deck and write up that won the best insight award out of 16 competing teams that were ultimately accepted. The event was hosted as part of UofT's Statistical Sciences Summer Community. We created our a custom dataset from open source data and explored how education and income levels could be related to liveability scores (inspired by the Economist's). Ultimately, we found potential evidence of a "mobility ceiling" between the second highest income bracket and the highest, and suggested possible future investigation directions.

Check out the finalized slides and write up.

My group of 4 (Ashley Zhang, Sergio Zheng Zhou, and Muhammed Tsany) created a slide deck and write up that won the best visualization award out of 17 competing teams (out of 70+ teams that applied). Judges came from Amazon, BMO, Dalla Lana School of Public Health, KPMG, TD Insurance and more. We explored how income levels could be related to misuse across drug categories, and how certain drug survey questions would be linked with drug misuse across categories. Ultimately, we found income brackets at the extremes were linked to higher drug misuse and certain more personal survey questions had statistically significant effects across drug categories.

Check out the finalized slides and write up.

ASA DataFest@UofT 2021

ASA DataFest@UofT 2020

My group of 4 created a Tableau dashboard that portrayed the Canadian consumer landscape through a basket of common consumer goods, inspired by CPI. Our analysis centered on careful descriptive analytics on manually cleaned data, filtered by exploratory data analysis. We found the prices of our basket of goods had been negatively affected by the pandemic.

Check out the finalized dashboard..

Equator Music

A simplistic Youtube music player created in Visual Studio and C# using the .NET framework along with the Youtube/Google API. I put a heavy emphasis on usability through the card design, along with attractiveness through various UI effects created in the pre fluent design era.

Check out the project..

Open Source Pause Menu

A robust open source pause menu for Unity3d that controls and saves relevant video and audio settings. It currently has over 6000 users and a 5 star rating on the asset store.

Check out the project page here.


A documentation generator created for Unity3d at Hack the North 2018 with jantepya. It takes the user's code files and generates a responsive website organized by the classes in the code files.

Check out the project..


A modern, light, and organized documentation generator. It was born out of the drawbacks I had while using Doxygen to create documentation for Open Source Pause Menu.

Check out the project..



Relevant courses sorted by year and category

Only some coursework is shared since others may contain code, derivations, etc..., that would be unwise to make public.

First year



An Introduction to Statistical Reasoning and Data Science: This course taught the foundations of data science and statistical reasoning through "a combination of logical thinking, mathematics, computer simulation, and oral and written discussion and analysis". It ultimately covered traditional statistical methods along with foundations of supervised learning and some models. In every tutorial, we analysed a problem using statistical methods and presented our conclusions to the class. A more detailed description is available on the calendar (course catalogue) or at the course website. The course culminated in a group data analysis project that analysed global internet usage with R on a multitude of factors, e.g, region and socioeconomic status.

Check out the final project slideshow.

Theoretical Computer Science


Mathematical Expression and Reasoning for Computer Science: This course was an introduction to theoretical computer science with an emphasis on developing the foundations of "abstraction and rigour". The course used proofs to develop "precise expressions of mathematical ideas, including definitions and theorem" and mainly applied them to the running times of iterative programs (Big-Oh, Big-Omega, Big-Theta). A more detailed description is available on the calendar (course catalogue) or at the cached course website.

Check out problem set 4: our work or the handout.

Programming Based


Introduction to Computer Science: This course taught the much of the foundations of computer science using python. The main concepts covered were "Abstract data types and data structures for implementing them. Linked data structures. Encapsulation and information-hiding. Object-oriented programming. Specifications. Analyzing the efficiency of programs. Recursion." Our final project (assignment 2) was to create a recursive tree-based data structure that would represent music efficiently (and thus be able to play correctly formatted songs). The course website is no longer up, but here is the syllabus. More information about the course is also available on the calendar.



Calculus! (Calculus with proofs): This course covered differential and integral calculus with an emphasis on proofs. Ultimately this course expected us to know how to the theoretical foundations of calculus concepts in conjunction with the computational methods. For example, it was expected of us to be able to use the formal definition of a certain series to prove its divergence. More information is available on the calendar (course catalogue) or find some of the course materials used in one section.

Second year



Probability with Computer Applications: This course taught the foundations of probability through calculations and some proofs of core concepts. Notable concepts include: "random variables, discrete and continuous probability distributions, expectation and variance, independence, conditional probability". These concepts were applied to various common distributions not limited to the normal, exponential, poisson, and geometric distributions. More information is available on the calendar (course catalogue)


Statistics for Computer Scientists: This course covered inferential and descriptive statistics from an applied and computational perspective. Assignments heavily used R to perform data analysis using concepts such as hypothesis testing, confidence intervals, regression and ANOVA. Proofs were sometimes used to reinforce theoretical foundations. More information is available on the calendar (course catalogue)

Check out some questions that I did in R:

  1. Assignment 2 - handout
  2. Final Problem Set - handout

Theoretical Computer Science


Introduction to the Theory of Computation: This course was a rigourous introduction to the Theory of Computation. It covered topic such as various forms of induction, running times of recursive algorithms, program correctness, and state machines (NFAs and DFAs) using formal languages. The course consisted of weekly quizzes, tests, and assignments that would consist of proof based questions. A more detailed description is available on the calendar (course catalogue) or at the course website.

Programming Based


Software Design: This course was a project based course, covering software design concepts, namely SOLID design principles and design patterns noted by the Gang of Four. Practical experience of design patterns and SOLID design principles were reinforced by practical experience in using Android Studio to create a game in a group setting. Emphasis was placed on writing clean code for future extensibility. A more detailed description is available on the calendar (course catalogue).


Software Tools and Systems Programming: This course covered programming in bash and C. Emphasis was placed on being able to utilize bash commands to efficiently assist in develop programs in C in addition to writing Bash programs. Assignments required C and Bash, and the final assignment focused on creating a twitter-like sever and client, with emphasis placed on correctly writing asynchronous and synchronous code. A more detailed description is available on the calendar (course catalogue).



Calculus II: This course taught multivariate calculus, covering vector calculus, line integrals, and surface integrals in addition to differential and integral calculus of multiple variables. Additionally, emphasis was placed on applications from mainly physics and sometimes statistics. A more detailed description is available on the calendar (course catalogue).


Linear Algebra I: This course covered core concepts in linear algebra, such as eigenvalues and eigenvectors, spans, linear dependence/independence, cross/dot products, and linear transformations. A more detailed description is available on the calendar (course catalogue).



Principles of Microeconomics: This course taught the foundations of microeconomics. It covered core concepts such as pricing, externalities, taxes, introductory game theory, and monopolies. Emphasis was placed on developing intuition of market movements and the resulting prices. A more detailed description is available on the calendar (course catalogue).


Principles of Macroeconomics: This course taught the foundations of macroeconomics. It covered core concepts such as GDP, CPI, international trade, tariffs/taxes, monetary supply, and PPP. Similar to ECO101, emphasis was placed on developing intuition of market movements, but we used macroeconomic models in determining the behaviour of markets and resulting prices. A more detailed description is available on the calendar (course catalogue).

Check out assignment 6 (completed using R/markdown): my work

Third year


STA302 STA1001

Methods of Data Analysis I: A required course for Statistics students at UofT. Goes over tests used for SLR/MLR. Interestingly, this course is accredited by the Canadian Institute of Actuaries with a minimum grade of 77 for credit, meaning I obtained actuary credit!

STA303 STA1002

Methods of Data Analysis II

  1. Final project - a mock consulting project investigating EDI (equity, diversity, and inclusion) goals


Applied Bayesian Statistics: This course covered much of the information needed create and interpret Bayesian models from prior setting to model performance. In particular, the course focused on a justified Bayesian workflow with an emphasis on predictive checks and justified priors. Assignments varied across domains from psychology (examining maths anxiety treatments) to animal ecology (Raptor latent energy states). Overall, it was a very useful course in learning how to construct Bayesian models from scratch using Stan and R. More information is available on the course syllabus.

Check out my course assignments:

  1. Homework 1 - a homework on understanding the Bayesian workflow
  2. Assignment 1 - an assignment on modelling a Chlamydia infection using ODEs
  3. Homework 2 - a homework on modelling maths anxiety average treatment effects
  4. Assignment 2 - an assignment on modelling Raptor energy states with mixture models

Machine Learning


Introduction to Machine Learning: This course covered a lot of the theoretical foundations for machine learning. It really emphasized the why rather than the how, which makes reading or learning about new models much easier. The course covered supervised learning and unsupervised learning, going over much of the standard material such as linear regression, PCA, the EM algorithm, and also principles like ensembling.

  1. Final project - predicting math marks using machine learning
  2. Homework 1 - a homework on the basics of ML, KNN, deriving cost functions by hand, and regularization
  3. Homework 2 - a homework on linear separability with some linear programming, neural networks, diagnosing model performance, and hyperparameter tuning
  4. Homework 3 - a homework on proving performance of boosting, and an intro to generative models using MAP and naive bayes
  5. Homework 4 - a homework on mixture modelling and some Bayesian approaches

Theoretical Computer Science


Data Structures and Analysis

  1. Problem set 1 - an assignment on randomised runtimes amongst others
  2. Problem set 2 - an assignment on augmented tree structures and hashing
  3. Problem set 3 - an assignment on search algorithms, amortized analysis, and disjoint sets

Programming Based


Computer Organization


Introduction to Databases

  1. Assignment 1 - an assignment on relational algebra and integrity constraints
  2. Assignment 3 - an assignment on schema design and concepts necessary to re-factor relations in to 3NF and BCNF

Human Computer Interaction


The Design of Interactive Computational Media

  1. Final project prototype - a critical design take on modern dating apps


About me.
I'm a student developer and designer double majoring in Computer Science and Statistics at the University of Toronto, and I'm originally from Boston. My interests include modelling through DL or Bayesian approaches, statistical inference about society, UI/UX design, graphic design, and computer graphics. Currently, I'm a research assistant under Prof. Scott Schwartz, studying the quantification of aleatoric (data) and epistemic (model) uncertainty in deep neural networks. It looks at using likelihood defining neural networks with importance sampling to produce reliable parameter posteriors. Previously, I've been an intern at Amazon on the FBA inbounding team, creating the next seller experience, and an intern at AMD, working on HIP-Compute.
I love creating projects that make easier how we interact with our world, whether that be presenting data in insightful/easy to read conclusions or frameworks/apps that simplify life for the end user. Besides computing, I love travelling, exploring cities and nature alike, and taking pictures (check out my photography Instagram).

Download my resume.