Web support for e-learning: a constructivist computing approach Timothy Monks∗ , Nicolas Pope∗ , Richard Myers∗ , Antony Harfield†∗ , Meurig Beynon∗ and Hui Zhu∗ ∗ The Empirical Modelling Research Group, University of Warwick, UK and † CS and IT, Naresuan University, Thailand Abstract—The radical implications of emerging web technology for education motivate a reappraisal of the conceptual framework that surrounds computing. Empirical Modelling (EM) has been developed as a way of thinking about computing that emphasises the role the computer plays in supporting learning in a constructivist spirit. EM research on principles and tools over the last 25 years has established proof-of-concept for varieties of technology-enhanced learning particularly relevant to current and emerging educational environments. This paper reviews the progress towards developing web-based tools to support EM that can realise its full potential as a vehicle for learning. I. I NTRODUCTION Without doubt, the advent of the Internet has changed the educational landscape dramatically. Digital networks have promoted a culture such as was envisaged by Papert in 1980 [1], where users themselves create content, can share their knowledge and expertise, gain access to cultural artefacts or remix existing material. From a computer science perspective, the most interesting aspects of this culture relate to collaborative activities that involve more than the use of a computer simply as a technology for supporting otherwise conventional communication. But notwithstanding Papert’s vision for constructionism [1], there are many problematic conceptual and practical aspects to exploiting the full potential for collaborative construction of computing artefacts as an educational medium. The popularity of Scratch [2] for instance seems to owe something to the radical simplification of the programming component, whereby the scope for user-specified procedures is limited, but hooks into a richer multi-media environment are supplied. By comparison, environments such as Net Logo [3] offer more sophisticated scope for enduser programming, but in a more tightly constrained semantic framework. And though the incorporation of ‘Mods’ in game environments such as World of Warcraft [4], [5] take the practice of user-development yet further in computing terms, this degree of learner participation in development is scarcely represented in technology-enhanced learning. In this paper, we argue that the challenge of liberating learning through the collaborative development of artefacts can only be addressed fully through a radical reconceptualisation of computing itself [6], [7]. To this end, we propose Empirical Modelling (EM) [8] as a conceptual framework for computing that embraces the larger role that computing-related technologies play in the sense-making activities that surround traditional computer use [9]. The central concept in EM is that of using computing technology to make construals rather than to write programs. A construal is an interactive artefact that metaphorically exhibits the same states and transitions that are observed within its referent in the learning domain. ISBN: 978-1-4673-4969-7 ©2013 IEEE An EM construal is developed incrementally through openended interaction in such a way that it embodies observables, dependencies and agency that are characteristic of its referent. This activity has the qualities of construction, as described by Latour in [10] (cf. [11]) - and is hence referred to as ‘constructivist computing’. This paper discusses a vision for a computing environment to support constructivist computing. Previous work on EM has established proof-of-concept in respect of support for primitive learning [12], exploratory experiment [13], [14], and distributed participatory design [15]. Tool development has a critical role to play in bringing these applications of EM to maturity. Our current focus is on developing a web-based tool that combines the qualities of several prototypes that have been introduced to support EM. These include the EDEN interpreter [16], which has been extensively used in model-building studies over the last 25 years, and Cadence [7], a more recently developed platform that addresses problematic aspects of EDEN. A common feature in all these tools is the maintenance of networks of dependencies between observables that serve as exceptionally powerful representations of state. In the case of EDEN, these dependencies have been expressed using families of definitions of observables, or “definitive scripts”. Modelling with definitive scripts [17] has been the basis of interfaces to distributed and collaborative activity for model-building in a multi-agent and multi-viewpoint context. Where EDEN is a hybrid tool that is linked to a traditional operating system environment using conventional procedural mechanisms, Cadence exploits much more general dependency relations that are so expressive that they can address the issues of storage, communication and interaction with devices directly [7]. Our current research is directed at extending a new prototype implementation of EDEN using JavaScript, HTML-5 and other emerging web technologies [18], [19] so as to incorporate both the qualities of EDEN (as illustrated for instance by the Web EDEN interpreter [20]) and the support for structure and process that Cadence affords [7]. Such a tool promises to enable distributed collaborative learning activities that go yet further than existing technologies in realising Papert’s ideals. II. I SSUES FOR THE EMERGING WEB The development of web technologies stands in a most interesting relationship to computer science in its core academic sense. This point is well-made by Halford, Pope and Carr [21], who highlight the paradoxical fact that “despite the huge effect the web has had on computing ... computer scientists rarely study the web as a subject in its own right”. They go on to observe that studies of the web “rarely breach the embedded binary divide between the natural and engineering sciences on the one hand and the social and human sciences on the other”. 181 To some extent, the peripheral status of the web in the traditional computer science perspective has reflected the history of web use. Though Web 2.0-related activities have involved much more sophisticated use of computing technology and raised the possibility of harnessing the web to enable machine processing of human meanings, they have also raised the profile of social and human aspects of web use as epiphenomena. It is only latterly, as web technologies such as Adobe Flash, HTML-5 and SVG have begun to address the aspirations of users to play a deeper role as contributors and participants in development that the relation between the web and the core agenda of computer science has been highlighted. Though the emerging web now shares many of the characteristics of a traditional computing resource, typical web use is oriented towards exploiting the computer in quite a different way. The relation of the programmer to the computer is traditionally framed with reference to a notion of crafting predictable behaviours on a reliable device. As Ben Ari argues in [22], in this traditional computer science viewpoint “the computer forms an accessible ontological reality”. But conceiving typical interaction with the web as program-like specification of useful and interesting behaviours on such a device is problematic. In classical programming, only the programmer knows the computer code – it is framed in abstract and logical terms, is not intended for observation by the user, and is not easily connected with the domain of use. In the web context, it is much more natural for creation to be a public activity (cf. Papert’s vision for constructionism [1]), for webpage development to involve distributed collaboration that reflects the insights and perspectives of many different agents, and for the resulting object to be a ‘live’ entity. And whereas the classical user sees the computer as defined by properties independent of its physical and social context, the web user is often explicitly conscious of being in touch with other minds. They consult the web in an exploratory spirit, wanting to know if somebody else knows the answer or has shared their experience, enlisting other people’s involvement and interest, enjoying the sense of potential for evolution and possibly unexpected new developments (cf. the philosophy behind “the lean start-up” [23] that new technologies afford). Providing technology well-suited to supporting learning in this context is challenging. For obvious reasons, much educational technology has been conceived within the same kind of philosophical and technical framework that classical programming affords. The whole concept of framing educational software with respect to pre-conceived learning objectives is consistent with conventional notions of computer programming. It can provide a good platform for staging and analysing predictable responses and can be engineered to some degree to allow for adaptation. But – as the well-recognised problems of adapting complex software systems to changing requirements show – (re)designing and (re)developing software to take account of open-ended human-oriented activities is hugely problematic. The key idea in this paper is that the problems of developing educational technologies for the emerging web and of developing complex software in a manner that supports radical design have a common root. Specifically, the new conceptual framework for computing sketched in the rest of the paper (‘constructivist computing’) is commended as essential for enhancing learning applications and the openended development of software. ISBN: 978-1-4673-4969-7 ©2013 IEEE Fig. 1. Making an EM construal III. R ECONCEPTUALISING COMPUTING When alluding to “the embedded binary divide”, Halford, Pope and Carr [21] echo the two contrasting paradigms associated with cultures in engineering identified by Brödner [24]: One position ... the closed world paradigm, suggests that all real-world phenomena, the properties and relations of its objects, can ultimately, and at least in principle, be transformed by human cognition into objectified, explicitly stated, propositional knowledge. The counterposition ... the open development paradigm ... contests the completeness of this knowledge. In contrast, it assumes the primary existence of practical experience, a body of tacit knowledge grown with a person’s acting in the world. This can be transformed into explicit theoretical knowledge under specific circumstances and to a principally limited extent only ... Human interaction with the environment, thus, unfolds a dialectic of form and process through which practical experience is partly formalized and objectified as language, tools or machines (i.e. form) the use of which, in turn, produces new experience (i.e. process) as basis for further observation. Traditional programming relies on engineering closed worlds within the application domain [25]. This has been a significant influence on one way of conceiving the Semantic Web: as a vehicle for automating cognitive processes. In their provisional manifesto for Web Science, Halford, Pope and Carr [21] stress the need to take account of a complementary view of knowledge such as is represented in Brödner’s ‘open development’ paradigm. In keeping with the more central role for human cognition that this entails, Halpin, Clark and Wheeler [26] argue that the discussion of “the character and status of web objects such as websites and mash-ups” is more appropriately related to “what is sometimes called 4E (embedded, embodied, enactive, extended) cognition”. Embracing these complementary perspectives on knowledge and cognition within a single conceptual framework for computing is key to bridging the binary divide. We propose to bring together these broadly ‘scientific’ and ‘humanist’ perspectives by adopting the principles of Empirical Modelling (EM), as outlined in the introduction above. An EM construal is an interactive artefact semantically similar in 182 Fig. 2. The Experiential Framework for Learning (EFL) character to a spreadsheet, in that it is meaningful only because a human interpreter can directly apprehend the correspondence between its state and an external situation (or current ‘state of affairs’) to which it refers (its referent). Figure 1 depicts the activity involved in making an EM construal. This entails the simultaneous ‘construction’ of several essential components: the physical construal, its referent, a context for interaction and interpretation, and a tacit understanding acquired by the modeller that takes the form of familiarity with particular ways of interacting with the artefact and/or its referent and interpreting the relation between them. A full account of EM is beyond our present scope (cf. [9]), but it may be noted that the notion of an EM construal is wellmatched to the four core concepts associated with Web Science in [21]. An EM construal is both a social and a technological artefact (cf. co-constitution), it involves a close integration of human and automated agency (cf. heterogenous networks), it is generated and exhibited through enacted processes (cf. performativity), and relies for its integrity and meaning upon ways of configuring the environment and exercising the construal and its referent that are always subject to revision at the discretion of the modeller (cf. immutable mobiles). IV. EM AND LEARNING The key concepts of EM are observables, dependencies and agency. In EM, the apprehension of particular configurations of observables, dependencies and agency is seen as characteristic of intelligent human interaction within an environment. In broad terms: an observable is an element of our experience to which an identity and current status can be ascribed; a dependency is a perceived causal link between a change made to one observable and a contingent change that occurs to another; an agent is any family of observables that can be viewed as a corporate entity to which state change can be attributed. Making a construal involves personal crafting of a correspondence between interaction with the computer artefact and interaction with its referent that is ideally so intimate as to be immediately apprehended by the modeller. ISBN: 978-1-4673-4969-7 ©2013 IEEE With reference to Figure 1, the correlation between the construal and its referent is mediated by observables and dependencies whose very existence and identity depends upon how the context for interaction can be crafted and maintained. Apprehending this correlation is always a matter of personal experience to be authenticated experimentally, but every kind of agency may be represented in its construction. To this end, the modeller projects herself into the role of other human agents, establishing valid assumptions about their capabilities and capacity to experience similar correlations (as when a composer writes music he cannot himself play for a performer, and a scientist sets out experimental procedures and observations they expect another scientist to replicate). Over and above this projection onto other human agents, the modeller may also adopt an anthropomorphic perspective on other agents (cf. musical and scientific instruments) and exploit the computer to automate counterparts of their agency in the construal. Some of the many varieties of learning activity that feature in EM are set out in Figure 2, where the activities listed from top to bottom informally represent typical stages in the transition from ‘knowing’ in a subjective to an objective sense. This transition identifies EM as ‘construction’ of the kind discussed by Latour in [10] (cf. [11]). A construal can play an important role in communication: different agents can interact with the same construal, possibly exercising complementary skills and intelligence in its interpretation (cf. different instrumentalists reading an orchestral score). This characteristic makes an EM construal better suited to the role in constructionist learning first conceived by Papert than Logo programs [27], [28]. Much EM research to date has been concerned with educational technology and learning (cf. [29], [30]). The scope of such applications demonstrates the potential for bridging the binary divide: they include studies from mathematics and theoretical computer science [31], experimental biology [13], medicine [32], practical skills such as car parking and digital device usage, history of technology [33], and music appreciation [34]. (Spreadsheet use in education [35] offers independent evidence of the merits of ‘EM principles’.) 183 Fig. 3. A Sudoku-solving construal in the Web Eden environment accessible at http://www.dcs.warwick.ac.uk/∼wmb/sudokuExperience/workshops V. W EB - ENABLED EM In principle, the activities associated with transition from the top to the bottom of the EFL in Figure 2 have counterparts in the development of software using EM. This development begins with the making of a construal of the domain, and this construal evolves into an artefact that models the reliable interactions with automated devices expected of a software system. (The term ‘construal’ was borrowed from Gooding, who introduced it in connection with his accounts of Faraday’s experimental work on electromagnetism [36]: a helpful parallel may be drawn with the way in which Faraday’s construals led him to devise the first electric motor.) The notion of developing programs from construals is wellaligned to the shaping of artefacts on the web. A web-page affords an experience of state out of which a behaviour can be crafted. In this process, as indicated in Figure 1, the roles of the human agents, the computing environment, and the contexts for interaction and interpretation are all subject to evolve. In EM, every aspect of this evolution is interpreted with reference to observables, dependencies and agency. The activity depicted in Figure 1 is adapted so as to capture the perspective of any state-changing agent acting in the software environment, whether a human agent such as a user or developer (as in distributed participatory design [15]), or an automated agent such as a computer or device. This involves projecting the MODELLER perspective on to the interface between any such agent and its environment, and characterising its interactions ISBN: 978-1-4673-4969-7 ©2013 IEEE with reference to its ‘observables’ and ‘dependencies’. In the early stages of development, EM takes the form of concurrent systems modelling to identify the relevant human and automated agents and the ways in which their interaction is mediated. To this end, the observables associated with an agent are classified into those that are directly apprehended (‘oracles’), those conditionally under the control of the agent (‘handles’) and those defined by a dependency (‘derivates’). The developer devises construals of the interactive context surrounding the individual agents that can then be integrated into a systemic view where the MODELLER in Figure 1 interacts as an objective external observer. Experiment and observation play a fundamental role throughout, and the ongoing crafting of observables, dependency and agency drives both the openended initial development and subsequent evolution (cf. the simulation of railway operation in [33]). The EDEN interpreter mentioned in the introduction has been the implementation platform for most of the proof-ofconcept educational studies cited above. Key ideas of EM software development have been illustrated using the webenabled Web EDEN variant of EDEN [20], as deployed in an online activity for schoolchildren in the Sudoku Experience workshop in July 2008 (cf. Figure 3). Web EDEN as an environment for constructionism is discussed in [37]. Web EDEN has some practical limitations as an environment for learning and software development. The script for the Sudoku Experience workshop comprises some five 184 Fig. 4. A construal of a relational algebra expression translation developed by Hui Zhu: see http://jseden.dcs.warwick.ac.uk/master/models/eddi2jseden0/ thousand definitions of observables, many of which are syntactically very similar. Since EDEN makes use of various ‘definitive notations’ that address different aspects of the state of the construal (e.g. the screen layout, the graphics, the underlying relational database), there are several different kinds of observables. This poses problems for developers and learners alike in managing and manipulating the script. From a pragmatic perspective, a more promising approach to webenabling EDEN is that introduced in JS-EDEN [19] (cf. Figure 4), where there is ready access to JavaScript objects and types well-suited to the Web, and where – unlike Web EDEN – the computational demand is distributed over the clients rather than being centralised at the server. Some of the problematic aspects of EDEN are addressed in the prototype EM tool Cadence [7]. Cadence models the state of a construal in a homogeneous way that affords a form of prototype-based object-orientation. In this way, it meets the need in exploiting the computer for EM to make a realistic model of the computing technology itself – the processes, networking, and management of processors and peripheral devices. Whereas EDEN is a hybrid tool that supports dependency management and procedural code, Cadence is designed with an architecture that exploits dependency at every level in mind. This gives scope to exploit the capacity for parallel redefinition in a dependency network by ensuring that all definitions have the same granularity – as is crucial in relation to concurrency and synchronisation in distribution. ISBN: 978-1-4673-4969-7 ©2013 IEEE Current work is directed towards developing a JS-EDEN prototype that will combine the qualities of EDEN, Web EDEN and Cadence. An application of the latest prototype is illustrated in Figure 4. This depicts a construal of translation activity – in this instance such as is required to generate EDEN equivalents of expressions framed in the EDDI definitive notation for specifying dependencies between relational tables. As is characteristic of EM activity, the state depicted in the display can be construed as showing ‘work-in-progress on developing the construal’ and – simultaneously – a point in the automatic execution of translation of a specific input string. In the screenshot, the panel on the top left is an Input Window through which EDEN definitions can be entered. The two panels on the right display selected EDEN observables and functions (such as k, the number of input characters so far read, upon which many aspects of the current state depend). The other panels display the translation construal itself: they comprise a control panel within which the learner can trace the translation manually, the table of grammar rules, the current contents of the syntactic and semantic stacks, and the current state of the parsing process as recorded in conventional LRparsing as a path in a finite state machine. The translation construal potentially serves many roles. Adding an EDDI translator to JS-EDEN is an essential step towards porting existing EDEN models to JS-EDEN and making the construal informs the JS-EDEN developer’s understanding of how such a translator can be implemented. The construal 185 is interesting in its own right as an educational application that allows a learner to trace the conventional syntaxdirected translation process manually and appreciate the way in which issues such as shift-reduce conflicts are then addressed in automated execution. Its construction illustrates how the configuration of the model-building environment itself can be seamlessly integrated with model building. The construal already illustrates how object-orientation in JavaScript can be exploited. Future work aims to extend this to devise a template to apply to translating expressions in any definitive notation. VI. C ONSTRUCTIVIST COMPUTING IN PRACTICE A conscientious reader can gain much insight into the vision for constructivist computing that motivates this paper by exploring the many associated references cited in previous sections. A more direct way to appreciate this vision is to get practical experience of EM tools. This section gives some pointers to practical activities that can be traced with the construals depicted in Figure 3, and relates these to key ideas described above. The characteristics of the traditional EDEN interpreter as an EM tool [16] are most readily appreciated by consulting the Sudoku Experience workshops at the url cited in the caption to Figure 3. These workshops include exercises for the learner, but their initial goal is to provide orientation and acquaint the learner with what is involved in making an EM construal. With reference to Figure 1, the reader can inspect the source files for the workshops to see the scale and nature of the definitions that make up the construal, and refer to the “General Introduction to the Script” and the “Introduction to the Web EDEN environment” to appreciate how the script is interpreted as modelling a context for potential action resembling the network of definitions in a spreadsheet and how observables and dependencies in the construal have counterparts in the experience of a person contemplating a Sudoku puzzle. These preliminary workshops introduce the learner to the activity through which the relationship between the construal and its referent depicted in Figure 1 comes to be established, exposing and interpreting the “correlation between experiment and observation with the construal and the referent” that informs the modeller’s understanding. In these activities, the learner is cast in the role of a participant on a guided walk. With reference to Brödner’s contrasting paradigms, it is quite apparent that the guide cannot communicate their own appreciation of such a walk fully as ‘objectified, explicitly stated, propositional knowledge’ but only through ‘human interaction with the environment’ that is ‘partly formalised and objectified’ with the help of commentary and demonstration. As with a guided walk, the significance of the activity depends crucially on what part of the environment is being visited, the extent to which the guide is familiar with it, and what kind of observation and interaction is given priority. Each workshop has an associated minibook that provides commentary and direction. For the most part, the workshops exercise the construal in ways that focus on experiment and observation relating to ‘Sudoku solving’ or ‘making a construal for Sudoku solving’. Some of the exercises on the other hand diverge from these primary themes to such an extent that they might be seen as elaborating independent construals. For ISBN: 978-1-4673-4969-7 ©2013 IEEE instance: ‘a basic exercise in EM’ in Workshop 2A extracts two squares from the Sudoku grid and prescribes a sequence of interactions by way of redefinitions designed to illustrate the interplay between expectation, experiment and explanation that is characteristic of EM; Workshop 2B invites the reader to adapt the Sudoku grid to make a simple form of electronic blackboard on which to demonstrate primary school arithmetic. The essential role of human interaction and interpretation in giving form and identity to a construal is entirely in keeping with its constructed nature. The Sudoku workshops illustrate how the fluid nature of a construal provides a basis for the ’constant innovation’ favoured by Ries [23], as for instance in the conception and implementation of the Colour Sudoku puzzle variant [38] whose derivation is described in Workshop 2C. They also show how several different agent perspectives, such as those of the developer, teacher and learner in a constructionist vision of learning, can be closely integrated within one and the same environment [27]. This scope for integration stems from the support that interaction with the Sudoku solving construal gives to learning activities associated with diverse kinds of agency at every level in the EFL in Figure 2 – and most distinctively with personal subjective agency. This diversity is reflected in the many ways in which knowledge of the digits that might plausibly be entered in a given cell is conveyed – implicitly in the presentation of the grid in Figure 3, by a 1-dimensional relational table defined by a dependency, by the background colour of the cell, or through the exploratory interactions that the interface to the script affords (whether through direct redefinition of observables via the Input Window, or – in another variant of the construal – via the slider interface that features in [38]). The model of agency that a construal supports is rich both in a ‘vertical’ and ‘horizontal’ sense. As a model of a moment in time, it admits observables that mediate agency in an open-ended extensible fashion. As a model of a trajectory of transitions from moment to moment, it records agent interaction in such a way that it can be replayed as if live. Both of these qualities are illustrated in the extension to the Sudoku Experience environment developed for a workshop presented at the Constructionism 2010 conference [39]. The steps in this extension, which was carried out in an intermittent fashion over several days and involved interleaving the modification of the construal with the solution of a Sudoku puzzle as a test case, were recorded in detail and documented using the Empirical Modelling Presentation Environment [40]. Developing a program from a construal involves constraining interaction in both vertical and horizontal dimensions. When appropriate constraints have been identified (cf. [25]), a suitable context for program-like interaction with the construal can be established (cf. Figure 1). This context may be respected through discretionary interaction on the part of the modeller (as is illustrated in Workshop 3A). It is also possible to provide an interface to restrict enrichment of the state through the addition of new observables and patterns of state-transition in preconceived ways (as is illustrated in Workshop 3B). The specific closed-world functionality associated with constrained interaction with construal can also be realised in a traditional program (cf. Harfield’s Colour Sudoku program at [38]). 186 VII. I NSTRUMENTS FOR CONSTRUCTIVIST COMPUTING Working through the Sudoku Experience workshops as outlined in the previous section is a good way to understand the aspirations for constructivist computing. In principle, making construals offers unprecedented scope for imaginative construction that exploits re-use and allows design experiences to be retrieved, retraced and reappraised. Given the richness of the cognitive activity that surrounds the making of a construal and the extended period of time involved in its interactive construction, it is unreasonable to expect the exploration of a mature construal to be a routine matter. We have grown accustomed to exploiting the computer as a device that reduces the burden of thinking, enabling us to act efficiently to achieve our goals without obliging us to reflect in depth upon what this involves. By contrast, working with construals is of its essence problematising, prompting us to probe our understanding in the spirit of McCarty’s Humanities Computing [41]. In practice, the Sudoku Experience workshops also illustrate a range of problems that seem incidental to the primary agenda of making and exploring construals. Even for the authors of construals, it can be hard to meet the challenges of accessing and identifying relevant observables, finding a suitable organisation of files of definitions, and documenting their interactions and interpretations. A key issue is that both the vertical and horizontal components of a construal and the interplay between them should ideally be recorded. This is because of the ‘spiral’ nature of the elaboration of observables and dependencies, which become richer as the contexts for interaction with the construal become more mature. The problems faced in making construals resemble those of developing and maintaining webpages in many respects. As web technologies become more sophisticated, webpages need to provide the context for interaction by many different kinds of agent, and crafting such contexts is much closer in spirit to EM than to programming in its classical sense. At the same time, the scope for conventional programming activity in web environments is ever increasing, and a satisfactory conceptual account of web development must accommodate this. The design of JavaScript, “the programming language of the Web”, reflects the way in which the creation of concrete artefacts and the specification of abstract behaviours come together in web development. This confluence presents challenges typical of the meeting of two cultures to which Brödner refers [24]. The scope and scale of Flanagan’s ‘definitive guide’ to JavaScript [42] illustrates the difficulty of giving conceptual integrity to the many aspects of the language. As Crockford observes in his account of JavaScript as ‘an outstanding object-oriented language’, the reputation of the language is tarnished by association with the API of the browser, the ‘quite awful ... poorly specified and inconsistently implemented’ Document Object Model (DOM) [43, p.2]. JS-EDEN [18] aspires to address this conceptual and technical challenge by marrying JavaScript with EDEN. In this way, web support for EM can benefit from the contributions that JavaScript has made to the management of complex state by way of structural and interface mechanisms, and capitalise on existing resources for dealing with the experiential aspects of state. By a happy coincidence, the core syntax of JavaScript is so similar to that of EDEN that it makes sense to extend ISBN: 978-1-4673-4969-7 ©2013 IEEE the EDEN interpreter to admit raw JavaScript as an auxiliary notation. This potentially makes it easy to blend the many different kinds of agency represented in the EFL. By comparison with more established implementations of EDEN, JS-EDEN is as yet only a research prototype. A significant novelty is that, through the close connection with JavaScript, the entire web interface to the interpreter can be readily customised. This has been illustrated in JS-EDEN variants such as Harfield’s simplified interface for educational use in schools (cf. [44], [19]). The ‘master’ variant of JS-EDEN whose use is depicted in Figure 4 illustrates the most effective way to exploit and generalise the scope for customisation. In this variant, the characteristics of the interface itself are within the scope of the construal. This is in keeping with the idea that the construal is accessible at one and the same time to agents with quite different status – such as the developer, teacher and learner in a constructionist setting [27] – whose roles are compartmentalised in conventional programming. The screen layout can be composed from a range of components that includes JS-EDEN input windows, HTML-5 canvases, symbol viewers and HTML views. The location, dimensions and visibility of each component are observables within the environment of the construal. By introducing several instances of input windows, canvases and symbol viewers, the modeller can reflect the essentially concurrent nature of the interaction with a script, creating separate interfaces for the distinctive oracles and handles associated with each kind of agency. As is illustrated in the panels on the right hand side in Figure 4, the symbols displayed within a view can be selected by specifying an appropriate regular expression. These features of JS-EDEN support modes of interaction that are characteristic of an instrument rather a tool. Zhu’s parsing model can be regarded as a prototype for providing interfaces to auxiliary definitive notations such as traditional EDEN supports. Other prototypes that have been developed provide means to generate scripts from templates and record these in ‘script observables’ that can take over the role conventionally played by files. Dependencies between script observables can then be used to express the subtle relationship between the script as developed horizontally over time and the script as established vertically as of the current moment. VIII. C ONCLUDING REMARKS The qualities of the alternative conceptual framework for computing that EM promotes are hard to appreciate without direct experience of its practice. Only by gaining such experience is it possible to grasp the distinctive meaning of its core concepts of observable, dependency, and agency. The aspiration in EM is “to realise software development as a lived experience” [45], and in the process to establish an intimate relationship between software construction and learning. EM thinking has much in common with Bret Victor’s prescription for ‘learnable programming’ and his concern for a programming model “that [allows] for continuous change” [46]. In particular, Victor emphasises the crucial significance of the concrete and of direct perception of state (“People understand what they see”) and endorses the idea that in order to get people to understand programming “we change programming”. The objectives that inform Victor’s learnable programming environments are similar to those that have guided the development of instruments 187 for EM, and both have drawn crucial inspiration from Papert’s foundational thinking about the relationship between software construction and learning. A topical objective for our research on EM tools is to advertise the fact that open development in spirit very similar to that demonstrated by Victor in [46] – but essentially different in character – is a well-established feature of EM practice. The crucial difference is that construals rather than programs are the focus of EM development. And indeed, experience of EM gives grounds for scepticism about the extent to which Papert’s constructionist vision can be realised without a radical reappraisal of traditional computational thinking [6]. [18] [19] [20] [21] [22] [23] [24] ACKNOWLEDGMENTS The contributions of the first three authors deserve more explicit acknowledgment. Special credit is due to Richard Myers for creating Web EDEN, to Tim Monks for conceiving JS-EDEN and building the first prototype, and to Nick Pope for his work on Cadence and the ‘master’ variant of JS-EDEN. We are also indebted to Steve Russ for insights that have played an important role in developing the conceptual framework for constructivist computing. [25] [26] [27] [28] R EFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] S. Papert, Mindstorms: Children, Computers and powerful ideas. Basic Books, 1980. http://scratch.mit.edu. http://ccl.northwestern.edu/netlogo/. http://www.warcraft-mods.com/. B. Nardi and J.Kalinikos, “Technology, Agency and Community: The Case of Modding in World of Warcraft,” in Industrial Informatics Design, Use and Innovation: Perspectives and Services, J. Holmstrm, M. Wiberg, and A. Lund, Eds. IGI Global, 2010, pp. 174–186. W. M. Beynon, “Computing technology for learning - in need of a radical new conception,” Journal of Educational Technology and Society, vol. 10, no. 1, pp. 94–106, 2007. N. W. Pope, “Supporting the migration from construal to program: Rethinking software development,” Ph.D. dissertation, Department of Computer Science, University of Warwick, Dec. 2011. www.dcs.warwick.ac.uk/modelling. M. Beynon, “Modelling with experience: construal and construction for software,” in Ways of Thinking, Ways of Seeing, C. Bissell and C. Dillon, Eds. Springer-Verlag, Jan. 2012, pp. 197–228. B. Latour, “The promises of constructivism,” in Chasing Technoscience: Matrix of Materiality, D. Ihde, Ed. Indiana University Press, 2003, pp. 27–46. W. M. Beynon and A. J. Harfield, “Lifelong Learning, Empirical Modelling and the Promises of Constructivism,” J of Computers, vol. 2, no. 3, pp. 43–55, 2007. M. Beynon, “Towards technology for learning in a developing world,” in Proc. IEEE 4th International Workshop on Technology for Education in Developing Countries, Iringa, Tanzania, Jul. 2006, pp. 88–92. D. Keer, S. Russ, and M. Beynon, “Computing for construal: an exploratory study of desert ant navigation,” Procedia Computer Science, vol. 1, no. 1, pp. 2207–2216, May 2010. M. Beynon and S. Russ, “Experimenting with Computing,” Journal of Applied Logic, vol. 6, pp. 476–489, 2008. M. Beynon and Z. E. Chan, “A conception of computing technology better suited to distributed participatory design,” in NordiCHI Workshop on Distributed Participatory Design, Oslo, Norway, Oct. 2006. Y. P. Yung and Y. W. Yung, The EDEN Handbook, Department of Computer Science, University of Warwick, 1988, updated in 1996. J. Rungrattanaubol, “A treatise on modelling with definitive scripts,” Ph.D. dissertation, Department of Computer Science, University of Warwick, Apr. 2002. ISBN: 978-1-4673-4969-7 ©2013 IEEE [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] T. R. Monks, “A definitive system for the browser,” MSc Dissertation Report, Computer Science, University of Warwick, 2011. go.warwick.ac.uk/em/software/js-eden/. go.warwick.ac.uk/webeden. S. Halford, C. Pope, and L. Carr, “A Manifesto for Web Science,” in Proceedings of the WebSci10: Extending the Frontiers of Society OnLine, 2010, http://journal.webscience.org/297/. M. Ben Ari, “Constructivism in Computer Science Education,” J. Computers in Mathematics and Science Teaching, vol. 20, no. 1, pp. 45–73, 2001. E. Ries, The Lean Startup: How Constant Innovation Creates Radically Successful Businesses. Penguin Books, 2011. P. Brödner, “The two cultures in engineering,” in Skill, Technology and Enlightenment. Springer-Verlag, 1995, pp. 249–260. W. M. Beynon, R. C. Boyatt, and S. Russ, “Rethinking programming,” in Proc. IEEE Third International Conference on Information Technology: New Generations, Las Vegas, Nevada, 2006, pp. 149–154. H. Halpin, A. Clark, and M. Wheeler, “Towards a Philosophy of the Web: Representation, Enaction, Collective Intelligence,” in Proceedings of the WebSci10: Extending the Frontiers of Society On-Line, 2010, http://journal.webscience.org/324/. M. Beynon and C. Roe, “Computer support for constructionism in context,” in Proc. ICALT’04, Joensuu, Finland, 2004, pp. 216–220. C. Roe and M. Beynon, “Dependency by definition in Imagine-d Logo: applications and implications,” in Ivan Kalaš (ed.) Proc. of the 11th European Logo Conference, Bratislava, Slovakia, 2007, EM paper #102 at [8]. A. J. Harfield, “Empirical Modelling as a new paradigm for educational technology,” Ph.D. dissertation, Department of Computer Science, University of Warwick, Jan. 2008. C. P. Roe, “Computers for Learning: An Empirical Modelling Perspective,” Ph.D. dissertation, Department of Computer Science, University of Warwick, Nov. 2003. M. Beynon, “Constructivist Computer Science Education Reconstructed,” HEA-ICS ITALICS e-Journal, vol. 8, no. 2, pp. 73–90, 2009. M. Beynon and W. Beynon, “Construals to Support Exploratory and Collaborative Learning in Medicine,” in Proc. Intelligent Support for Exploratory Environments, Chania, Crete, 2012, pp. 12–20. M. Beynon and P.-H. Sun, “Computer-mediated communication: a Distributed Empirical Modelling perspective,” in 2nd International Conference on ‘Cognitive Technology’, San Francisco, 1999, EM paper #053 at [8]. M. Beynon, S. Russ, and W. McCarty, “Human Computing: Modelling with Meaning,” Literary and Linguistic Computing, vol. 21, no. 2, pp. 141–157, 2006. J. Baker and S. J. Sugden, “Spreadsheets in Education – The First 25 Years,” Spreadsheets in Education, vol. 1, no. 1, 2003, article 2. D. Gooding, Experiment and the Making of Meaning. Kluwer, 1990. M. Beynon and A. Harfield, “Constructionism through Construal by Computer,” in Proc. Constructionism 2010. The American University of Paris, 2010. go.warwick.ac.uk/sudoku. go.warwick.ac.uk/constructionism2010-workshop. empublic.warwick.ac.uk/projects/empeHarfield. W. McCarty, Humanities Computing. Palgrave Macmillan, 2005. D. Flanagan, JavaScript: The Definitive Guide, 6th ed. O’Reilly, 2011. D. Crockford, JavaScript: The Good Parts. O’Reilly, 2008. A. Harfield and M. Beynon, “Empirical Modelling for constructionist learning in a Thai secondary school mathematics class,” in Proc. 9th International Conference on eLearning for Knowledge-Based Society. Siam Technology College,Thailand, Dec. 2012, EM paper #118 at [8]. M. Beynon, “Realising software development as a lived experience,” in Proceedings of the ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Tucson, Arizona, 2012, pp. 229–244. http://worrydream.com/LearnableProgramming/. 188