Information for Prospective Students

I am actively seeking graduate and undergraduate students to work with me on research projects. This document will give you a sense for what I am looking for in a student, and what the next steps to take are. Please read it in its entirety before contacting me to ask about doing research.

Skills That I Look For

The research I do requires a variety of both technical and non-technical skills, though the needs of each project vary. Prospective students should have experience with several of the skills listed below, along with a willingness to quickly and independently learn about others:

  • Graphics and visual computing: Broadly speaking, writing programs that process visual data. This might involve: writing code to manipulate 3D models or images; building interactive graphical applications using e.g. OpenGL; interfacing with existing graphics software e.g. Maya, Blender, or Unity. The most related courses at Brown: CSCI 1230, CSCI 2240, CSCI 1430.
  • Artificial intelligence and machine learning: Building intelligent prediction and decision-making systems, often based on analyzing patterns in data. This might involve: developing and training neural networks and probabilistic generative models using e.g. PyTorch or Tensorflow; collecting, organizing, processing, and managing large datasets. The most related courses at Brown: CSCI 1470, CSCI 1420, CSCI 2420.
  • Communication: Researchers must communicate the results of their work. Strong technical writing skills are key, as is oral presentation ability. I'm also looking for students who communicate well throughout the research process: reporting progress, asking for help, collaborating effectively with others, etc.

Current Brown Students

I'm happy to work with current Brown students who meet the above criteria. I expect this to be mostly 3rd and 4th year undergraduates, as well as Masters students. Exceptionally prepared 1st and 2nd year students are welcome, but they will be held to the same high standards.

A good way for me to figure out whether you'd be a good fit is for you to take a class with me. This gives you a chance to see how I work with students, and it lets me see your working style and the skills you have to offer. If possible, try to take a class with me first.

Research, being an unpredictable and non-linear process, can take up a lot of tme. You should expect to spend at minimum 15 hours a week working on a research project--so don't do it in a semester when you're swamped with other commitments (classes, TA'ing, job interviews, etc.)

If you think you might be a good fit after reading all of the above, send me an email with a current resume/CV and with answers to the following questions:

  • Why do you want to do research? Both in general, and in this specific field.
  • Why do you want to do research with me? There are many great faculty here at Brown. Why do you want to work with me, specifically? It'd be a good idea to look through my recent publications.
  • What skills can you offer? Tell me about the experience you have with the skills listed at the top of this page, and show me some specific evidence (e.g. links to Github repos for recent projects, papers or reports you've written).
  • Include the phrase "teapots and dragons" in your email, so I know that you've actually read this page.
Please contact me before the semester in which you want to do research; this gives us time to define a project for you in advance so you can hit the ground running.

Prospective PhD Students

Apply directly to the Brown Computer Science Department's PhD program. If you have specific questions about the work I do and whether you’d be a good fit (that aren’t answered by this document), you’re welcome to email me. I will not respond to generic emails asking for a research position/internship.

Special thanks to Ben Shapiro at CU Boulder for his helpful example of how to structure this page, and for the permission to adapt it.