Who I am

My name is Stephen. I'm an undergraduate studying Computer Science at the University of Waterloo's David R. Cheriton School of Computer Science. I've just started by third year and am looking forward to the more interesting, advanced topics that are offered to higher years.

In my free time, I really enjoy experimenting with sandbox games. Creating large, well-organized systems have always interested me. Building aesthetically pleasing scenes and designing complex transportation networks in SimCity 4 and Cities:Skylines make for pleasant unwindings at the end of the day. I also do a little bit of geocaching, digital photography, and game-modding. I hope to eventually save up for flight school to fulfill my long-time dream to soar the skies. I hold the firm beliefs that we must do everything we can to combat human-induced climate change and to provide fair opportunity to education and global access to technology.

How to Contact Me

You can email me at [email protected]. If you'd like a single-page printable version of my resume, please contact me by email, and I will gladly provide you with a copy. Here are my GitHub and LinkedIn pages.


Sep 2015 – Now

Studying at the University of Waterloo (Candidate for Bachelor of Computer Science)

May 2017 – Dec 2017

Software Engineer Co-op

at General Dynamics Mission Systems—Canada

  • Developed and maintained real-time mission software for military aircraft
  • Reconfigured, migrated, tested, and released software to work on a new set of hardware
  • Identified and fixed inter-project code defects to maintain deployability and mission-worthiness of the software
  • Designed procedures and authoured engineering documentation for reproducibility and software maintenance
  • Attended meetings to define software requirements and specifications for a new mission subsystem
  • Experience with MIL-STD-1553 bus, VME-based SBCs, the Linux kernel, Tactical Datalink, UDP, TCP/IP, EO/IR

Ada, C, Java, Linux, IBM Rational ClearCase, ClearQuest, DOORS, Artisan Studio

May 2016 – Aug 2016

System Software Developer

at Tigercat Industries

  • Independently designed and implemented an extensible firmware provisioning system for embedded telematics modules that improved efficiency in manufacturing
  • Tested telematics software components, such as the client-facing dashboard web-app, the embedded firmware, and the embedded maintainance web interface
  • Exposure to SAE J1939 vehicle bus, CAN bus, and Wifi

C#, Windows Forms, C, MySQL, Linux

Jun 2014 – Jun 2015


at Academic Centre for Excellence

  • Managed the tutorial centre
  • Supervised up to 2 tutors
  • Tutored Gr 1–12 students
  • All subjects, notably Maths and Sciences

leadership, management, teaching, working with children

Sept 2013 – June 2014


at Academic Centre for Excellence

  • Tutored Gr 1–12 students
  • All subjects, notably Maths and Sciences

teaching, working with children


  • Volunteered at local library as a Computer Buddy, teaching the elderly how to browse the web and use email
  • Warrant Officer and Administration NCO at my community's Cadet corps
  • Raised over $15000 for charity as Co-President of the Prefects, a non-profit school group
  • Headed my high school's Computer Science club
  • Played the violin in the Mississauga Youth Orchestra (now Halton Mississauga Youth Orchestra)



A work-in-progress computer algebra system.

Scala, Symbolic Computation, Programming Language building


A turn based tactical game prototyping web-app that allows for mechanics testing and scenario simulations. You first define some game unit types with attack/defence stats, a description, and a colour for easy identification. It then lets you place these units on a hexagonal board. You can move them, rotate them, and change the values of their stats to simulate units being damaged, buffed, and debuffed.

React/JSX, Heroku

Hexagons-KC user interface screenshot


A .NET application for easily downloading MP3s from SC. It determines the URI of the MP3 resource that would be streamed based on a user-entered webpage, and saves it to a local location.

C#/.NET, Windows Forms, Threading, HTTP

LiteStreamtoMP3 user interface screenshot

Screen2Ref – World of Tanks

A web app to act as an at-a-glance second-monitor reference for the popular online game, World of Tanks. It currently displays the reload and armour configurations for vehicles filtered by battle tier.

React/JSX, Node.js, AWS, MySQL, REST API

Screen2Ref for World of Tanks screenshot

This Website

My new personal website, designed to focus on adaptive layout for a world dominated by mobile web-browsing. Fun fact: all graphics used on this site were drawn by me!

JS/HTML/CSS, front-end design, Photoshop


A console-based anagram game, similar to the MSN hit "Text Twist": it grabs one word from a dictionary and the player must name all words in the dictionary that are anagrams of all subsets of the characters that form the original word.

Python, Threading

Laser Dude

A top-down shooter game created using the educational language, Turing. It involved understanding of a game loop and simple text-based user interface design. Game features included a randomly moving "AI" enemy and nifty text animations.

Turing, TUI


The Stephen Zhao Logo

This logo appears on the home page—as well as the sidebar if your browser is wide enough. When I was in my junior year of secondary school, I wanted a personal graphic to represent my character. In the end I shuffled together some shapes and came up with this circular figure. It actually comprises of a blue S and a red Z, my primary initials. The S is textured as our blue marble, the Earth. This is meant to indicate the responsibility I feel to bettering our planet. The Z is textured as a red PCB. This shows my love for technology and computer science. The two entangle each other and surround a white core to show for how these aspects both affect and respond to my core beliefs.

What I Fight For

I believe that the advancement of science and technology is the key to bettering quality of life across the world, and that it is a global effort to work towards this goal. We must stop human-induced climate change and make emerging technologies globally accessible. In particular, I'm looking forward to the proliferation of self-driving vehicles, the promises of cheaper renewable energy sources (solar is cheaper than wind now, and the trend is still evident), and the endeavors to make internet access both a universal right and a universal resource.

© Copyright 2016-2018 Stephen Zhao