The authors present a preliminary version of the MAgICS (Multi-Agent Introduction to Computer Science) framework, which is a new approach for revitalizing introductory undergraduate or high school computer science curricula through the deep integration of agent-based modeling (ABM) and multi-agent systems (MAS) perspectives. The authors discuss the merits of using multi-agent systems as a lens for conceptual understanding across disciplines, compare multi-agent approaches to traditional serial ones, and explore how this approach can bring together disparate topics in computer science through the common focus on emergent systems to promote a broader view of the field as a whole. To exemplify this approach, they have developed a suite of curricular models for topics spanning from searching and sorting to machine learning and networks and security. By introducing these topics with a focus on parallel, distributed, and stochastic methods, they can make traditionally upper-level topics both motivating and accessible to introductory-level students. The authors review findings from a short implementation of several elements of MAgICS in an introductory computer science classroom with regard to student motivation and evidence of learning of distributed design strategies.
Introduction And Motivation
Two years ago, Rick Rashid, a senior vice president for research at Microsoft, asked the rhetorical question of whether computer science is a dying profession (Rashid, 2008). Indeed, shrinking undergraduate computer science enrollment and concern about the underrepresentation of both women and minorities in computer science has been the subject of much debate, particularly in North America (Denning & McGettrick, 2005; Goode, 2007; Katz, Allbritton, Aronis, Wilson, & Soffa, 2006). Diversifying the introductory curriculum is one method for reaching a broader audience (see, e.g., Cushing, Weiss, & Moritani, 2007; Denning & McGettrick, 2005; Downey & Stein, 2006), which has met with some success. In this chapter, we present the MAgICS (Multi-Agent Introduction to Computer Science) framework as a new and powerful approach to diversifying the introductory computer science curriculum. Through the MAgICS framework, we demonstrate the potential to address many conventional topics of computer science (such as searching, sorting, optimization, graphics, machine learning, networks/security) through an agent-based modeling (ABM) and multi-agent systems (MAS) perspective.
Agent-based modeling (Epstein & Axtell, 1996; Wilensky & Resnick, 1999) is a form of computational modeling whereby a population of individual (“micro-level”) computational agents are given simple rules to govern their behavior: for example, traffic flow can be modeled by programming a number of “car” agents to speed up and slow down under different local conditions. The models are then run so that the aggregate (“macro-level”) results of those agent behaviors can be investigated (e.g. traffic patterns; (Wilensky, 1997b)). The ABM/MAS paradigm has become increasingly popular within computer science (Davidsson, 2002; Panait & Luke, 2005; Wilensky & Rand, in press), and has proven to be a powerful computational modeling tool for the natural and social sciences (NRC, 2003). Because many systems in the world can be productively conceptualized as a collection of agents contributing to some macro-level phenomenon (atoms and molecules comprise matter, individual consumers comprise markets), it is conducive to interdisciplinary integration and applications. For instance, one particularly powerful interdisciplinary idea that can be explored using the agent-based paradigm is that of emergence – the notion that interactions between simple individual agents can result in surprising and complex aggregate-level phenomena that appears to be “more than the sum of its parts” (Johnson, 2001; Wilensky, 2001). For instance, an emergent outcome of a traffic system is that traffic jams move backward, even though the individual cars that comprise the jam each move forward (Wilensky & Resnick, 1999).
The benefits of an agent-based approach for understanding complex systems, emergence, and notions of parallelism and decentralization – topics that are typically very difficult – are well-established. Wilensky and Resnick (1999) have found that a number of difficulties that students have in understanding complex systems stem from a deterministic/centralized (or DC) mindset – for instance, they are likely to attribute the emergent behavior of a system of entities (such as the formation of a flock of birds; or the evolution of a species) to some single cause or intention, rather than as the result of a collection of behaviors and interactions in a distributed system. Agent-based modeling enables students to explore how the behaviors of individual agents can lead to unintended outcomes, and better understand why those outcomes occur in a multitude of disciplines (including chemistry, Levy, Novak, & Wilensky, 2006; materials science, Blikstein & Wilensky, 2006; physics, Sengupta & Wilensky, 2008; Wilensky, 2003; and biology Wilensky & Reisman, 2006).