Rahul Simha
Professor of Computer Science


Department homepage
GW homepage

I have just one research interest: ideas.

Especially, ideas that help solve problems and help understand the world around us. But also ideas that are fun, inspiring, foster collaboration, and lead to looking at things in a new way.

Because interesting ideas are everywhere, I tend to work in a number of different areas. These are some current areas of focus:

  • Computational neuroscience (PhD students: Jie Hou, Nelson Jaimes, Xiaoqian Sun). Together with collaborators in Neuroscience and Physics, I am interested in ensembles of neurons achieve tasks, and how they change when learning occurs.

  • Code mining (PhD student Blake Johnson). What can we learn about how programmers write code, about what constitutes code, if we are able to scour millions of lines of code across thousands of projects? What could we learn about how a language has evolved over time? PhD student Blake Johnson has developed a query language to construct and execute queries on large repositories of source code. His research addresses the above questions.

  • STEM education. In a general sense, I am interested in "better ways to teach", especially in Science, Technology, Engineering and Math (STEM) disciplines. Not just my own teaching, but also curricula and new programs and interdisciplinary curricula that can help train the next generation of scientists and engineers. In recent projects, I have worked with physicists and biologists in integrating computational approaches into science education. A more recent and on-going project is about finding ways to shape curricula through feedback from employers. Another set of projects (with Pablo Frank-Bolton) have been described in SIGCSE papers: autogenerated programming exercises, the reverse exam, and the effectiveness of student-generated videos.

In the recent past:
  • Educational technology (Jennifer Hill, PhD 2017) As part of the Learning Technologies Research group, my students and I are interested in effective ways to enable learning through smartphones. PhD graduate Jennifer Hill developed, tested and studied the effectiveness of literacy apps aimed at the lowest levels of literacy, in partnership with the Washington Literacy Cente, and the Academy of Hope.

  • Robotics: human-in-the-loop (Pablo Frank-Bolton, PhD, 2018). Many problems that formerly bedeviled robots are now "almost solved", including motion, using location awareness, and machine vision. But many basic problems remain, such as reliably recognizing everyday objects and how to use them. So, for the near future, it appears that humans need to teach robots how to work with everyday objects. For his PhD, Pablo Frank-Bolton developed and demonstrated the effectiveness of a simple interface by which a human can sketch out 3D objects that enable robots to easily accomplish gripping, and pick-and-place.

  • Thermal sensing (Andrei Claudiu Cosma, PhD 2018) Current energy consumption that goes into heating and cooling (HVAC) buildings represents 30-50% of the energy usage in residential and commercial buildings, which itself is about 40% of total energy consumption. At the same time, surveys of indoor quality show that people are often dissatisfied with indoor temperature regulation. The goal of this project is to use combination sensors (visual and thermal) to accurately detect when an individual is feeling discomfort (too cold, too hot) based on the thermal signature of various parts of the skin and clothing. For his PhD research, Andrei developed a fusion sensor combining thermal and RGB-vision to reliably detect human-subject comfort levels based on observing the face.

  • Systems and systems security (James Marshall, PhD 2020, Gedare Bloom, PhD 2012, Eugen Leontie, PhD 2012, Richard Tang, PhD 2008, Olga Gelbart, PhD 2007). The broad area of systems and systems security tries to address the question: how do we build computing infrastructure that is reliable, performs well, and is less vulnerable to attacks from viruses, hackers and the like? Because a basic computer is complex, the design of computing systems involves a number of sub-specialties from software engineering at one end, to detailed hardware design at the other. Within this span, I have focused on languages, compilers, and architecture by asking: what can do with languages, compilers and hardware to make a system more secure? In recent work, we have developed ideas for how architecture can support software security (through hardware monitoring), encrypted execution (in which programs run fully encrypted but can nonetheless be attacked), and Trojan circuits (in which an untrusted manufacturer can insert circuits into a chip). I am also working with students on related problems in language design, runtime systems, and taming software complexity.

  • Complex systems: Biocomplexity (Carl Pearson, 2011. Co-advised with Prof. C.Zeng). Consider the complex network of interactions in the average living cell. What is known today is that some biomolecular ``circuits'' -- such as sensors for particular external signals -- are relatively simple, whereas others show astonishing complexity -- such as the collection of molecules that govern the sequence of events in the birth-to-death cycle of a cell. A central goal in biology today is to understand such circuits or networks. A Boolean network is a popular model for such circuits and has resulted in a significant literature. Our work focuses on questions that go to the heart of why biological systems are complex. We focus on the space of networks that result in a given behavior (the biological phenomenon of interest), and ask: what kinds of networks produce the behavior? what is the minimal network needed? what components are involved and why?

Besides the above, I am continually adding new areas or problems-to-solve, often based on student interests. For you, the prospective PhD student, I have one message: get in touch to see if we can find something interesting and valuable that's of common interest.

In an earlier life, I worked on problems in networks (starting with my PhD), stochastic modeling and parallel computing. I might come back to these some day, who knows. It all depends on where the interesting ideas are.