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.
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.
The example is the Equator Music logo. I generally design logos in Sketch, but have also designed various logos in Illustrator. Check out my other logos by checking out my other projects!
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.
This was a quick school project made in Illustrator with the concept of modern yet authentic "Gills Sans" playing cards in mind.
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.
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.
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.
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..
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..
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.
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.
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.
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
Check out some questions that I did in R:
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.
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
Check out assignment 6 (completed using R/markdown): my work
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!
Methods of Data Analysis II
- 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
Check out my course assignments:
- Homework 1 - a homework on understanding the Bayesian workflow
- Assignment 1 - an assignment on modelling a Chlamydia infection using ODEs
- Homework 2 - a homework on modelling maths anxiety average treatment effects
- Assignment 2 - an assignment on modelling Raptor energy states with mixture models
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.
- Final project - predicting math marks using machine learning
- Homework 1 - a homework on the basics of ML, KNN, deriving cost functions by hand, and regularization
- Homework 2 - a homework on linear separability with some linear programming, neural networks, diagnosing model performance, and hyperparameter tuning
- Homework 3 - a homework on proving performance of boosting, and an intro to generative models using MAP and naive bayes
- Homework 4 - a homework on mixture modelling and some Bayesian approaches
Theoretical Computer Science
Data Structures and Analysis
- Problem set 1 - an assignment on randomised runtimes amongst others
- Problem set 2 - an assignment on augmented tree structures and hashing
- Problem set 3 - an assignment on search algorithms, amortized analysis, and disjoint sets
Human Computer Interaction
The Design of Interactive Computational Media
- Final project prototype - a critical design take on modern dating apps