Professional Statement

Lynn Andrea Stein

Throughout my time at MIT, I have worked on systems with nontraditional computational architectures. From robots to human computer interaction to software agents, the distinguishing feature of these systems has been the coordinated, distributed, concurrent interaction of a community of computational entities. In each of these initially separate endeavors, I have exploited communal architectures to advance the state of the art. More recently, my recognition of the commonalities in each of these projects led to my articulation of a foundational shift in Computer Science as a field, a paradigm shift in Kuhn’s original sense. In the reconceptualized Computer Science, these nontraditional architectures are transformed from anomalous special cases to central examples.

In robotics, my research has focused on designing, building, and understanding the architectures that underlie cognition in biological and artificial systems. The robotic systems I and my research group build involve bridging the gap between the low-level behavior traditionally associated with robotics and the higher-level issues of cognition more commonly explored by disembodied approaches to AI. In other words, we taught tin cans with sonar to do things that more closely approximate "thinking." In each case, we did so by exploiting the basic robot’s physically interactive abilities. For example, I taught a sonar-based mobile robot to read maps by pretending that it was navigating the environment described in the map. The key insight was my recognition that reading a map is directly analogous to navigating; the robot’s cognitive capacity follows directly from its knowing how to not bump into things. In other projects, we have produced robots capable of conversing with humans about their activities, developing simple and compositional "languages" of their own, or coordinating vision and motion in biologically inspired ways. Each of these projects demonstrates how traditional computational architectures can be successfully replaced with more powerful interactive, coordination-based strategies to bootstrap an unprecedented level of cognition directly from physically interactive subsystems.

Similar architectures played a role in my co-founding and early leadership role in two major projects at the MIT AI Lab: the humanoid robot Cog and the Intelligent Room. Each of these projects played a significant role in the establishment of a new field of international research. In both cases, my students went on to assume leadership roles in these projects. Cog’s goal is to mimic the behavior of a human child through biologically motivated distributed interacting behavioral competences. (See Science 264:1080-1082.) The Intelligent Room uses interactive and communal architectures (rather than conventional CS approaches) to create a room that is aware of and interactive with its inhabitants. It bears significant responsibility for the recent emergence of Intelligent Environments as a research area.

The same software agent architecture and information management themes that were my focus in the Intelligent Room play a central role in the current Haystack project. It has been easier to find information on the web than on one’s desktop; but in the physical world, I prefer my bookshelf to the library. Haystack monitors and exploits my relationship with my own information to provide context- as well as content-based retrieval. For example, I can ask my Haystack for the email about clustering I forwarded to David last Thursday. Building on this individual information space, we are beginning to explore ways to facilitate collaboration, expert identification, and other information needs.

My work in a variety of areas of Computer Science has highlighted the inadequacy of traditional conceptualizations of computation. A central theme has been a challenge to the understanding of computation that grows out of mathematical calculation, sequentialism, and even compositional modular-functionalism. Instead, my research is powered by the notion that the hard problems in computation today are best understood in terms of community, of interaction, of service and behavior. A paradigm embodies the fundamental axioms of a discipline. But in the context of computation-as-calculation, it is difficult (at best!) to know how to characterize phenomena such as user interfaces, interactive control systems, or the World Wide Web. In the face of such challenges, a paradigm can be patched to account for these phenomena, or it can be replaced with an alternate foundational vocabulary in what Kuhn termed a paradigm shift.

My Computational Metaphors project is a critical analysis of the historical, sociological, and scientific framework of Computer Science. The central thesis of the project is that traditional computational thinking is ill suited for a wide range of current—and apparently computational—problems. My work poses a profound philosophical challenge to our disciplinary roots. Bringing to bear some of the techniques of critical studies on mainstream Computer Science, I call into question the very foundational metaphors of our field. A paradigm shift does not necessarily change a discipline’s specific results. Instead, changing the paradigm alters the questions that a discipline asks. In CS, the paradigm shift from calculation to interaction moves our focus from algorithm to protocol, from procedural abstraction to server invariant, from control flow to coordination framework. Interaction-based applications such as embedded computation, networking, active environments, or HCI become central—paradigmatic—exemplars. The fundamental issues of software design are coordination, accommodation, sustainability, and adaptation.

To demonstrate the profound ramifications of this reconceptualization, I have carried out its dictates in the context of introductory Computer Science education. The very nature of that curriculum, in which we explicitly articulate the tenets of our discipline, is radically transformed when we build it on a foundation of interacting communities. The problem of how to teach introductory CS is, of course, also important in its own right. In the past several years, I have developed an innovative curriculum and textbook for introductory computer programming and disseminated it over the web as well as in conference keynotes and other lectures. This ongoing project has already changed the terms of the introductory Computer Science debate. At this writing, a thousand students at dozens of sites internationally are using my textbook beta; Morgan Kaufmann will publish the manuscript next year. The project’s impact can be measured in its substantial funding (NSF and industrial), peer-reviewed publications, invitations to speak (including plenaries and keynotes), and other conventional metrics.

A statement of this length necessarily omits many facets of my career. Two of the most significant omissions are my work in commonsense reasoning (nonmonotonic logic) and in object-oriented programming languages. In both cases, my work represents a substantial contribution to the foundational understanding of these disciplines. Another dominant motif has been my ongoing involvement in curricular innovation and mentorship. My pedagogic work is further documented in my Teaching Statement, while a more complete summary of my research—annotated with citations—and professional leadership activities is contained in my Professional Highlights document.

What other things might my future hold? An area of much strategic interest, and which I feel particularly qualified to pursue, is at the interface between computing and education. This research would build on the increasing importance of communal computation as both means and metaphor. As a cognitive scientist, I have studied how systems interact within a student’s head; as a computer scientist, how they work together in machines. As we understand these communities within a common framework, we can increasingly use one to support and supplement the other. Potential applications include the obvious—distance education and technology-mediated collaboration—and the less so. For example, one of the greatest challenges facing education today is the diversity of learning styles. The computer, with its capacity for mass customization, brings the potential to educate different students differently even within the same classroom. A specific targeted application of this technology might, e.g., significantly improve the mainstream accommodation of K-12 students with learning disabilities.

In the somewhat longer term, I intend to explore what kinds of architectural and theoretical frameworks might provide appropriate infrastructure for the kinds of communal, interactive systems with which I work. To date, we as computer scientists neither fully understand nor can confidently design the kinds of complex interactive systems that are rapidly becoming commonplace. My reframing of the foundations of Computer Science sets the groundwork for a larger research endeavor. A next step would involve collecting the wisdom of such formerly "special case" research areas as operating systems, networking, software agents, distributed and real-time systems, and robotics and recasting it in a common framework. Further, once Computer Science is understood in terms of interactive communities, other fields—dynamics, organizational science, biology, sociology—are newfound neighbors. Increased cross-fertilization among these disciplines will benefit each.