Joining Our Research Group!

I am always looking for talented graduate students and postdocs to join our lab, the Computational Motion Group, and contribute to exciting, high-impact research in computer graphics and scientific computing. In addition to working with my students to publish quality research, I aim to help them find success beyond their degrees: students that I have mentored have done internships or taken full-time positions at Side Effects Software, Weta Digital, Snapchat, Waymo, Google, and Vital Mechanics, while others have pursued PhDs or postdocs in Canada and abroad.

By the way, whether you are considering joining my lab or not, there are some useful things to consider in the article How to Pick a Graduate Advisor.

Grad students: If you have strong mathematical and programming skills, and are interested in simulating physical processes in the world around us, I encourage you to apply to the University of Waterloo as a Master's or PhD student. In your application, specify computer graphics and/or scientific computing among your research interests, and list me as a potential supervisor. The application process is highly competitive, and precedence will be given to individuals with excellent academic records, previous research experience, and/or industry experience relevant to our group's areas of interest. Information about the School of Computer Science, its graduate program(s), and the admissions process can be found here. All accepted students receive RA and TA funding, and the CS website gives information about typical funding amounts, tuition and typical cost of living in Waterloo, and potential additional funding sources. (FWIW I've found useful for comparing cost of living in different cities.)

Undergraduates: If you are a current undergraduate student at Waterloo with a strong academic record and interest in physics-based animation, there may be paid research opportunities in the lab (e.g., a part-time Undergrad Research Assistantship (URA) or one-term full-time NSERC USRA). Send me an email to set up a meeting, and describe your research interests and relevant background knowledge/skills. If you are an undergraduate at another university, I unfortunately cannot offer internships and will not respond to email requests on this subject.

New for Canadian Undergrads: You might be interested in applying for Waterloo's new Undergraduate Research Opportunities Conference (UROC!), an event designed to educate undergraduate students in Canada about graduate school and computer science research, in general and at Waterloo specifically. Experience the life of a graduate student in 3 days by participating in research workshops with other top Canadian undergraduates. If accepted, all travel and accommodations are covered by the University.

Postdocs: If you have a record of research excellence in computer graphics (e.g., publications in SIGGRAPH (Asia), ACM TOG, Eurographics, TVCG, SCA, SGP, etc.) or a related relevant field (e.g., computational physics, computational mechanics, applied math, etc.), feel free to get in touch by email, and we can discuss further.

Note: In general, if you contact me by email but give no indication that you are aware of or share my specific research field or interests, I'm afraid I will not respond.

A photo of our group from late 2017.

FAQ (to be expanded over time)

Q: What kind of projects do group members work on?
A: I'm interested in basically anything to do with physics-based animation, computational physics, and various aspects of geometry processing related to (re-)meshing, but the bulk of our work has thus far related to fluids in some fashion: viscous liquids, surface tension, non-Newtonian fluids, geometric representations of deforming surfaces (meshes, level sets, particles), fluid interaction with deformable objects or rigid bodies, spatially adaptive methods (quad/octrees, triangle/tetrahedral meshes), etc. The best way to get a sense is to watch the animations and read the papers on my home page. However, I'm always willing to entertain new ideas and directions!

Q: What kind of technical background is required to work with you?
A: Generally the kinds of skills that are most relevant are those from computer science, applied math, and/or engineering, so things like (partial) differential equations, linear algebra, calculus, algorithm design, geometry, numerical methods, optimization, basic physics, strong coding ability (often C/C++ and Matlab/Mathematica/etc.), basic graphics programming (e.g. OpenGL). This older discussion gives a good sense for some fundamental skills that are useful for graphics in general. You need not have all these skills at the start, but all of them are useful.

Q: Do you do research on visualization or rendering?
A: Most often, no. My main work is focused on generating the underlying geometry and motion via physical simulation. Many other graphics researchers (e.g. Waterloo's own Gladimir Baranoski) study aspects of rendering, the process of taking a scene description and generating a realistic image of that scene. For the most part I use either simple special-purpose OpenGL visualizations for debugging, or 3rd party rendering software for the final videos, such as Houdini, Renderman, Mitsuba, etc. This allows us to focus on physics/animation.

Q: If I want to pursue graduate studies, should I go straight into graduate school after my Bachelor's or work in industry for a while first?
A: There are pros and cons to each. Gaining practical industry experience is a valuable way to sharpen some of your skills and possibly learn more about different potential research areas that might interest you. Industry is often also more lucrative than grad school, at least in the short-term. On the other hand, if you are out of the academic sphere for a significant period of time (let's say, >3-4 years) it can sometimes be tougher, though certainly not impossible, to return to a student lifestyle for a variety of (personal, financial, etc.) reasons. There are often also co-op/internship opportunities available during grad school, so one can still gain industry experience as a grad student. Some people ultimately find working in industry to be more rewarding than research, so regardless I usually recommend finding ways to explore both paths if you can. In the end, there's no wrong answers and it will depend on your interests, personality, and particular circumstances.