Research Opportunities

Research positions can be challenging to get, and the Meta-URAs wanted to provide information of how to get your foot in the door for  the labs of specific professors.  We have worked with several professors to create a list of any prerequisites needed to be able to start researching. As we get more information from professors, we will add to this list. 


Opportunities within the department:

Stephen Bach: Our group primarily works on improving the ways that we teach computers. Check out our work to learn more. Interested students should usually have a background in some area related to machine learning (such as CSCI 1420, CSCI 1470, etc.), natural language processing (such as CSCI 1460), or computer vision (such as CSCI 1430). We always welcome visitors at our group meetings. Email me to connect!

Ugur Çetintemel: if you are interested in doing a project on the broad topics of data science or engineering, will work with you to try to identify a project that matches your interests and background. 

Yu Cheng: Mathematical/algorithmic maturity. Consider taking Algorithmic Aspects of Machine Learning (CSCI1952-Q) and/or Robust Algorithms for Machine Learning (CSCI2952-Q).

Tom Doeppner: Take CSCI 1670 and 1690, or take CSCI 2670 (Operating Systems + Laboratory).

Amy Greenwald: The GLAMOUR research group works at the intersection of economics and computer science. Interested students should usually have a background in some area related to optimization (such as APMA 1160), machine learning (such as CSCI 1420, CSCI 1470, etc.), or economics (such as CSCI 1440). We always welcome visitors at our group meetings. Email denizalp_goktas@brown.edu to connect!

Maurice Herlihy: Having taken CSCI176 (Multiprocessor Synchronization) is a plus, but not required.

D. Ellis Hershkowitz: See this for more information.

Jeff Huang: My group does research in human-computer interaction, from a data perspective. We make things, described on our research group website. Start here to find out about our research group's research experience and expectations.

John Hughes: My research is in the overlap of mathematics and computing. If you know a decent amount of topology (e.g., you're pretty familiar with the meaning of "immersion" and "regular homotopy") and can write interactive programs that display shapes, then there might be an opportunity for us to work together. Email me to set up an appointment.

Sorin Istrail: Take CSCI1820 (Algorithimic Foundations of Computational Biology) and have done very well

Vasileios Kemerlis: Brown's Secure Systems Lab (SSL) designs and develops innovative protection mechanisms for hardening (software) systems against exploitation. We also investigate offensive methods for demonstrating weaknesses in real-world, deployed systems and/or defenses. To work with us, having taken CSCI 1650 (Software Security and Exploitation), and ideally CSCI 1670/1690 too, and have done well, is a prerequisite.

Philip Klein: Working on algorithms for hard problems in road networks, such as traveling salesman and facility location.  Summer research opportunities available to those who take Optimization Algorithms for Planar Graphs (CSCI2500-B) in the spring. The prerequisite for that seminar is an algorithms class such as Design and Analysis of Algorithms (CSCI1570), taught in the fall. 

Shriram Krishnamurthi: Take CSCI1730 (Programming Languages) and ideally CSCI 0111, CSCI0170, or CSCI0190.

David Laidlaw: Please refer to the Visual Computing "onboarding" document. A good project to consider for working with me is to get some virtual reality software working on a new scientific dataset. Or reach out if something else feels more relevant.

Michael Littman: He is focused on how to combine ideas from machine learning and more traditional programming to make it easier for end-users to tell computers what to do. He's currently away from Brown, so his capacity to supervise students is limited, but he'll make time for projects that are closely aligned with this research agenda.

Peihan Miao: My research is in both theoretical and applied cryptography, with a focus on secure multi-party computation. Prerequisites include mathematical maturity and having taken CSCI 1510 (Introduction to Cryptography and Computer Security). Ideally, also consider taking CSCI 2952L, 2590, or 1515. If you are interested in learning more about cryptography research, you are welcome to attend our weekly crypto reading group (subscribe to the crypto mailing list here)

Tim Nelson: Take CSCI 1710/1950Y (Logic for Systems). Ideally, take CSCI 0320 (Introduction to Software Engineering) or 1730 (Programming Languages).

Sherief Reda: My SCALE group has several research opportunities related to (1) SW/HW co-design of ML/AI applications, (2) the use of ML techniques in optimization, and (3) emerging computing paradigms.

Steve Reiss: None - anyone can work with him. 

Daniel Ritchie: Check this web page for more information.

Malte Schwarzkopf: for research with the ETOS group, completing CSCI 2390 is helpful and preferred. Email me directly to ask about current and future opportunities.

Ritambhara Singh: Singh Lab @ Brown develops machine learning methods with broad goals of data integration and model interpretation for biological and biomedical applications. Refer to our lab website (https://rsinghlab.org/) for more details.

Srinath Sridhar: Prof. Srinath Sridhar is looking for undergraduate and graduate students who are interested in cutting edge 3D computer vision, graphics, and deep learning projects. This kind of research drives practical applications robotics, augmented/virtual reality, autonomous vehicles, etc. Examples of potential projects include 3D human/object reconstruction, spatio-temporal reconstruction, vision for robotics, and vision for virtual/augmented reality. Please see here to get a sense of past projects.

Roberto Tamassia: Take CSCI1660 (Computer Systems Security).

Stefanie Tellex: Check this website for more information. 

James Tompkin: A fascination with visual computing, especially cameras. Requirements vary by project; most projects involve computer vision (e.g., CSCI1430, CSCI2951I) and/or computer graphics (e.g., CSCI123, CSCI2240), and often include components of interaction (e.g., CSCI1300) and machine learning (e.g., CSCI1420). Strong programming skills with a focus on performance (e.g., GPUs)

Eli Upfal: Take CSCI1550 (Probability and Computing: Randomized Algorithms and Probabilistic Analysis) and have done well. Most likely also be a joint Math/CS or Applied Math/CS concentrator. 

Nikos Vasilakis: Most projects require the ability to program. Any courses on software systems (e.g., CSCI0330, CSCI1310, CSCI1380), programming languages (e.g., CSC1730) or security (e.g., CSC1660, CSC1650) are a plus, but not required.

Suresh Venkatasubramanian: I work broadly on the issues surrounding technology deployment in society. if you're interested in working with me, take CS 1951z: Fairness in Automated Decision Making (and also as prerequisites, ML or Deep Learning). Sign up for the CNTR mailing list by emailing me (suresh@brown.edu). 

Stan Zdonik: Take CSCI1270 (Database Management Systems)


Opportunities outside the department:

Thomas Serre (CLPS department): For students interested in deep learning and working at the intersection between artificial and biological intelligence. Solid PyTorch experience. Students should have ideally taken CLPS1950 or CLPS1291 or at least a computer vision, machine learning or a deep learning course.


There are three ways to do research: