19
This article was downloaded by: [University of Glasgow] On: 04 October 2014, At: 14:58 Publisher: Routledge Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK Computer Science Education Publication details, including instructions for authors and subscription information: http://www.tandfonline.com/loi/ncse20 Webworlds—Web-Based Modeling Environments for Learning Software Engineering Peter Chalk Published online: 09 Aug 2010. To cite this article: Peter Chalk (2000) Webworlds—Web-Based Modeling Environments for Learning Software Engineering, Computer Science Education, 10:1, 39-56 To link to this article: http://dx.doi.org/10.1076/0899-3408(200004)10:1;1-P;FT039 PLEASE SCROLL DOWN FOR ARTICLE Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) contained in the publications on our platform. However, Taylor & Francis, our agents, and our licensors make no representations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of the Content. Any opinions and views expressed in this publication are the opinions and views of the authors, and are not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon and should be independently verified with primary sources of information. Taylor and Francis shall not be liable for any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoever or howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of the Content. This article may be used for research, teaching, and private study purposes. Any substantial or systematic reproduction, redistribution, reselling, loan, sub- licensing, systematic supply, or distribution in any form to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http:// www.tandfonline.com/page/terms-and-conditions

Webworlds?Web-Based Modeling Environments for Learning Software Engineering

  • Upload
    peter

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

This article was downloaded by: [University of Glasgow]On: 04 October 2014, At: 14:58Publisher: RoutledgeInforma Ltd Registered in England and Wales Registered Number: 1072954Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK

Computer Science EducationPublication details, including instructions for authors andsubscription information:http://www.tandfonline.com/loi/ncse20

Webworlds—Web-Based ModelingEnvironments for LearningSoftware EngineeringPeter ChalkPublished online: 09 Aug 2010.

To cite this article: Peter Chalk (2000) Webworlds—Web-Based Modeling Environments forLearning Software Engineering, Computer Science Education, 10:1, 39-56

To link to this article: http://dx.doi.org/10.1076/0899-3408(200004)10:1;1-P;FT039

PLEASE SCROLL DOWN FOR ARTICLE

Taylor & Francis makes every effort to ensure the accuracy of all the information(the “Content”) contained in the publications on our platform. However, Taylor& Francis, our agents, and our licensors make no representations or warrantieswhatsoever as to the accuracy, completeness, or suitability for any purposeof the Content. Any opinions and views expressed in this publication are theopinions and views of the authors, and are not the views of or endorsed byTaylor & Francis. The accuracy of the Content should not be relied upon andshould be independently verified with primary sources of information. Taylor andFrancis shall not be liable for any losses, actions, claims, proceedings, demands,costs, expenses, damages, and other liabilities whatsoever or howsoever causedarising directly or indirectly in connection with, in relation to or arising out of theuse of the Content.

This article may be used for research, teaching, and private study purposes.Any substantial or systematic reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any form to anyone is expresslyforbidden. Terms & Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions

Webworlds—Web-Based Modeling Environments forLearning Software Engineering

Peter ChalkSchool of Computing, South Bank University, London

ABSTRACT

This article presents a survey of Web-based learning environments (“Webworlds”) such as dia-gramming tools and program animators that support the teaching of some standard topics in asoftware engineering course. In addition it proposes an approach to classification based on howthe student explores or expresses the model represented in the software. It is suggested that sucha classification, based on the student learning view, can assist in evaluating claims for enhancedlearning effects. For each Webworld discussed, various attributes are analyzed to assist in itsclassification. Finally, some technical concerns and issues for further evaluation are raised.

INTRODUCTION

There are an increasing number of Web-based learning environments(“Webworlds”) created for software engineering education. The term“Webworlds” is suggested in Chalk (1999), based on Seymour Papert’s con-cept of a microworld which “can be manipulated by the learner, providing anenvironment for active learning” (Papert, 1980, p. 126). Papert’s definition isapplied here to a range of example software artefacts, such as program ani-mators and modeling tools, which simulate aspects of the software engineeringcurriculum. Laurillard (1993, p. 138) comments that “microworlds are verysimilar to simulations in the sense that they allow the user to act in a simulat-ed world”. This paper presents a partial survey and classification of the use ofsoftware in teaching situations that satisfy this definition of Webworlds andthat have been variously described by their authors as interactive animations,visualizations, simulations and laboratories.

Similar surveys have been published for other areas of the computer sci-ence curriculum. Boroni et al. (1998, p. 146) describe the “Web paradigm”

Correspondence: Peter Chalk, School of Computing, South Bank University, London SE1 0AA,UK. Tel: +44 (0)207 815 7433. Fax: +44 (0)207 7499. E-mail: [email protected],http://www.sbu.ac.uk/~chalkp/ww.

Computer Science Education 0899-3408/00/1001–0039$15.002000, Vol. 10, No. 1, pp. 39–56 © Swets & Zeitlinger

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

where “instructors will tend away from a traditional lecture style towards therole of a facilitator, and students will become more active in exploratory learn-ing”. They provide an overview of the work of many university departmentsin the field of algorithm animation and of the new ways in which students ben-efit from Web-based learning. This includes the benefits of having many dif-ferent Webworlds to choose from, giving the student a chance to evaluate theirfindings comparatively. Additionally, the Web provides much greater accessi-bility to CAL (Computer-Aided Learning). These factors alone must affect theway students learn and more research is needed into how to use them to bestadvantage.

IDENTIFICATION AND CLASSIFICATION OF WEBWORLDS

The programs cited in this paper have been identified by a variety of methodsincluding: reading ACM SIGCSE and ITiCSE proceedings, Web searches,monitoring repositories and by creating them ourselves. Several repositories ofsoftware to support computer science education exist (ACM SIGCSE, 1997;Brummond, 1998; CSTC, 1997). The programs, or Webworlds, mentioned inthis article are chosen because they support a software engineering unit, basedon Pressman (1997), and taught at South Bank University by the author. In aprevious issue of Computer Science Education, Laurie Werth (1998) describeda CS1/2 curriculum that integrated software engineering into an introductionto computer science. These examples could support such a course with topicscovered including performance analysis, flowgraphs, testing, design and con-trol and data structures. Webworlds are continually emerging for other topicsin this curriculum area.

Previous authors have proposed various methods of classification. Bergin(1997), of the Web-based Visualization Group in SIGCSE, classifies their pro-grams as non-interactive, interactive, complete visualization systems withautomatic creation and complete visualization systems requiring programannotation. Boroni (1998, p. 148) classifies animations as depicting the work-ings of either a program, an algorithm or a concept. Stasko et al. (1998)include contributions on similar themes, for example considering whether thedisplay is static or dynamic. Others, for example Brummond (1998) and theCSTC (1997), describe the control of inputs, starting, stopping, etc., and thedegree of interactivity. These are important factors that also contribute to theanalysis presented here.

40 PETER CHALK

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

The approach in this paper will be to propose a method based on controlover the model that is the object of interaction. A variety of Webworlds willbe presented to illustrate each category as it applies to an aspect of softwareengineering. This approach to categorizing the use of models in education dis-tinguishes between exploratory and expressive modes (Mellar et al., 1994). Inthe first (exploratory) case, the student is presented with a model to exploreand attempts to understand it (usually through a form of interaction), or con-ducts experiments using it. In the second (expressive) case, the student is ableto express their own model, and get feedback on its “correctness”, developinga deeper understanding of how the model works. For each category a range ofdifferent types of examples are described. This method of categorizing, fromthe standpoint of the student’s learning, adds another dimension to previouswork on the subject and is currently the subject of ongoing evaluative research.

EXPLORATORY MODELS: VISUALIZATION AND EXPERIMENTS

Visualization is argued to be a powerful method for understanding how aprocess works or for studying its effects (although there are important con-cerns relating to cognitive issues raised by Petre et al., 1998). For example,sort algorithm animators can illustrate the performance of different sortingalgorithms and give students the chance to observe and measure their com-parative speeds. One such example, Sort Algorithm Animations, is shown inFigure 1 (Begole, 1996). Naps and Bressler (1998) have also produced a

WEBWORLDS FOR LEARNING SOFTWARE ENGINEERING 41

Fig. 1. Sort Algorithm Animations—algorithm visualization and performancecomparison.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

system that displays algorithm animations in parallel. Dynamic visualizationcan also be considered as viewing the execution of a model, in this case in theexploratory mode as the model is given.

The only control given to the user by this animation is over starting andstopping. Yet, because the three sorts start at the same time on similar randomsets of data, it offers a powerful visual example of comparative speeds. A stu-dent learning the topic of performance analysis could use a stopwatch to mea-sure timings and correlate them with the order of each algorithm. Source codefor each sort is also available. Other similar examples include Gosling andHarrison (1999) and Kitchen (1999). Both also include source code and anindication of the order of each algorithm.

An example of concept visualization is shown in Figure 2 (Ahmed, 1999).It illustrates the animation of a program flowgraph using the JAWAA (Java &

42 PETER CHALK

Fig. 2. Illustrating white box testing with JAWAA—concept visualization andgraphical modeling environment.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

Web-based Algorithm Animation) environment developed by Pierson andRodger (1998). The start/stop control has been augmented bypause/unpause—a set of sequencing controls that are offered by most simula-tions. The student can also view the source code modeled by the flowgraph.(The JAWAA code that drives the animation is also available to be viewed oredited and this expressive aspect will be described later.)

This example is intended to allow students to visualize the different pathsthrough the code. Each path is dynamically animated using a moving ball, adifferent color to represent each possible path of execution. The paths can thenbe used by a student to construct a white box test plan or to calculate the com-plexity metric for the code. It also serves as an alternative to, or introductionto, the Java Flowgraph Editor below. It could be argued that visualization perse does not necessarily support model exploration and an additional category,explanatory, may be needed in this case.

The next example, the Sort Animator in Figure 3, also fits into the categoryof visualization of the execution of a model, again that of a sort algorithm(Dershem & Brummond, 1998). The student can explore the model by vary-ing the controls (seven menus, three buttons and a number entry box) andwatching the highlighting of data items and source code lines as it executes.

WEBWORLDS FOR LEARNING SOFTWARE ENGINEERING 43

Fig. 3. Sort Animator—interactive algorithm animator.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

This is typical of a large number of such algorithm animators; indeed the“gateway” site maintained by Brummond (1998) lists 43 different examples.They provide a rich set of laboratory experiments for performance analysis aswell as for data and program structure exercises.

In addition to the controls already shown (sequencing) the user can also:vary the speed, choose the algorithm (or model) type, view the algorithm codeand an explanation, change various colors (background, foreground, high-lighting) and vary the size and order (random or pre-sorted) of the data set.Thus it readily fits the category described by Bergin (1998) as interactivevisualization. In addition, as will be described below, it allows users to inputtheir own code (or express their own model). The outputs consist of high-lighted (animated) code and data and a count of the total number of compar-isons and swaps. For recursive algorithms it also includes a graphicrepresentation of the depth and location of the recursion. Students can usethis Webworld to see how different sort algorithms work, and how they per-form on their chosen data sets and, hence, carry out performance analysis(asynchronously). Of all the algorithm animators viewed by the author, thisone seems to have the largest number of opportunities for interaction (as wellas supporting both exploratory and expressive modes of modeling). Othersimilar examples of sort algorithm animators include Dildy and Poonen(1996), Hausner (1996) and Mitra (1996).

The next example presented in this section on exploratory models is inFigure 4, an exercise in fault-finding using black box testing (Aziz, 1999).Four menus are presented and the student can choose one of five functions (ormodels) to study. Each function has a specification that can be viewed and hasat least one deliberate error—the task is to find them. Input values can beentered by the student and the output is calculated and added to a test log. Theexpected outcome can be chosen by the student or generated automaticallyand, when compared to the specification, it allows the faults (or failures) to befound. The help menu includes an option that lists the faults, so that the pro-gram is fully self-contained.

Another type of algorithm or data structure animator also encourages inter-activity by allowing the student to enter or manipulate data values accordingto their view of how the algorithm works. Jarc (1999) describes a set ofInteractive Data Structure Visualizations and a research study into its effectson learning. An example, showing the Heap Sort, is shown in Figure 5. Theradio button labeled “I’ll try” enables the student to enter the interactive“emulate” mode.

44 PETER CHALK

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

In summary, Webworlds for exploratory (and, as a superset, for expressive)modeling activity can include the following attributes:

• Sequence controls: start, stop, pause, step, reverse direction, change speed• Color controls: back/foreground, animation highlighting, data• Choice of model: algorithm, data structure, function• Object modeled: graphical, textual, conceptual• Data input: values, size, organization, pattern, emulation• Model: source code, design or specification of the model• Counters: comparisons, moves, swaps, timing• Results: log, illustration of important side effects, annotation• Display: animated, highlighted• Output: measurable, calculated• Help: solutions, exposition, FAQ, analysis• Storage: saveable model state, printable, shareable, multi-user

WEBWORLDS FOR LEARNING SOFTWARE ENGINEERING 45

Fig. 4. Learning black box testing using simulation—fault-finding.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

These attributes will need to be considered by teaching staff when choos-ing or evaluating any particular Webworld for inclusion in their course. The listdoes not include other usability heuristics such as those concerned with navi-gation, memory, etc. The degree of interactivity in each Webworld can be“measured” using these attributes and research is underway to determine anyrelationship to learning. The type of exploratory Webworld can be categorizedas animation, simulation, emulator, fault finder or performance comparator.Other types not illustrated here may include games, role-play scenarios or real-time control environments.

Evidence for improved learning from the use of exploratory Webworlds islimited, as noted by Jim Foley in his foreword to the book by Stasko et al.(1998)—he notes that “Empirical evaluation . . . is for me the most criticalremaining step in fulfilling the promises of software visualization” (p. xiii).There are some positive results, for example, Naps and Bressler (1998, p. 278)claim that their “learn-by-example environment” produced “marked improve-ments in students’ performance on those test questions that asked them to tracethe execution of an algorithm”. They concede that “it is not yet clear how algo-rithm animation can help in better learning the more conceptual type ofmaterial”. Perhaps one solution is to engage the student in a wider variety of

46 PETER CHALK

Fig 5. Interactive Data Structure Visualizations—algorithm emulation.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

tasks, including their own model building exercises, that integrate every stageof the software engineering process. This approach fits the category expres-sive and is described in the next section.

EXPRESSIVE MODELING AND FEEDBACK

In each of the preceding examples the model is presented to the user. In thecase of JAWAA and the Sort Animator, the student can also express their ownmodel, either as an animation or as program code, and have it executed in theWebworld environment. This approach to learning more closely resembles thatadvocated by Papert (1980) in his classic treatment of the microworld conceptusing the Logo programming language. The illustration of a flowgraph inFigure 2 was produced by a final year student at South Bank University for hisproject (Ahmed, 1999). The animation was coded in the JAWAA graphics lan-guage and ran using the JAWAA engine. Feedback from each drawing wasused to determine the correctness of the code model. The Sort Animator isaccompanied by the Sort Animation Builder, the source code that enables astudent to recompile the Webworld with their own code for the algorithmunder study and watch the result. In both cases, the student can express theirmodel, albeit in the specified form of a specialized language code. In hisreport, Ahmed (1999) states that “using the JAWAA script for programmingpurposes has proved to be most educational in the development of my under-standing of different methods of coding”. JAWAA authors Pierson and Rodger(1998) describe similar examples of students benefiting from creating theirown animations for a variety of computing concepts. They claim that JAWAAanimations are used “for demonstration use in the classroom or by studentsgenerating quick animations of their programs” (p. 267). The experience ofAhmed (1999) raises some doubts about the use of the word “quick” but theanimations produced have been described by students as visually appealing.

Webworlds can provide an opportunity for simplified CASE tools to bemade widely available to students. Figure 6 shows a tool (Cumberbatch, 1999)which can be used in a follow-up or alternative activity to the flowgraph ani-mator in Figure 2. In this case, students have a chance to draw the flowgraph(express their model) for any piece of code, or for one of the examples pro-vided by the program. In the latter case, it acts in a similar way to the testingfault-finder in Figure 4, showing, in the right-hand window, the correct flow-graph for the code presented on the left. The student’s model can thus be

WEBWORLDS FOR LEARNING SOFTWARE ENGINEERING 47

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

compared to a correct version and the resulting feedback used to assist themto correct any mistakes. The expression of the student’s model in this case isa passive representation, but the example that follows is one that executes thediagram model.

A similar simplified type of CASE tool is the JSP Editor, shown in Figure7 (Engström, 1997). The student can enter a diagram, using controls thatenforce the correct JSP syntax, and generate skeletal code in C or Pascal. Thisfeedback can then be used, if necessary, to check the correctness of the dia-gram or to help with writing the resulting program. By executing the user’smodel in a graphical environment, this Webworld again exhibits some of thecharacteristics of Papert’s microworlds.

Other expressive modeling environments for computer science educationexist. Boroni et al. (1998) describe WebLab, the successor to DynaLab, andthe “paradigm shift” that Web-based learning entails. Their Webworlds includea program animator (see Fig. 8) which animates program code and data struc-tures in a similar way to the algorithm animators above and allows input of theuser’s own code using an editor and compiler. In the latter case, acting as an

48 PETER CHALK

Fig. 6. Java Flowgraph Editor—(expressive) model diagramming tool.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

WEBWORLDS FOR LEARNING SOFTWARE ENGINEERING 49

Fig. 7. JSP Editor—CASE tool which executes design model to generate code.

Fig. 8. WebLab—program control and data structure animation and algorithmchecker.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

algorithm checker, the program fits the definition of an expressive modelingenvironment that executes the model. This could also support software engin-eering topics like profiling and debugging. An on-line Java DevelopmentEnvironment (JaDE) has been produced by Stegink et al. (1999) to supporttheir course in computer graphics. This facility could prove very useful in asoftware engineering course or in supporting Webworlds that require remoteon-demand code compilation. A similar approach has been adopted by Roweand Thorburn (1999) for VINCE—a C program animator that allows editingand compiling of code and checking of values in memory in step mode.

In summary, the additional attributes required for expressive modeling envi-ronments can include:

• Model input facility: graphical editor, modeling language editor, file input• Execution: model transformation, runnable, choice of method of

highlighting• Storage: local, server, shareable, printable• Output: display model, execute it, compare to solution, choose

transformation• Assistance with creation: syntax checker, on-line help, example solutions

The examples of expressive modeling environments described so far in thissection are all specific to the kind of model being created, whether an algo-rithm animation or a design diagram, and could be called “content-specific”Webworlds. Another kind of modeling environment would be “content-free”,for example a spreadsheet or graph plotter. Both of these already exist asWebworlds (Kurtz & O’Neal, 1998, see Fig. 9; and Zobel, 1999, respectively)that could be used for software engineering topics such as COCOMO cost esti-mation, performance analysis and the Personal Software Process (Humphrey,1997). Semi-quantitative or qualitative modeling tools (not yet found on theWeb) could be used to model the software development process itself as adynamic system.

The approach in this section is similar to that of Werth (1998, p. 8), whoargues that “lessons can be effectively driven home by applying the softwaretool(s) to help evaluate the student’s own programs”. As Mellar et al. (1994)argue, the expressive use of models can be a powerful way of learning andWebworlds that fit into this category need to be identified or developed.Additional research is ongoing into how their availability on the Web willaffect patterns of learning. One major issue that needs to be addressedconcerns the technical problems of using interactive software on the Web, in

50 PETER CHALK

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

particular the problem of saving and loading student models, which is essentialto the expressive mode of modeling. This will be addressed in the next section.

To complete this section, a summary classification of the use ofWebworlds presented in this paper is shown in Table 1. The intention is todemonstrate the increasing complexity of and interactivity with the model.Note that the Webworlds in Figures 2 and 3 are listed twice, as the categoryexploratory or expressive depends on how they are used. A brief descriptionof the type of Webworld is also given to assist with the taxonomy, which isitself undergoing further research and development. At least the descriptionshould assist teachers with selecting and integrating the Webworlds into theirteaching.

Technical Issues Concerning WebworldsTechnical concerns fall into the following areas: general concerns about thestability of websites, methods for processing files, performance issues andWebworld production issues. Any evaluation of the use of Webworlds for aparticular course has to take some or all of these into account.

WEBWORLDS FOR LEARNING SOFTWARE ENGINEERING 51

Fig. 9. Watson Project Spreadsheet Lab—a “content-free” modelling environment.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

First, the stability of any website cannot be guaranteed, either by the authorof the Webworld or by the site provider. URLs change or become permanentlyor temporarily unavailable and the software may not be maintained. There aretwo possible solutions to this: one, use a secure repository (for example, one ofthe several set up by ACM SIGCSE, 1997), or, better, ask the author for a copyof the code. This also alleviates the problem of latency, but not that of multiplecopies. In future, payment and access rights may become more of an issue. (Allof the Webworlds cited in this paper are currently accessible free of charge.)

Secondly, and most importantly for education, is the issue of howWebworlds process students’ models. Because of the current security

52 PETER CHALK

Table 1. Summary Classification of the Use of Software Engineering Webworlds.

1

2

3

4

5

2

3

6

7

8

9

Fig.

Exploratory

Exploratory

Exploratory

Exploratory

Exploratory

Expressive

Expressive

Expressive

Expressive

Expressive

Expressive

Exploratory/Expressive

Algorithm visualization andperformance comparator.

Concept visualization.

Interactive algorithm ani-mator.

Fault finder.

Algorithm visualizationand emulation.

Graphical modeling envi-ronment.

Animation builder usingstudent code model.

Model diagramming tool.

CASE tool executes designmodel to generate code.

Program animator andalgorithm checker.

“Content-free” modelingenvironment.

Description of Webworldactivity in this mode

Sort Algorithm Animations,http://simon.cs.vt.edu/~begolej/Java/Sort

Illustrating White Box Testing Using JAWAA,http://www.sbu.ac.uk/~chalkp/proj/fayyez

Sort Animator,http://www.cs.hope.edu/~alganim/ccaa/ccaa.html

Learning Black Box Testing using Simulation,http://www.sbu.ac.uk/~chalkp/proj/bbt/

Interactive Data Structure Visualizations,http://tangle.seas.gwu.edu/~idsv

JAWAA,http://www.cs.duke.edu/~wcp/JAWAA.html

Sort Animation Builder,http://www.cs.hope.edu/~alganim/ccaa/ccaa.html

Java Flowgraph Editor,http://www.sbu.ac.uk/~chalkp/proj/sharron

JSP Editor,http://www.ida.his.se/ida/~henrike/JSP/example.chtml

WebLab,http://www.cs.montana.edu/~weblab

Watson Project Spreadsheet Lab,http://www.latech.edu/~watson/overview.html

Title and URL

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

restrictions on using Java applets in Web browsers it is not usually possible toload from, save to or print using the client machine. Webworld authors haveused some ingenious methods to overcome the problem of file input. Forexample, a student wanting to view their animation in JAWAA sets up twoWeb pages. The first HTML page calls up the JAWAA engine code base storedat Duke University passing as a parameter the URL of their local animationcode text file. The applet then starts up, interpreting the JAWAA statements inthe second file and producing the animation in a window (as in Fig. 2). Inanother example, the Sort Animation Builder is available as Java source codewhich has to be downloaded, recompiled with the student’s own algorithm andrun as a local application. Other Webworlds use a combination of CGI script-ing and FTP. For printing the usual method to use with Java applets is to copyand paste screen displays into local files and print them. These “solutions” arethoroughly discouraging to serious educational use.

The next generations of browsers and of Java may allow an easing of thisproblem but security will then become a much bigger issue. Already universitylaboratories are plagued by student-spread viruses and the prospect of morecoming from Web applets is not appealing. Again, the solution may lie in usingreliable repositories or holding a local copy.

There is little evidence of the widespread take-up of computer aided learn-ing (CAL) programs predicted in the past. One reason could be the problemsof developing for obsolete machines and of distribution: often the student onlyhas access to CAL in a particular lab with the teacher present. The ubiquitousnature of a Web artefact could change that. Only one copy (theoretically) needsto be produced and stored anywhere in the world for everyone to have access,anywhere, at any time, on any platform. Maintenance becomes simply a matterof amending that copy. However, anyone with a Web account can load andpublish any program they want to write. In terms of maintaining standards andguaranteeing quality this could present problems! Hence, another role for arepository is to provide peer review and other measures of quality assurance(ACM SIGCSE, 1997).

CONCLUSIONS

The aim of this article is to draw attention to the emerging variety of Web-based learning environments (Webworlds) that are suitable for use in the soft-ware engineering curriculum. The topic of algorithm animation is now

WEBWORLDS FOR LEARNING SOFTWARE ENGINEERING 53

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

supported by a rich set of programs demonstrating incredible ingenuity andskill by many university teaching staff and researchers. Some claims forimproved learning are made and other factors, such as the degree of interac-tivity and the usefulness of the exploratory/expressive modeling categoriesneed further research to establish the limits of their validity. The availabilityof similar programs that support other areas of the curriculum now means thatresource-based learning anywhere, any time, can be a reality for our students.

The challenge for educators now is to find ways of integrating Webworldsinto taught courses and to evaluate the learning that they produce. There aremany theorists of education who advocate learning by doing and experientialor problem-solving activities (Kolb, 1984; Laurillard, 1993; Papert, 1980, toname just three). Experiments, investigations and tasks, based on a variety ofWebworlds, may provide a rich set of experiences for reflective learning. Apilot study at South Bank University is currently evolving a unit in softwareengineering based on these learning principles and a variety of Webworldsincluding those described in this article.

An initial attempt at classifying the Webworlds according to the stage ofthe modeling process they support has also been made. This should assistteachers in identifying the amount of preparation and depth of study that isrequired before they can be usefully deployed. Some technical issues have alsobeen raised that have a bearing on the potential problems involved in Web-based learning and that provide a challenge to the future developers of newWebworlds. The next task is to evaluate systematically the learning outcomesthat may be achieved by the use of Webworlds in software engineering edu-cation. This should include the contribution made by the different categoriesof modeling environment or task and the unique contribution made by deliveryover the Web.

REFERENCES

ACM SIGCSE (1997). Computer laboratory repository. http://springfield.tcnj.edu:8000/~compsci/peer/index_hi.html, College of New Jersey, last modified 25/2/97.

Ahmed, S. F. (1999). Online tutorial on a fundamental computing concept. Final year projectreport, London: South Bank University, http://www.sbu.ac.uk/~chalkp/proj/fayyez.

Aziz, T. (1999). Learning black box testing using simulations. Final year project report, London:South Bank University, http://www.sbu.ac.uk/~chalkp/proj/bbt/.

Begole, J. (1996). Sort algorithm animations. http://simon.cs.vt.edu/~begolej/Java/Sort, VirginiaTech., last modified 16/5/96.

54 PETER CHALK

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

Bergin, J. (1997). Web-based visualisation. Web document http://sol.pace.edu/webvis/.Boroni, C. M., Goosey, F. W., Grinder, M. T., & Ross, R. J. (1998). A paradigm shift! The

Internet, the Web, browsers, Java, and the future of computer science education.Proceedings of the 1998 SIGCSE Symposium. Atlanta, 145–152.

Brummond, P. (1998). The complete collection of algorithm animations.http://www.cs.hope.edu/~alganim/ccaa/site.html.

Chalk, P. (1999). Survey of webworlds for software engineering education. Proceedings of the7th Annual Conference on the Teaching of Computing. Belfast, August 25–27, 37–41.

CSTC (1997). Computer science teaching centre. http://www.cstc.org/~cstc/, last modified28/5/99.

Cumberbatch, S. (1999). Java flowgraph editor. Final year project report, London: South BankUniverity, http://www.sbu.ac.uk/~chalkp/proj/sharron.

Dershem, H. L., & Brummond, P. (1998). Tools for web-based sorting animation. Proceedingsof the 1998 SIGCSE Symposium. Atlanta, 222–226.

Dildy, J., & Poonen, S. (1996). Sort algorithm animator. http://blackcat.brynmawr.edu/~spoo-nen/JavaProject/sorter.html.

Engström, H. (1997). JSP editor. http://www.ida.his.se/ida/~henrike/JSP/example.chtml, lastaccessed 12/2/99.

Gosling, J., & Harrison, J. (1999). Sorting algorithms. http//:www.cs.ubc.ca/spider/harrison/Java/sorting-demo.html, last modified 16/3/99.

Hausner, H. (1996). Bubble sort. http://www.cs.princeton.edu/~ah/alg_anim/version1/BubbleSort.html, Princeton University, last modified 23/7/96.

Humphrey, W. S. (1997). Introduction to the personal software process. Addison-Wesley.Jarc, D. J. (1999). Interactive data structure visualisations. http://tangle.seas.gwu.edu/~idsv,

George Washington University, last accessed 17/6/99.Kitchen, A. (1999). Sorting algorithms. http://www.cs.rit.edu/~atk/Java/Sorting/sorting.html,

accessed 22/5/99.Kolb, D. A. (1984). Experiential learning. Englewood Cliffs, N. J.: Prentice-Hall.Kurtz, B., & O’Neal, M. (1998). Developing educational materials in Java: A report from the

front lines. National Educational Computing Conference Proceedings. San Diego, CA,234–246.

Laurillard, D. (1993). Rethinking university teaching: A framework for the effective use of edu-cational technology. Routledge.

Mellar, H., Bliss, J., Boohan, R., Ogborn, J., & Tompsett, C. (Eds). (1994). Learning with arti-ficial worlds: Computer based modelling in the curriculum. The Falmer Press.

Mitra, S. (1996). Java sorting animation. http://www.cs.brockport.edu/cs/java/apps/sorters/, lastmodified 19/9/96.

Naps, T. L., & Bressler, E. (1998). A multi-windowed environment for simultaneous visualisa-tion of related algorithms on the World Wide Web. Proceedings of the 1998 SIGCSESymposium. Atlanta, 277–281.

Papert, S. (1980). Mindstorms: Children, computers and powerful ideas. Brighton, Sussex:Harvester Press.

Petre, M., Blackwell, A., & Green, T. (1998). Cognitive questions in software visualization. InStasko (1998), 453–480.

Pierson, W. C., & Rodger, S. H. (1998). Web-based animation of data structures using JAWAA.Proceedings of the 1998 SIGCSE Symposium. Atlanta, 267–271.

Pressman, R. (1997). Software engineering: A practioner’s approach. McGraw-Hill.

WEBWORLDS FOR LEARNING SOFTWARE ENGINEERING 55

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4

Rowe, G., & Thorburn, G. (1999). Evaluation of VINCE—a tool for teaching introductoryprogramming. Proceedings of the 7th Annual Conference on the Teaching of Computing.Belfast, August 25–27, 98–102.

Stasko, J., Domingue, J., Brown, M. H., & Price, B. A. (Eds). (1998). Software visualization:Programming as a multimedia experience. MIT Press.

Stegink, G., Pater, J., & Vroon, D. (1999). Computer science and general education: Java,graphics, and the web. Proceedings of the 1999 SIGCSE Symposium. New Orleans,146–149.

Werth, L. H. (1998). Integrating software engineering into introductory computer sciencecourses. Computer Science Education, 8: 2–15.

Zobel, E. A. (1999). EZ graph. http://id.mind.net/~zona/ezGraph/ezGraph.html, last accessed10/2/99.

56 PETER CHALK

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 1

4:58

04

Oct

ober

201

4