From Computational Thinking to Systems Thinking sme/papers/2014/Easterbrook-ICT4S-2014.pdf · From Computational Thinking to Systems Thinking: ... (ICT) are to bring about ... Computer scientists tend to approach problems in a par-

Download From Computational Thinking to Systems Thinking sme/papers/2014/Easterbrook-ICT4S-2014.pdf · From Computational Thinking to Systems Thinking: ... (ICT) are to bring about ... Computer scientists tend to approach problems in a par-

Post on 04-Feb-2018

219 views

Category:

Documents

2 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>From Computational Thinking to Systems Thinking:A conceptual toolkit for sustainability computing</p><p>Steve EasterbrookDept of Computer Science</p><p>University of Toronto140 St George Street, Toronto, Ontario, Canada</p><p>Email: sme@cs.toronto.edu</p><p>AbstractIf information and communication technologies(ICT) are to bring about a transformational change to a sustain-able society, then we need to transform our thinking. Computerprofessionals already have a conceptual toolkit for problemsolving, sometimes known as computational thinking. However,computational thinking tends to see the world in terms a seriesof problems (or problem types) that have computational solutions(or solution types). Sustainability, on the other hand, demandsa more systemic approach, to avoid technological solutionism,and to acknowledge that technology, human behaviour andenvironmental impacts are tightly inter-related. In this paper,I argue that systems thinking provides the necessary bridge fromcomputational thinking to sustainability practice, as it provides adomain ontology for reasoning about sustainability, a conceptualbasis for reasoning about transformational change, and a set ofmethods for critical thinking about the social and environmentalimpacts of technology. I end the paper with a set of suggestionsfor how to build these ideas into the undergraduate curriculumfor computer and information sciences.</p><p>Index TermsComputers and Society, Computer Science Ed-ucation, Computational Sustainability.</p><p>I. INTRODUCTION</p><p>The remarkable growth of information and communicationstechnology (ICT) over the past two decades poses manyserious dilemmas for sustainability practitioners. On the onehand, ICT has grown to become a significant fraction of hu-manitys environmental footprint, through demand for energy,particularly the embodied energy of manufacture [1], demandfor scarce or critical metals and minerals [2], and the growingproblem of disposal of e-waste [3]. On the other hand, ICTsare frequently cited as a key part of the solution, as theyoffer new opportunities to monitor and analyze human activityto guide us to low impact choices, and to replace resource-intensive activities (e.g. movement of people and goods) withalternatives (e.g. teleconferencing and virtualization) [4].</p><p>Unfortunately, not only is western society a long wayfrom sustainability, analysis shows that we cannot achievesustainability merely by improving energy efficiency wewill need a dramatic reduction in resource consumption [5].Paradoxically, ICTs are part of the drive to ever growingconsumption, as the combined effects of Moores law andbuilt-in obsolescence shorten produce lifetimes for hardware,while the desire for greater connectivity accelerates demandfor new gadgets.</p><p>This growing consumption of ICT products is driven, inpart, by an alarming set of technology industry trends, all ofwhich push society further away from a sustainable level ofconsumption of energy and material goods. These are largelyunacknowledged in the mainstream computing literature:</p><p> A computer industry that sells gadgets with ever shortershelf-lives, without regard to environmental and socialimpact of their manufacture, and disposal of the resultinge-waste [6].</p><p> A tendency towards technological solutionism, whichtreats complex societal problems in a simplistic way, suchthat the solution can be the sale of a new app, new webservice, or a new device, without exploring the broaderenvironmental consequences [7].</p><p> A tendency towards automating and optimizing existingsolutions without first exploring their social and environ-mental impacts, thus reducing resilience and locking usfurther into unsustainable ICT infrastructures [8].</p><p> A preference for moving ever more of the internettechnology stack into proprietary software ecosystems,which prevents users from adapting or re-designing theirtechnology to suit local needs and local contexts [9], [10].</p><p>Sustainability is an emergent phenomenon from the inter-action between (very large numbers of) people, and the waysin which we build and use technology. Innovations in ICTto improve sustainability may be counter-productive in thelong term, if they contribute to these underlying trends inconsumption. Hence, sustainability requires a whole systemsapproach [11]. I argue that such an approach must address:</p><p> The interconnections between the grand challenges ofclimate change, food production, water management, pol-lution, environmental health, and the end of cheap energy.None of these problems can be tackled independently.</p><p> An understanding that these represent a set of dilemmasto which we can respond, rather than problems that wecan solve, and that any attempt to solve them will giverise to further, unanticipated problems.</p><p> The idea that unchecked growth in any one technologyis unsustainable on a finite planet, and that therefore anytechnology that becomes too successful must eventuallythreaten sustainability, due to overuse and co-dependence.</p><p> An acknowledgement that the human activity systems in</p><p>Steve EasterbrookAppears in Proceedings of the 2nd International Conference on Information and Communication Technologies for Sustainability (ICT4S2014), Stockholm, Sweden, 24-27 August, 2014. 2014. This work is licensed under the Creative Commons Attribution 3.0 Unported License</p></li><li><p>which technology sits create their own dynamics, andit is the dynamics of these social systems that shapeour dependence on technology, and limit the independentbehaviour of human actors. As software infrastructurechannels ever more of our social behaviour, we inadver-tently create feedback loops that prevent transformationalchange and frustrate attempts by individuals to adoptmore sustainable lifestyles</p><p>In this paper I argue that the failure to think systemically is acritical weakness in our understanding of the transformationsneeded to achieve sustainability. Many of the ways that weseek to apply ICTs as part of a solution risk falling intothis trap. I argue that such a trap arises because of how weeducate ICT professionals. I identify computational thinkingas a major limiting factor, and propose to supplement it withsystems thinking, integrated throughout the ICT curriculum. Iend the paper with some examples of how to implement thissuggestion.</p><p>II. COMPUTATIONAL THINKINGA. What is Computational Thinking?</p><p>Computer scientists tend to approach problems in a par-ticular way. Because programming is fundamental to com-puter science education, computer scientists tend to think likeprogrammers. That is, they look for algorithmic solutions toproblems, in terms of data manipulation and process control.In a widely cited paper in 2006, Jeanette Wing termed thiscomputational thinking [12], and argued that this practice maybe the most important contribution computer science makes tothe world, and that it should be taught to all students in alldisciplines.</p><p>Wings original paper did not offer a succinct definition forcomputational thinking, but offered many examples of howcomputer scientists tackle common problems: When yourdaughter goes to school in the morning, she puts in herbackpack the things she needs for the day; thats prefetchingand caching. When your son loses his mittens, you suggesthe retrace his steps; thats back-tracking. [...] Which linedo you stand in at the supermarket?; thats performancemodeling for multi-server systems. [12]. Extrapolating fromthese examples, the overall message is that computer scientistshave a toolbox of methods for matching problem situationsto standard types of solution, drawn from various parts of thecomputer science curriculum, and, perhaps just as importantly,a standard terminology to describe these abstract problem-solution patterns.</p><p>Encouraged by funding programs from the NSF, the UScomputer science community has readily adopted the termcomputational thinking, using it as a slogan to re-design exist-ing computer science curricula to make them more attractiveto students, and to develop new courses aimed at audienceswho would not otherwise be exposed to computer science. Forexample, the Computer Science Teachers Association (CSTA)set up a task force to explore and disseminate teaching andlearning resources related to computational thinking. Thistask force offers the following definition [13]:</p><p>Computational thinking (CT) is a problem-solving processthat includes (but is not limited to) the following characteris-tics:</p><p> Formulating problems in a way that enables us to use acomputer and other tools to help solve them.</p><p> Logically organizing and analyzing data. Representing data through abstractions such as models</p><p>and simulations. Automating solutions through algorithmic thinking (a</p><p>series of ordered steps). Identifying, analyzing, and implementing possible solu-</p><p>tions with the goal of achieving the most efficient andeffective combination of steps and resources.</p><p> Generalizing and transferring this problem solving pro-cess to a wide variety of problems.</p><p>The task force goes on to add that these skills are supportedby a set of broader attitudes, including ability to deal withcomplexity and open ended problems, tolerance for ambiguity,and ability to work with others to achieve a common goal.While other definitions have been proposed, all seem to agreethat computational thinking focusses on the application of a setof problem abstractions: Today the term has been expandedto include thinking with many levels of abstractions, use ofmathematics to develop algorithms, and examining how wella solution scales across different sizes of problems [14].</p><p>B. Whats Wrong with Computational Thinking?Since the concept was introduced, there has been remark-</p><p>ably little critical thinking about computational thinking. Thefew critiques that have been written tend to focus on eitherthe vagueness of the term [15], or on a concern that thefield of computer science should not be reduced to just oneof its practical tools: Computational Thinking is one of thekey practices of computer science. But it is not unique tocomputing, and is not adequate to portray the whole of thefield [14].</p><p>However, a deeper critique is called for. If computationalthinking is the central tool of computer scientists, then weought to consider whether computational thinking becomesjust another instance of Maslows Hammer [16]: If all youhave is a hammer, then everything looks like a nail. Inother words, computer professionals may attempt to solve allproblems through algorithmic means, while failing to perceivethose that cannot be expressed using the abstractions of CT.</p><p>The computational thinker looks for problems that can betackled with computers. Immediately, this provides a selectivelens through which to view the world. Problems that are un-likely to have computational solutions (e.g. ethical dilemmas,value judgements, societal change, etc) are ignored. Others arereduced to a simpler, computational proxy. It is no coincidencethat computer science students tend to be less morally maturethan students from other disciplines [17]. Ethical dilemmashave no computational solutions, and so are overlooked whenpeering through a CT lens.</p><p>At heart, CT is inherently reductionist. Computational prob-lems are tackled by reducing them to a set of discrete variables</p></li><li><p>that can be mapped onto abstract data types, and a set ofalgorithmic steps for manipulating these data types. In theprocess, multiple perspectives on the nature of the problem arelost, as is any local, contingent knowledge about the problemsituation [18]. Computational thinking thus ignores the factthat any particular expression of the the problem to be solvedis the result of an ongoing negotiation between the competingneeds of a variety of stakeholders [19], [20].</p><p>Descriptions of computational problems are accepted un-critically, as long as they can be formulated in a way thatenables us to use a computer ... to solve them. This meansthat students of CT lack awareness of the political contextin which these problems arise. For example, a series ofstudies widely reported in the media, and dating back atleast a decade, have vastly over-stated the energy footprintof smartphones and computing equipment [21]. These studieshave been accepted uncritically across the industry, becausethey serve a number of interests. The coal industry sponsoredthese studies to persuade people that high demand will meanphasing out coal-fired power stations is an unrealistic policygoal in the near future. The computing industry uses them topersuade consumers to replace their existing devices with newgreener gadgets. The media uses them to create a narrativeof shocking new findings, to boost readership. Meanwhile, thefocus on computing devices as energy hogs diverts attentionaway from more serious impacts, such as mining for rare andcritical minerals, and disposal of e-waste. The computationalthinker lacks the conceptual toolkit to understand these issues.</p><p>Reductionism tends to eshew complexity. In the CSTA defi-nition above, dealing with complexity is added as a support-ing attribute to computational thinking. However, in computerscience curricula, the only kind of complexity is algorithmiccomplexity, which offers little insight into the broader studyof complex adaptive systems [22]. In his review of complexityscience, Manson suggests that algorithmic complexity offerstwo relatively ancillary contributions to complexity theoryoverall [23], namely a measure of the effort needed to solvea mathematical problem, and an understanding of the limitsto storing and communicating data, provided by informationtheory. He identifies two other forms of complexity needed forunderstanding the behaviour of complex, non-linear systems:the deterministic complexity of chaos theory and catastrophetheory; and the aggregate complexity that arises with emergentbehaviour of the interaction of many components within asystem. Both of these forms of complexity can be usefullystudied through computational means, primarily through theuse of simulation models, but CT, at least as defined in theliterature, does not provide a suitable set of concepts by whichto do this.</p><p>Reduction of problems to their computational componentsoften leads to practices that undermine sustainability. Considerfor example, the importance attached to process optimizationin CT, which arises because of the way in which computationalthinkers deal with scaling. If you solve a problem by reducingit to a set of basic abstractions, you then have to scale upyour computational solution in the face of two fundamentally</p><p>limited resources: memory space and processor time. Hence,computer scientists are trained to identify computational solu-tions that optimize for space and time bounds. This seducescomputational thinkers to treat optimization as a universallygood idea, and apply it in places where it is inappropriate.</p><p>Traffic management in a modern city offers an illustrativeexample. Computational thinkers tend to approach traffic con-gestion as an optimization problem: by collecting more data...</p></li></ul>

Recommended

View more >