Interaction, computation, and education

3Citations
Citations of this article
15Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Computation is not a sequence of steps to produce a result at the end. Computation is embodied in ongoing interactive entities. It is composed of a community of such entities; their interactions are what make computation happen. Input is what you observe; output is what you do. Computations are evaluated based on ongoing behavior, commitments kept, services provided, invariants maintained. A significant fraction of this paper discusses rethinking introductory computer programming. This is because the introductory course is where we make our metaphors explicit, where we lay out what computation is all about. Byrecasting the course in terms of a new metaphor for computation, I was able to teach beginning students about ideas traditionally considered too complex and inaccessible for that level. Curricularly, this changes every subsequent course, without actually changing the course sequence. Everything that we teach our students takes on new meaning. This approach makes it easier tocontextualize traditionally ha d-to-fit-in topics such as user interfaces. It facilitates the teaching of operating systems and networking, because they are not simultaneously learning about concurrency and about the mechanisms to implement concurrency on a sequential processor. Rethinking the computational metaphor turns the discipline on its side, giving us new ways to understand a wide range of phenomena. But this chapter is not about how to teach the introductory course, even though this metaphoric shift has profound implications there. This chapter is about changing the ways in which computer scientists think about computation. Many subdisciplines have their own language for describing this wayof thinking about computation. In artificial intelligence, the recent attention to embodiment, to agents, to behaviors, is indicative of this shift. The computer systems community uses terms like server, transaction, thread. Other research communities that rely on similar notions-by still other names- are those that study networking, distribute systems, information management, human-computer interaction and computer-supported collaboration, web computing, and embedded. Each of these research communities has its own terminology for describing the interactive community metaphor, impeding the opportunities for cross-field discourse and collaborative problem solving. By recasting all of computational science in terms of the interactive community, we have shifted the center of the field. Efforts to make multiple CPUs look like a single processor-as in automatic program parallelization-now seem peripheral. Research on user interfaces, or on component architectures such as CORBA or COM, take on new centrality given their focus on coupling subsystems together. The heart of current computational thinking is in agents, servers, services, and distributed systems. This way of approaching computation also has profound implications for the kinds of thinking we do. For our students, it means that we harness their native intuition about how to survive in an inherently concurrent and asynchronous world. We never put on the blinders of calculational sequentialism. We never assume that our programs operate in a world unto themselves; instead, our programs are constructed to function in a dynamic, concurrent world with which they continually interact. In other disciplines, we find that the new metaphors we are using are more appropriate for bidirectional cross-disciplinary communication. Just as computation is a reference model for understanding cognitive and biological science, so what we learn about the robustness of biological systems inspires us in the construction of "survivable" computational systems. Both natural and artificial computations produce behavior by virtue of the interactions of a community. Many disciplines study systems of interaction. The cognitive sciences look at how natural intelligence works. Organizational science analyze the ways in which corporations and other large administrative entities function. Several of the social sciences study the ways and which human communities work. Each of these fields has the potential to contribute to, and to benefit from, a computational science of interaction. © 2006 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Stein, L. A. (2006). Interaction, computation, and education. In Interactive Computation: The New Paradigm (pp. 463–484). Springer Berlin Heidelberg. https://doi.org/10.1007/3-540-34874-3_18

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free