Here are a few different introductions of me. Pick whichever one you find the most interesting.
I’m currently a Research Director at BorealisAI.
I’ve lived in the Greater Toronto Area all my life. I can speak English fluently and Chinese (Mandarin) to a lesser extent. I’ve recently developed a fondness of guitar which I’m actively learning. As for sports, I’ve recently been playing a lot of badminton but I’ve been known to play a bunch of others as well. I like learning new things about a whole variety of subjects such as computers, technology, investing, magic, math, people, psychology, sociology, science, economics, entrepreneurship, software development, innovation and any other useful skills or interesting things that may come up. I use reading as my main tool to accomplish these things.
I like things simple. When things are complicated, I like to make them simpler. Simple things are flexible, so I like to be flexible. When I’m flexible, I can change. Change helps you learn, so I like to learn. When I learn, it makes things simple again.
I am an Adjunct Professor of Data Science at the Rotman School of Management, University of Toronto. At Rotman, I play a key role in shaping the data science education and research through my work at the Management Data Lab, the Master of Management Analytics program and interactions with faculty and students.
In the past, I was a sessional lecturer at the University of Toronto from 2014-2015 teaching Algorithms and Data Structures (ECE 345) in the ECE department. ECE345 is a third year course in computer engineering teaching the basics of algorithms and data structures1.
I received my PhD in Electrical and Computer Engineering from the Department of Electrical and Computer Engineering, University of Toronto in 2013. I received my Master of Applied Science (MASc) in Electrical and Computer Engineering from the University of Toronto in 2009, and my Bachelor of Applied Science (BASc) in Computer Engineering (co-op) from the University of Waterloo in 2007.
My research during my PhD revolved around developing innovative software tools to automate various aspects of the hardware design cycle using classical artificial intelligence (AI) techniques. In particular, I designed new algorithms and methods for automatically debugging and verifying digital circuits and systems using formal methods.
You can contact me at brian or on social media:
- Some examples of what we cover in ECE345: sorting/searching, heaps/search trees/hash tables, dynamic programming/greedy algorithms, amortized analysis, basic graph algorithms/shortest paths, and introduction to theory of computation and NP Complete problems. [↩]