Joining Our Lab

For Prospective Graduate Students

I am constantly on the lookout for motivated students to join my group at the University of Waterloo. I am interested in a broad range of topics, including reconfigurable computing architectures, CAD algorithms, and custom spatial accelerators for deep learning and other applications. I am also always open to learning about and exploring new research areas. If you are interested in working with me, please send one email (see the tips below) with the subject Prospective Grad Student: <Your Name> from <Undergraduate Institute>.

Please include:

  • An up-to-date CV or résumé.
  • Your undergraduate and master's transcripts, as applicable.
  • A short paragraph describing why you want to pursue graduate studies and what you would like to work on during your degree. You are welcome to review my prior publications for examples of topics that interest me.

Tips for Contacting Me

I receive many messages from prospective students and can respond only to a small subset of applications that closely match current opportunities. If you do not receive a response, thank you for understanding. Here are a few tips to consider when contacting me:

  • Please send only one email. Applications from prospective students are batched and reviewed periodically; follow-up messages do not improve an application's chances.
  • There is no need to follow up after an interview call. If I decide to extend an offer, you will hear from me directly. If you do not hear back, please understand that these decisions depend on research fit, available positions, and funding, and are not a judgment of your potential. I sincerely appreciate the time and interest of everyone I speak with.
  • Avoid generic, sloppy, or AI-generated messages that do not explain your specific interests and experience. Such messages will be ignored.
  • Keep your email short and to the point. Supporting details belong in your CV and GitHub repositories.

What Am I Looking for in a Prospective Student?

I am looking for graduate students who:

  • are interested in continuously learning new skills/topics and tackling open-ended research questions.
  • have a strong academic record from a reputable undergraduate ECE or CS program.
  • have a good grasp of the basics of programming, electronic circuits, and/or digital hardware design.
  • can clearly communicate/present their ideas in spoken and written English.

Prior research experience and publications are strong differentiators for your application, but are not required.

Choosing Your Graduate School Advisor

I believe that choosing your advisor is the single most important decision of your graduate school experience. You ideally want an advisor who is not only technically strong but also a nice person to work with. I was lucky to have such an advisor (Prof. Vaughn Betz), and this had a significant impact on both my work and personal life. While selecting an advisor, it is always a good idea to talk to their students or collaborators to understand what it is like to work with them. I am happy to provide contact information for people with whom I have worked closely for this purpose, if needed.

Application Process

If you are interested in working with me during your graduate studies, first email me as described above. After an initial review of the messages I receive, I will schedule a call with a small number of applicants during the fall term (September to December). You will also need to submit an application to one of the university's graduate programs. Please refer to the requirements and deadlines for the MASc and PhD programs. The university also provides a detailed application guide.

For UWaterloo Undergraduate Students

I usually hire a small number of undergraduate research assistants (URAs) each term to work with me on open-ended research projects. Due to my limited bandwidth to provide one-to-one mentorship, I almost always select students with whom I have directly interacted in the courses I teach (e.g., ECE 327, ECE 493) and who are eligible for the President's Research Award. Please check your eligibility for the URA program before contacting me.

What Should You Expect as a URA?

The URA program is intended to give you a sense of what graduate school and academic research are like:

  • You will be thrown into the deep end to work on an open-ended research project, or a standalone component of one, for which you will take substantial ownership. Independence and self-directed learning are therefore essential for a successful URA.
  • You will meet with me once every week to discuss progress/blockers and brainstorm next steps.
  • The workload is roughly equivalent to enrolling in an additional challenging UWaterloo undergraduate course.
  • A successful URA appointment is typically renewed for future terms and sometimes results in a research publication.