Hi there!

Hi there! I'm a master's student at the University of Waterloo with a passion for computer science and visual arts. Whether it's quickly finishing a demo at a hackathon, tinkering in Unity, or throwing something on the pottery wheel, I love building things! Check out my SIGGRAPH member profile for some fun facts about me too!

Email : cheryl.lao@outlook.com
LinkedIn : ca.linkedin.com/in/cheryllao
Resume : Click here for Resume PDF
CV : Click here for CV PDF



  • Human-Computer Interaction
  • Computer Graphics
  • Machine Learning
  • Computer Vision
  • Numerical Methods
  • Algorithm Design, Analysis and Complexity
  • Operating Systems
  • Introduction to Databases
  • Multivariable Calculus

  • Master of Mathematics (MMath): Computer Science

    University of Waterloo

    September 2020 - Present

    • Thesis-based master’s program co-supervised by Prof. Daniel Vogel & Prof. Craig Kaplan
    • Currently researching virtual reality (VR) and spatial augmented reality (SAR) interfaces as well as Typographical Layout
    • GPA: 4.0/4.0 | 95.5%
    • 2022 Adobe Women in Technology Scholarship Recipient

  • Honours Bachelor of Science (HBSc) Computer Science

    University of Toronto

    September 2015 - June 2020

    • Specialist in Computer Science with a Computer Vision focus
    • Graduated with High Distinction
    • Completed a year-long PEY co-op internship (2018-2019)
    • Dean’s List (2016, 2017), President’s Entrance Scholarship (2015), Friends of Victoria University Library Scholarship (2016), Canada Chinese Computer Association Scholarship (2016)


My most recent work experience.

  • Research Intern


    May 2021 - August 2021

    • Conducted HCI research on typographical layouts in the Graphics Intelligence and Learning Lab
    • Designed and administered an experiment and survey to identify visual preferences in typography

  • Software Developer Intern (Maya Rendering team)


    May 2019 - August 2019

    • Developed features for Autodesk Maya’s Render Setup using PyMEL, Python and Qt
    • Collaborated with designers to design and implement the grouping feature that allows users to organize and manipulate multiple object overrides simultaneously
    • Created a feature that summarizes information from the Maya node dependency graph

  • Software Developer Intern


    May 2018 - May 2019

    • Worked in the Device Enablement and Configuration team as well as the Power Modelling team
    • Designed and developed Intel's PSG software department's centralized database to manage supporting device attributes in their respective software releases
    • Maintained dashboards to track project developments
    • Collaborated with satellite teams
    • Worked on Intel PSG's Early Power Estimator tool

  • Software Designer-Coop


    May 2017 - August 2017

    • Worked with python, bash and the Robot Framework for test automation in the QA Research and Development group
    • Mentored summer students in product installation and python and bash scripting
    • Worked in Linux (Red Hat) environment
    • Wrote well-documented and formatted code to facillitate handoff and re-use

  • Pottery Counsellor

    YMCA of Greater Toronto

    July 2016 - August 2016

    • Designed the first Pottery Camp curriculum for YMCA of Greater Toronto summer camps
    • Resolved the uncertainties of a new program through effective communication with coworkers and clay technicians
    • Delivered engaging ceramics instruction to campers age 6-12


A few of my projects. Please refer to GitHub for the source code and more projects.

  • Design Space Exploration in VR

    Research Project

    ACCEPTED to ACM SUI 2021



    • Supervisors: Daniel Wigdor, Fanny Chevalier, and Haijun Xia
    • Reviewed existing research on virtual reality (VR) authoring tools
    • Designed a novel tool for visualization in virtual reality design space exploration
    • Developed the VR prototype in Unity 3D (C#) for Oculus Rift
    • Designed and conducted remote user studies with design experts to evaluate the tool
    • ACM Digital Library entry

  • Raytracer

    Computer Graphics Project


    • A raytracer written with the C++ Eigen library that rendered 3D scenes built with .stl objects as images with lighting, reflections, and shadows
    • Extended the project to make an animated scene with depth of field blurring
    • The tongue-in-cheek artist's statement that I submitted with the project can be found here
    • 3D human models were edited in Blender based on work by Tedi Permana

  • Image Denoising with Machine Learning

    Computer Vision / Machine Learning Project




    • Project partner: Angelo Austria
    • Implemented, trained, and tested an image noise remover based on the DnCNN architecture by Zhang et al.
    • Augmented image data with a variety of image processing techniques to increase generalizability of the model
    • Evaluated the effectiveness of the model on several image noise types (gaussian, speckle (grayscale and coloured), salt & pepper)

  • AR Food Bank Donation Filter

    Augmented Reality Project


    • An interactive AR Instagram filter that suggests which food a person should donate to the food bank
    • Implemented using Facebook's SparkAR software
    • Data drawn from Food Banks Canda website
    • A quick run-through of the filter and its implementation can be found in the video above
    • Submitted to Facebook's 2020 Augmented Reality Hackathon

  • Idyllic Island

    Research Project - Educational Video Game Design



    • Supervisors: Steve Engels and Daniel Zingaro
    • Project Partner: Ryan Ro
    • Read our report here!
    • Designed and implemented an educational videogame that was tested by students and faculty throughout the development process to determine the most effective educational features in videogames
    • Applied modified agile development methodologies to deliver an improved game for beta testing regularly
    • Developed an algorithm to approximate animal population levels that accounted for predation and food scarcity within the game

  • SiteScrubber

    Chrome Extension


    • Winner of Organizer's Choice (3rd) and Best Hack Against Harassmant at The Lady Hacks 2016
    • A Chrome extension that finds offensive words on web pages and seamlessly replaces them with less offensive equivalents
    • I worked on the word recognition and replacement functions on the back end (JavaScript)
    • Now available on the Chrome Web Store as SiteScrubber


My most recent volunteer positions.

  • Executive member

    Toronto SIGGRAPH Chapter


    • Collaborated with other executives to organize computer graphics events for the CG community in Toronto
    • Organized and hosted a panel on immersive technologies featuring Ian Hall, Dave Cardwell, and Michael Nebeling with over 3000 views so far

  • Student Volunteer

    ACM UIST Conference


    • Provided support for the virtual conference over Discord, and streamed content through Zoom calls
    • Coordinated with other team leaders to select, onboard, and delegate tasks to over 200 student volunteers

  • Student Volunteer Team Leader

    ACM SIGGRAPH Conference


    • Provided support for the virtual conference over the conference's Hubb page, reviewed VR content, and drove student volunteer engagement over Discord
    • Coordinated with other team leaders to ensure smooth operation of the conference

  • Student Volunteer Team Leader

    ACM SIGGRAPH Conference


    • Provided support for the virtual conference over the conference's Hubb page, monitored Zoom calls, and drove student volunteer engagement over Discord
    • Coordinated with other team leaders to select, onboard, and delegate tasks to over 200 student volunteers

  • Student Volunteer Team Leader

    ACM SIGGRAPH Conference


    • Coordinated with other team leaders to select, onboard, and delegate tasks to over 400 student volunteers
    • Provided on-site support for a conference with over 16,000 attendees

  • President

    U of T Computer Graphics Club

    2016 - 2020

    • Started the club with a focus on computer graphics from the computer science perspective as well as the artistic perspective
    • Designed and delivered a workshop on Graphics Programming in Processing
    • Designed and delivered tutorials on the Microsoft Computer Vision API
    • Coordinated tech talks and a graphics lab tour with professors and grad students in the department
    • Worked with Vice Presidents to manage administrative duties including email list, social media and the utcg.club website
    • Grew membership to over 350 members over 4 years

  • Vice President

    U of T Computer Science Student Union

    April 2017-April 2018

    • Helped to organize Computer Science Frosh for over 350 first years and leaders
    • Coordinateed communications between computer science-related clubs and the student union
    • Worked as a liaison between the department and the student
    • Organized a semi-formal dinner for staff and students with over 100 attendees
    • cssu.ca

  • Microsoft Student Partner



    • Taught workshops workshops on the Microsoft Computer Vision API with the U of T Computer Graphics Club
    • Click here for slides
    • Promoted Microsoft events and services to peers

  • Webmaster and Art Director

    UTFOLD (U of T Origami Club)

    September 2015 - April 2017

    • Cooperated with other members of the executive team to design and create polished multi-platform advertisements in a timely manner
    • Redesigned and maintained utfold.com using Wordpress and HTML

  • Visitor Services Chair

    Gardiner Museum of Ceramic Art

    January 2017 - January 2018

    • Managed monthly schedules for about 50 volunteers over 3 different committees
    • Integrated a new subcommittee into the GVC by migrating existing scheduling procedures onto our website and introducing new volunteers to features on our website
    • Was responsible for attending regular executive meetings and writing reports on actions within the committees I oversaw

  • Family Day Intern

    Gardiner Museum of Ceramic Art

    July 2014 - December 2017

    • Provided ceramics and general visual arts-based instruction to museum visitors on a drop-in basis
    • Multitasked in fast-paced situations
    • Responsible for setup and cleanup of materials


  • J

    Software Development

    The languages/technologies that I use most often changes with the project that I'm working on and it's fun to pick up new skills! Check out my projects on github.com/Cheryl-Lao. Right now I'm working a lot in C# for VR development and JavaScript/TypeScript for another research project, but I'm still very familiar with Python.

  • c

    UX Research

    I'm a mixed methods researcher with experience in qualitative and quantitative research in an academic context. I'm curious about how mixed reality interfaces can enable unique interactions for artists and designers.

  • M


    In my internship experiences, I've had the chance to collaborate with talented developers on the other side of the world AND brilliant designers a few desks away. I've worked cohesively with others in team sizes ranging from a few people on coding projects to volunteer teams of ~500 people at the SIGGRAPH conferences.

  • d


    I started the University of Toronto Computer Graphics Club when I was in my 2nd year of undergrad so that I could learn more about the field and share that journey with others. Now that I've graduated, the group is run by an amazing team that I've known since they first walked up to our booth at the Frosh Clubs Fair. I think that leadership is all about helping the people around you express their talents and grow together!

  • W

    Art and Design

    I have years of experience creating advertisements, print designs and more for various school clubs and companies. I also took 3 years of ceramics classes in high school and I still love working with clay in my spare time!

  • g

    Arts Education Programming

    I designed the first YMCA of Greater Toronto Pottery camp curriculum and I also held several art-related workshops as president of Art Club in high school. I've been Family Day intern at the Gardiner Museum of Ceramic Art for 3 years and Visitor Services Chair in 2017.