![]()
|
Abstract |
|
![]() |
1. Introduction Computer simulations in an instructional context involve using the computer to model real-world phenomena in order to help students gain insights into the behavior of complex systems. Students interacting with an instructional simulation gain a better understanding of a real system, process or phenomenon by exploring concepts, testing hypotheses, and discovering explanations (Lunetta and Hofstein, 1991; Mellar and Bliss, 1993; Raghavan & Glaser, 1995). This interactivity provides opportunities for students to modify their mental models by comparing the outputs of the model with their expectations (Jackson et al., 1996), and to engage or motivate students to explore and couple actions with effects which will lead to understanding. Simulations can provide insight into the inner workings of a process – not just what happens, but also how and why. We all agree that the computer simulations are not a substitute for observation of and experimentation with real phenomena. Nevertheless, computer modeling with online simulations can add a valuable new dimension to scientific inquiry and understanding. Well-designed computer applications allow learners to use visual and kinesthetic resources to explore phenomena and to test theories so that they may eventually construct a web of connections between new information and information they already know. |
|
![]() |
Creating a simulation by oneself requires an extra effort. The starting point is a full understanding of the phenomenon being simulated. But beyond an understanding of the physical model the instructor needs the programming and technical expertise to describe the phenomenon in computer language. With Ejs, the task of creating a simulation is greatly simplified. That is, the majority of the programming work is done by automatic code generation based upon text-based instructions and menu/mouse selections from the instructor creating the simulation. Java source code is generated automatically and compiled into class files. In addition, a jar file and the associated html page can be produced to view the simulation within a browser. This automatic code generation allows the Ejs user to concentrate on describing the model by defining the parameters related to the model, providing an equation for the evolution of these parameters, setting the constraints between variables, and building a graphical representation. An additional advantage
of using Ejs is that it causes the instructor who is building the simulation
to think through the problem in a new way. Ejs is a media for making,
doing and creating. Construction, simulation, visualization, and analytic
description of the science model are linked during the creation process.
We have found that, by creating a simulation, many teachers get a new
perspective of the phenomenon they are trying to explain, which almost
always increases their enthusiasm about the use of this technology
with their students. |
![]() |
2. Description of the Tool What makes Ejs different from most other products is that Ejs is not designed to make life easier for professional programmers, but instead it was conceived by science teachers, for science teachers and students -- that is, for people who are more interested in the content of the simulation, the simulated phenomenon itself, and much less in the technical aspects needed to build the simulation program. Hence, Ejs provides a conceptual structure and simplified tools that allow designers to concentrate most of their time on the description of the model of the phenomenon they want to be simulated. The typical audience includes science students, teachers and researchers who have a basic knowledge of programming, but who cannot afford the big investment of time needed to create a complete graphical simulation. They may be able to describe the phenomena in their respective disciplines in terms of algorithms, but still need an extra effort to create a sophisticated, interactive graphical user interface. Most computer simulations of scientific phenomena can be described in terms of the model-control-view paradigm. This paradigm states that a simulation is composed of three parts: 1. The model, which describes the phenomenon under study in terms of
2. The control, which defines certain actions that a user can perform on the simulation. 3. The view, which shows a graphical representation of the different
states that the phenomenon can have. This representation can be done
in a realistic or schematic form. To further simplify the construction of a simulation, Ejs suppresses the control part, merging it half into the view, half into the model. Actually, modern computer programs are interactive, which means that the user can modify the program’s logic by doing some gestures (such as clicking or dragging the mouse, or hitting the keyboard) with the computer peripherals on the program’s interface (or view). Thus, the view itself can be used to control the simulation. On the other hand, if we want this interaction to have certain relevance within the program, these gestures on the interface need to trigger actions that affect the model’s variables. Therefore, the best place to define these actions is in the model itself. Creating a simulation in Ejs consists in defining its model and its view (i.e., the GUI or graphical user interface) and establishing the mutual connections needed for
This explicit separation in parts reinforces conceptually the central role of the model of a simulation. It is the model that defines what the program simulates and how. There may be different views for a given model. Teachers can create the same simulation with different GUIs for different tasks or different students. In addition to the Model and View, Ejs has one more component from which a simulation is built– the Introduction. For pedagogical or scientific purposes, it is always helpful to include a description of what a simulation does, including the instructions on how to operate it and other pertinent information. This information appears in the Introduction, which is used to generate the content of the html web page. Therefore, there are three major parts to the interface: Introduction, Model and View. Figure 1 shows an example of the Introduction for a Simple Harmonic Motion (SHM) simulation. Figure 2 shows the SHM simulation that is created with Ejs. |
|
![]() |
|
|
![]() |
1. Variables: As shown in Figure 3, all the variables for the simulation need to be predefined with specific data types (or dimensions for arrays). The initial value for the variables can be specified here or in the “initialization” section. Users can group the variables into several pages under different names. For example, the SHM simulation has two tabbed pages for the variables. The variables defined in the “coordinate” page are those that specify the boundary for the simulated region on the screen and the timing information in the simulation. The variables defined on the “particle” page are those that correspond to the position and velocity in the X-Y rectangular coordinate system, the mass for the simulated particle, and the spring constant for the SHM. 2. Initialization (optional): Different sets of initial conditions can be defined to simulate different cases for the same model (scientific phenomenon). Initial values for the array variables are usually initialized here. 3. Evolution: Figure 4 shows that the simulation will be created with 20 frames per second and that the “Mid Point” method is adopted for the numerical integration. The “Independent Variable” is t. When the user enters in the “State” column and in the “Rate” column,
Notice that the equation for simple harmonic motion is transformed into evolution conditions:
4. Constraints (optional): Optional constraints or relations between variables can be defined here. 5. Custom (optional): Custom
functions can be defined to be used in other sections in the Model or as a trigger action for the GUI in the View. |
|
![]() |
|
|
![]() |
|
|
![]() |
|
|
![]() |
Steps to describe phenomenon in science class
|
|
![]() |
|
|
![]() |
|
|
![]() |
|
![]() |
3. Future Work |
|
![]() |
4. Acknowledgement |
![]() |
![]() |
5. References 2. Jackson, S. L., Stratford, S. J., Krajcik, J., and Soloway, E., 1996, A learner-centered tool for students building models, Communications of the ACM, 39(4), 48-49. 3. Jonassen, D. H. (1996). Computers in the classroom: Mindtools for critical thinking. Englewood Cliffs, NJ: Prentice-Hall, Inc. 4. Lunetta, V., & Hofstein, A. (1991). Simulation and laboratory practical activity. In B. Woodnough (Ed.), Practical science, 125-150. Miltonkeynes, PA: Open University Press. 5. Mellar, H. G., & Bliss, J. (1993). Expressing the student's concepts versus exploring the teacher's: Issues in the design of mociroworlds for teaching. Journal of Educational Computing Research, 9(1), 89-112. 6. Raghavan, K., & Glaser, R. (1995). Model-based analysis and reasoning in science: The MARS curriculum. Science Education, 79(1), 37-61. 7. NTNU Virtual Physics Laboratory (2002) http://www.phy.ntnu.edu.tw/java/ (77 mirror sites) 8. Easy Java Simulations (2002): http://fem.um.es/Ejs/ and http://www.phy.ntnu.edu.tw/osejs/ 9. Open Source Physics Project : http://www.opensourcephysics.org/ |