Easy Java Simulations An easy-to-use tool to create scientific simulations in Java Francisco Esquembre Universidad de Murcia. Spain Easy Java Simulations is part of the OpenSourcePhysics project
Why don’t Physics teachers (more frequently) use computer simulations in their lectures?
Computers help improve Physics Education... Computers have shown to improve the teaching and learning process (when used in a pedagogically sound way). They help us create learning environments that extend the possibilities of traditional teaching tools. But also offer brand-new possibilities: [1] Bring exciting, real-world based curricula into the classroom. Provide new tools to enhance teaching. Give students and teachers more opportunities for interaction. Build local and global communities. Expand opportunities for teacher learning. [1] Brandsford et al. “How People Learn”. National Academy Press (2000).
And computer simulations are among the best tools for it... Computer simulations can be open learning environments that allow students to: [2] Follow a process of hypothesis-making and idea-testing. Isolate and manipulate parameters. Employ a variety of representations. Investigate phenomena that would not be possible to experience in a classroom or laboratory. In sum, it helps us reach a deeper level of conceptual learning which helps uncover students difficulties of a more subtle nature. [2] Jimoyiannis, Komis. “Computer simulations in physics teaching and learning”. Comp. Educ. 36 (2001). 1. Develop their understanding about the phenomena and physical laws through a process of hypothesis-making and idea-testing. 2. Isolate and manipulate parameters and therefore help students to develop an understanding of the relationships between physical concepts, variables and phenomena 3. Employ a variety of representations (images, animations, graphs, numerical data) that are helpful in understanding the underlying concepts, relations and processes.
… to facilitate learning through engaging students in explorations that reflect real science: [3] [3] Lederman. “American Renaissance in Science Education”. FERMILAB-TM-2051 (1998). Thus achieving the list of recommended behaviors considered best-practices... Students do science (versus learn about science) Students engage in inquiry Students communicate Students collect, manipulate, and use data Students work collaboratively in groups Teachers use authentic assessment Teachers facilitate learning Teachers emphasize relations to real-life Teachers integrate science, technology and mathematics Teachers offer depth versus breadth Teachers build on prior understandings Teachers use a variety of materials for learning
...so, why aren’t computer simulations more frequently used in our classrooms? Resistance to change. Ignorance of the results of Physics Education Research. Resistance to accept solutions coming from other people. Reluctancy to use a technology they, the teachers, don’t fully understand or control. Existing simulations don’t quite fill the needs of the teacher or of her students.
A new set of tools is required. Tools that are open, reconfigurable, and multi-purposed. Addressing the following issues: [4] Lower the technical level required. Increase teacher’s abilities Make the software accessible in terms of size and effort. Allow a different focus on the curriculum. Allow an active interchange of experiences. [4] di Sessa, “Changing minds”. MIT Press (2000). Because there is a great potential of creative teachers that can contribute to make the use of computers in our classrooms more ubiquituous.
With all this in mind, we introduce Easy Java Simulations
Created by science teachers for science teachers and students. Allows users to create simulations using their knowledge of the scientific model. Takes care of all the computer-specific tasks. The result is an independent, high quality Java application or applet ready to be published in a Web server. Ejs can serve as an effective teaching and learning tool if used in an appropriate pedagogical setting. Easy Java Simulations. An easy-to-use tool to create scientific simulations in Java Concentrating on Science, not on the computer. Deliberately made easy to use. f.i., it can help implement some of the 12 cited best- practices
Has a very simple user interface. Structures the simulation into Model and View, to which it adds a first introductory part. Each part has a dedicated editor that helps the user build it. How Ejs works. The interface of Ejs.
Provides a WYSIWYG editor of HTML pages for the simulation. Each of the introduction pages will turn into a real HTML page when the simulation is generated. The set will include an HTML page for the simulation as a Java applet How Ejs works. The interface for the Introduction.
The interface for the model provides a left-to-right procedure to specify the model. The first subpanel allows the definition of the variables that describe the model. The user just needs to type a line for each of the variables. How Ejs works. The interface for the Model – Variables.
Additional pages of Java code can be written to initialize the model. The user needs to write valid Java code but only to express algorithms. The editor provides specialized help. How Ejs works. The interface for Model – Initialization.
The evolution can be specified with pages of plain Java code (as the initialization). Or with a dedicated ODE editor. The editor automatically generates the code for different solving algorithms. The editor supports arrays and events. How Ejs works. The interface for the Model – Evolution. The ODE shown corresponds to free-fall motion. Notice the controls to specify how quickly the simulation should run.
How Ejs works. The interface for the Model – Events. An event defines a condition on the state variables of an ODE. The system detects and finds the precise moment for the event and applies a corrective action. All this is automatically generated.
How Ejs works. The interface for the Model – Constraints. Constraints express additional relationship between variables. These relationships must be ensured also under user interaction. They are implemented using pages of Java code.
How Ejs works. The interface for the Model – Custom. Custom pages of Java code can be created to host extra methods (subroutines and functions) for our code. This code must be explicitly used by the user in the other parts. This completes the A-B-C description fo the model. Let’s revise it. With it, Ejs generates the code that deals with internal tasks such as multitasking. This completes the A-B-C description fo the model. Let’s revise it. With it, Ejs generates the code that deals with internal tasks such as multitasking. The basic structure is simple, though the model can be made as complex as needed.
How Ejs works. The interface for the View – Bulding it. Creating the view consist in building an apropriated tree-like structure of view elements. Each view element is like a building block specialized in a given visualization or input task. Elements are taken from the list of the right using a simple click- and-create procedure. The tree corresponds to the view displayed
How Ejs works. The interface for the View – Building it. Creating the view consist in building an apropriated tree-like structure of view elements. Each view element is like a building block specialized in a given visualization or input task. Elements are taken from the list of the right using a simple click- and-create procedure.
How Ejs works. The interface for the View - Properties. View elements can be customized editing their so- called properties. The property can be given a particular constant value, but can also be linked to a model variable. This establishes a two-way connection that turns the simulation into a real dynamic, interactive visualization.
View elements can be customized editing their so- called properties. The property can be given a particular constant value, but can also be linked to a model variable. This establishes a two-way connection that turns the simulation into a real dynamic, interactive visualization. How Ejs works. The interface for the View - Properties.
And that’s all there is! Clicking the “Run” button completes the trick. The simulation can be run as an independent application... How Ejs works. Running the simulation.
And that’s all there is! Clicking the “Run” button completes the trick. The simulation can be run as an independent application... Or as a Java applet, within a complete set of HTML pages... How Ejs works. Running the simulation.
And that’s all there is! Clicking the “Run” button completes the trick. The simulation can be run as an independent application... Or as a Java applet, within a complete set of HTML pages... Or within Ejs it self, which lets you see the secrets! How Ejs works. Running the simulation.
It’s time for some examples!examples Showcase of Ejs examples
Ejs helps teachers and students with not much knowledge of programming to create their own simulations. Teachers feel they control the lecture because they understand what the computer is doing Students are motivated because of the pleasure of the creation process Students are motivated by the possibility to publish their work (serious work) on the internet Ejs is a tool that helps students learn to ‘write’ on a computer Ejs can be used to create learning environments that use the recommended best practices. Why using Easy Java Simulations?