An Integrated Virtual Environment for Active and Collaborative e-Learning in Theory of Computation

  • Published on

  • View

  • Download

Embed Size (px)


  • An Integrated Virtual Environment forActive and Collaborative e-Learning

    in Theory of ComputationMohamed Hamada, Member, IEEE Computer Society

    AbstractActive and collaborative learning provides a powerful mechanism to enhance depth of learning, increase material retention,

    and get learners involved with the learning process instead of passively participate in it. In this paper, a research using Web-based

    active and collaborative learning in the theory of computation and related fields is presented. The twofold contribution of this work is a

    novel use of existing technology to improve learning and a longitudinal quasi-experimental evaluation of its use in context. As a first

    contribution, we introduce an integrated environment that is designed to meet the active learning preferences of computer engineering

    learners, in addition to a support for collaborative learning. For the second contribution, several classroom experiments are carried out.

    The analysis of the experiments outcomes and the students feedback show that our integrated environment is useful as a learning

    tool, in addition to enhancing learners motivation to seek more knowledge and information on their own.

    Index TermsComputer uses in education, collaborative learning, computer-assisted instructions, distance learning, theory of

    computation, automata.


    LEARNING science research indicates that engineeringstudents tend to have active and sensing learningpreferences, and engineering-related educators are recog-nizing the need for more active and collaborative learningpedagogy [30]. So far, several learning models have beendeveloped (e.g., [5], [11], [15], and [21]) for the realization ofthe learning preferences of learners. Among these models,that of Felder and Silverman [5] is simpler and easier toimplement through a Web-based quiz system, as in [26].The model classifies engineering learners into four axes:active versus reflective, sensing versus intuitive, visualversus verbal, and sequential versus global. Active learnersgain information through a learning-by-doing style, whilereflective learners gain information by thinking about it.Sensing learners tend to learn facts through their senses,while intuitive learners prefer discovering possibilities andrelationships. Visual learners prefer images, diagrams,tables, movies, and demos, while verbal learners preferwritten and spoken words. Sequential learners gain under-standing from details and logical sequential steps, whileglobal learners tend to learn a whole concept in large jumps.

    In [25], a study of this model was carried out to classifythe learning style axes of engineering learners. The studyshowed that engineering learners tend to have strongactive, sensing, visual, and sequential learning preferences.

    The concepts in the theory of computation course haveimportant use in designing and analyzing computational

    models of several hardware and software applications.These concepts are abstract in nature and hence used to betaught by a traditional lecture-driven style, which issuitable for learners with reflective preferences. Sincecomputer engineering learners tend to have strong activepreferences, a lecture-driven teaching style is less motivat-ing for them.

    Our integrated environment (IE) is designed to tacklethis issue and meet the active learning preferences forcomputer engineering learners. IE can be used as asupporting tool for active and collaborative learning notonly for the theory of computation course but also forseveral other courses such as automata and formallanguages, discrete mathematics, computational models,principles of programming languages, compiler design, andother related courses. Such courses cover a variety of topicsincluding finite state machines (FSM, automata), pushdownautomata, and Turing machines (TMs), in addition togrammars and languages. We cover such important topicsin our IE. The covered topics will be written in Java asapplets and then integrated into a single environment usingthe Java2D technology of Sun Microsystems [12]. Thisimplies that our environment is portable, machine inde-pendent, and Web-based enabled, which makes it a usefultool as an interactive and online collaborative learningenvironment.

    In designing our IE learning tools, we considered theactive construction learning model [8], [27] that has anumber of basic design principles, which include thefollowing:

    1. Teachers act as facilitators not as knowledgetransmitters. This means knowledge must be ac-tively constructed by learners, not passively trans-mitted by teachers.


    . The author is with the Language Processing Systems Laboratory, SoftwareDepartment, University of Aizu, Aizuwakamatsu, Fukushima 965-8580,Japan. E-mail:

    Manuscript received 6 Jan. 2008; revised 28 Apr. 2008; accepted 19 June 2008;published online 25 July 2008.For information on obtaining reprints of this article, please send e-mail, and reference IEEECS Log Number TLT-2008-01-0002.Digital Object Identifier no. 10.1109/TLT.2008.3.

    1939-1382/08/$25.00 2008 IEEE Published by the IEEE CS & ES

  • 2. To motivate learners and get them actively involvedin knowledge construction, learning activitiesshould focus around a set of motivating problemsand examples that has applications in real world.

    3. Learning should take place in a collaborativeenvironment.

    4. Assessment procedures should be embedded in thelearning process and should consider learnersindividual orientations.

    To show the effectiveness of our IE components as amodel of interactive online collaborative learning tools,several classroom experiments were carried out. Thepreliminary results of these experiments showed that usingour environment not only improved the learners perfor-mance but also improved their motivation to activelyparticipate in the learning process of the related subjectsand seek more knowledge on their own.

    Despite that we focus on the theory of computation andautomata topics, our research can be considered as a modelfor a wide range of topics in the undergraduate level.

    This paper is organized as follows: Following theIntroduction, Section 2 discusses some related work.Section 3 overviews the topics covered in our environment,including FSMs, visual machine examples, and TMs. InSection 4, we introduce our IE and all of its components.The learning theory and design behind the development ofthe environment will be discussed in Section 5. We also willdiscuss the possibility of the environment integration withlearning management systems (LMSs). The performanceevaluation of the environment will be presented in Section 6.Finally, we conclude this paper and discuss the results andpossible future extensions in Section 7.


    There are a number of FSM simulators, which have beendeveloped (e.g., [1], [2], [4], [10], [19], and [24]) to enhance thelearning of automata topics. Most of them suffer from one ormore flaws that make them less effective as a learning tool,particularly for less advanced students. For example, thetools PetC in [1] lack visual clarity and dynamic capability.When designing an automaton on PetC editor and try toconnect two states in both directions, labels on arrows cannotbe distinguished. This becomes visually terrible when theautomaton is getting bigger. Moreover zooming in/out toview large automata is not available and TMs are notincluded. JFLAP [24] is a comprehensive automata tool, butit requires skilled learners who already know the basics ofautomata to make full use of its rich operations. Theautomata tools in [19] are powerful but do not provide aconvenient mechanism for displaying and visually simulat-ing the FSMs. The ASSIST automata tools in [10] are difficultto setup and use. Almost all have been designed as tools foradvanced learners. These tools assume that the learners havealready grasped the fundamental concepts. They lack a clearworkflow of learning activities that can guide the newlearners how and where to start using the system. Thismakes it difficult for new students to navigate through thesystem. They are also dependent on advanced mathematicaland idiosyncratic user interactions. On the contrary, ourtools are designed with a clear workflow of learning

    activities, and hence, it is easy to use and easy to learnfor new users. In addition, it can be seen as a stand-alone andall-in-one IE. It also provides a unique feature for onlinecommunication among learners through the incorporation ofan integrated chatting tool. This unique feature is designedto support online collaboration among learners regardless oftheir location or platforms they are using.


    The topics that we will cover in the present version of ourenvironment are FSMs, applications, and TMs. Theseconcepts are the basics of a variety of courses includingtheory of computations, computational models, discretemathematics, automata and formal languages, program-ming languages, and compiler design. In this section, wewill give a brief overview of these topics. For a compre-hensive coverage of these topics, we refer to [34].

    3.1 Finite State Machines

    FSM or automata represent a mathematical model forseveral software and hardware applications. Informally, anFSM is a machine with a finite number of states and acontrol unit that can change the current machine state to anew state in response to an external effect (input).Depending on the way the machine controller responds tothe input, FSMs are classified into deterministic (DFA): ifthe controller can change from one state to another (one)state, nondeterministic (NFA): if it changes from one state toseveral states, and nondeterministic with empty move-NFA: if (in addition to NFA) it can also change statesin response to empty (no) input.

    The three models of FSMs, i.e., DFA, NFA, and -NFA,are equivalent. In other words, given any type of themachine, we can transform it into the other. By definition,we can see that DFA NFA -NFA, but we can trans-form -NFA to NFA and NFA to DFA (see Fig. 1).

    Regular expressions (REs) are important notations thatare not automaton-like but play an important role in thestudy of automata and their applications. REs can defineexactly the same class of languages that the various forms offinite automata can describe. However, REs offer somethingthat automata do not: a declarative way to express thestrings we want to accept.

    Just as finite automata are used to recognize patterns ofstrings, REs are used to generate patterns of strings. An REis an algebraic formula whose value is a pattern consistingof a set of strings, called the language of the expression. REsand FSMs have equivalent expressive power (see Fig. 1).


    Fig. 1. Transformation between FSMs and regular expressions.

  • While teaching these concepts in a traditional lecture-driven style, we noticed that inexperienced (novice)learners have difficulties to fully understand these basicconcepts, especially with more complex automata models.Moreover, learners became less motivated to activelyparticipate in the class. To deal with this issue, the FSMcomponent of our IE covers all these concepts in a visualand interactive way that is more suitable for engineeringstudents. Using the editor of the FSM component, learnerscan easily build, modify, and simulate a DFA, an NFA, or a-NFA. Then, they can interactively simulate the machinewith any desired input to learn how the machine behaves(in distinct steps or as a whole manner) in response to thatinput. After building the machine and simulating it with thedesired inputs, learners can now perform more complexoperations on the machine as easily as clicking a buttonwhile learning the underlying algorithms of the performedoperations. For example, minimization of a DFA can beperformed and visualized in a step-by-step manner toenable the learners to study the minimization algorithm andsee how it works on an example. Similarly, the transforma-tion from one type of finite automata to another type orbetween finite automata and REs (as shown in Fig. 1) areperformed with a click of a button and visualized in a waythat enables the learners to study the correspondingalgorithms in a sequential and visual way.

    3.2 Applications

    FSMs have several applications in both software andhardware. In software design, it can be used in a widerange of modeling from a simple text editor to a moresophisticated compiler. In computer gaming, it can be usedto model puzzles, tennis games, and many others. Inhardware design, it can be used to model the function of avariety of machines, for example, vending machines,elevators, video players, rice cookers, and so forth. Theseimportant daily life applications must be made clear andvisible for learners in order to attract their attention andincrease their motivation based on Kellers ARCS motiva-tion model [14]. To achieve this goal, we designed a set ofvisual FSM examples as separate components integratedinto our environment. In our IE, we added three suchexamples: a rice cooker, video player, and tennis gamesimulators. The first two examples show how FSMs can beused to model hardware devices that we use in everydaylife. The third example shows how an FSM can be used tomodel a popular game such as tennis. We also designedmore examples such as an elevator, vending machine, andman, wolf, goat, and cabbage puzzle, but these exampleshave not yet been integrated into our environment.

    3.3 Turing Machines

    TMs are the most powerful FSMs. They can simulate exactlywhat a digital computer can do. Informally, TM consists of afinite set of states and a controller that can read or writesymbols on an infinite length tape. Unlike DFA, NFA, and-NFA, a TM controller can move in both directions on thetape. The machine starts with an initial state, a finitenumber of input symbols written on the tape (all otherinfinite number of tape cells are blank), and the controller isset to the first input symbol from the left. According to the

    current state and the current scanned symbol on the inputtape, the controller takes the next move. It can overwrite thecurrent scanned symbol or leave it untouched, change thecurrent state, then move to either the left or the right, and soon. If no more moves are possible, then the machine halts. Insome cases, the machine may run forever and never halt.

    But, more interestingly, TMs can be used to computefunctions, exactly the same way that modern digitalcomputers can do. In this case, the function arguments arerepresented as sequences of 1s separated by 0s and arewritten on the machines tape. The function definition isrepresented as a set of rules suitable for the machinestransition function. Then, the machine works on that input.If it halts, the output symbols left on the tape represent thevalue of the function application on the arguments.

    As stated before, tra...