1. Teachers act as facilitators not as knowledge transmitters. This means knowledge must be actively constructed by learners, not passively transmitted by teachers.
2. To motivate learners and get them actively involved in knowledge construction, learning activities should focus around a set of motivating problems and examples that has applications in real world.
3. Learning should take place in a collaborative environment.
4. Assessment procedures should be embedded in the learning process and should consider learners' individual orientations.
4.4.1 Tennis Game Tennis is one of the popular games worldwide. It is interesting to show to learners that a tennis game could be modeled by automata. It enables them to learn about automata while enjoy playing the game online. A typical tennis game can be represented by three finite automata: one for the points, one for the games, and one for the sets. Our tennis game simulator considers two players, A and B, who can be selected to play. It also allows autoplay where the players play randomly. The simulator displays the score as well as the underlying three automata. The first automaton is related directly to the points; when a player wins a point, a new state is created. The second automaton is related to the game; when a player wins a game, a new state is created. The third automaton is related to sets; when a player wins a set, a new state is created. Fig. 7 shows a snapshot of the tennis game simulator interface. The game is completed when a final state of the automaton, representing the game set, is created. The winner is the player who reaches this final state first. The simulator also integrates animation of the two virtual players and various sound effects to make the learning more fun and interesting.
4.4.2 Video Player The operations of a video player, a common and useful machine in our daily lives, can be modeled by an FSM. Video player operations such as play, pause, forward, fast forward, backward, fast backward, and stop can be represented by the finite automaton states. The video player simulator is designed to play a movie showing a wild cat in response to the change in the finite automaton states. The operations are represented by buttons labeled with real video player symbols. When the user pushes a button, the corresponding automaton state is highlighted and the appropriate screenshot takes place. Fig. 8 shows the video player simulator interface in which the operations of the video player are simulated and the corresponding finite automaton is displayed.
4.4.3 Rice Cooker Rice cooker operations can also be modeled by an FSM. Examples of the operations include cooking, reheating, and keeping warm. A timer is also considered in this model. The student can operate the rice cooker simulator by pressing the operations, and then the corresponding state of the underlying automaton is highlighted. Fig. 9 shows a snapshot of the rice cooker simulator interface. In the rice cooker automaton model, every state represents an operation, for example, the state labeled represents the waiting (initial) state, represents the keep warm (final state) operation, and represents the reheating operation. The input alphabet is represented by the symbols A, B, C, and D, where
1. "A" corresponds to heating and reheating operations,
2. "B" corresponds to the keep warm and cancel operations,
3. "C" corresponds to the timer, and
4. "D" corresponds to the finish operation.
In a real rice cooker, after we set the initial conditions, it completes the task and finishes automatically after a certain amount of time. The applet simulates such behavior; first, the user can set the initial conditions by pressing the buttons A, B, and C; then, the finish button D will take place automatically by the automaton after a certain amount of time. Thus, we do not need to explicitly add a button "D" to the simulator.
4.4.4 Self-Assessment A set of exercises with different levels is also integrated with the environment. There are various types of quizzes: some are multiple choice, some are fill in the blanks, and some test for TMs, finite automata, or REs. Learners can perform a pre-assessment, an in-assessment, or a post-assessment. The assessment interface is shown in Fig. 10. First, the learner must select an exercise (upper left corner in the window), and then a description of the test and the evaluation method will be shown in the main window. Learners can navigate among the quizzes by using the navigation buttons at the bottom of the main window. Learners can check the score at any time by clicking on the "score" button. While answering a quiz, learners can get hints or click on the introduction button on the top of the window to go to the introduction component and read more about the topics related to the quiz.
4.4.5 Support for Online Collaborative Learning Benefits of collaborative learning are clear at hand, among these benefits are
• developing higher level thinking skills in learners,
• increasing learners retention,
• building self-esteem in learners,
• enhancing learners' satisfaction with the learning experience, and
• promoting a positive attitude toward the subject matter.
To support online collaborative learning, the chatting component was integrated into the environment. Through this component, learners can communicate online, exchange questions and answers, and discuss ideas for solving exercises. To use this component, a Java server was installed on a Windows XP machine. The Java server requires the open source free software Apache [ 28] and Tomcat 5.5 [ 29] software. Fig. 11 shows a snapshot of the chatting component. The figure shows three online learners discussing the answer to questions from the exam components. Many learners used the chatting component effectively to solve assignments and to discuss new ideas.
• knowledge classification;
• granularity of learning unit;
• content sequencing and adaptive navigation through the instructional environment; and
• learning events as per the required learning outcome.
• The first general idea behind learning design is that people learn better when actively involved in doing something (i.e., are engaged in a learning activity).
• The second idea is that learning activities may be sequenced or otherwise structured carefully and deliberately in a learning workflow to promote more effective learning.
• The third idea is that it would be useful to be able to record "learning designs" for sharing and reuse in the future.
1. The "Topics" object, which is a set of URLs, contains a description of the course topics. Learners can navigate these topics in a sequential manner or by a selection of a specific topic from the table of contents.
2. A set of motivating examples reflecting the use of the topics in daily life activities such as using vending machines, elevators, video players, tennis game, rice cookers, and solving puzzles. Learners can play with a simulation of these activities and learn how they are related to the theory of computation topics.
3. A simulator of FSMs. FSMs are mathematical models for many software and hardware applications. The simulator object enables the learners to build their machine and test how it reacts in response to different inputs. It also enables learners to test the theoretical concepts they study in the "Topics" object.
4. A TM simulator. TMs are more powerful machines than FSMs. TMs can be considered as a theoretical model of modern digital computers. The TM simulator object enables the learners to build their machine and test it with different operations such as computing functions. This can deepen the learners understanding of the theoretical part of the course topics.
5. A set of tests for self-assessment. Tests go from easy and general to difficult and more specific. For self-assessment, learners can try tests at any stage of the learning process.
6. A chatting object as a support for collaborative learning. Two or more learners can chat together at any stage of the learning process to exchange opinions and ideas.
1. Learners are recommended to start using the environment by playing with the visual examples. This does not need any special knowledge or background of the topics. It also will attract the learners' attention to the relevance of the topics. Learners' attention and topic relevance are the basics of Keller's ARCS motivation model [ 14].
2. Taking the first simple (general) test. By answering the easy and general questions in this test, the learner will gain self-confidence, which is an important factor of learners' motivation in ARCS motivational model [ 14]. At this stage, learners are ready to start reading the theoretical concepts in the topics object.
3. Navigating the concepts in the topics object will give the learners the necessary theoretical background for the subject.
4. By now, learners are ready to use the FSM and the TM simulators. Switching between reading the topics and using the simulators is recommended. After reading a certain topic, the learner can switch to the simulator and try to build a model for that topic and test the model with different inputs. This can help in deepening the learners' knowledge and enhances the learning process.
5. During reading the topics and using the simulators, learners are recommended to try the corresponding test (in the test object) for self-assessment and to gain more confidence about their learning progress.
6. At any stage of the learning process, online learners can chat with each other through the chatting object. This enables learners to exchange ideas and help each other to understand the topics and answer the test questions in a collaborative way.
1. Planning the construction of the machine: how many states are needed, which input set is required, what is the set of outputs, and so forth.
2. Designing the machine: connecting the states and define the move function.
3. Test the machine with different inputs and check the corresponding output.
4. If the machine is NFA (nondeterministic), covert to a DFA (deterministic) machine.
5. Optimization/minimization: apply a minimization algorithm to get an optimized machine.
• The author is with the Language Processing Systems Laboratory, Software Department, University of Aizu, Aizuwakamatsu, Fukushima 965-8580, Japan. E-mail: firstname.lastname@example.org.
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 to: email@example.com, and reference IEEECS Log Number TLT-2008-01-0002.
Digital Object Identifier no. 10.1109/TLT.2008.3.
Mohamed Hamada received the BSc and MSc degrees (with honors) in pure mathematics and computer science from Ain Shams University, Cairo and the PhD degree in computer science from the University of Tsukuba, Japan. He is currently an assistant professor in the Language Processing Systems Laboratory, Software Department, University of Aizu, Aizuwakamatsu, Japan. His research interests are in advanced learning technologies, naturally inspired computations, and programming languages. He is a member of the IEEE Computer Society and the ACM.