robgroup / Logo / SEED's Farm microworld

SEED_Farm_20030413b.zip (Greek version)
SEED_Farm_English_20030610a.zip (English version)
Contains SEED Farm microworld for E-Slate IV and the microworld's Logo logic also in a separate .lgo file

Here's a list of all the Logo variables and routines defined in the microworld's logic and the Logo code of those routines


Links:

E-Slate website
SEED website
Educational Technology Lab, P.P.P. Department, School of Philosophy, University of Athens


Some info on the implementation of the microworld follows (there's more to come in the future on the educational aspects behind it)

Visual layout of Microworld

The visual layout of the various GUI elements on the screen is ordered from left to right. At the leftmost is the barn, where food is initially stored. To the right of it, there's a big feeding area where users (or the computer) can arrange the sheep in horizontal order and the food rations in a vertical row (approximately) above each sheep. Finally, at the rightmost of the screen, there exists a palette (toolbar) of available user actions.

User actions

The available user actions, are the following:

Microworld structure

The Farm microworld is implemented in E-Slate (http://e-slate.cti.gr), an environment for building and interacting with microworld documents made out of reusable software components (like Maps, Database tables, Text areas, Graphs etc.). Components can be wired together in various way to exchange data and use each others functionality, forming bigger logical interaction units. Scripting code can be attatched to events raised by the components (e.g. to react to the user pressing a Button component) and also scripting code can be entered by the user in a console component. E-Slate's IV version we've used supports scripting in both Logo and Java languages at the same time.

The barn and feeding area as well as the sheep and food rations are objects hosted in an instance of the "Scene" component that's placed at the left side of the microworld. The rest of the interaction elements (Buttons, TextFields, Labels, CheckBoxes and grouping Panels) are placed at the right of the Scene into the microworld area (as equal in rights components).

The Scene component (originally designed and implemented by one of the authors) is the only E-Slate IV component that can host scriptable inner objects, though newer (unfortunately not yet released in public) versions of E-Slate are said to now fully support component nesting/aggregation. It can host various scriptable geometric shapes that can be dragged arround in it and have their shape controlled via draggable control points. A geometric constraint system is also included. The Farm microworld makes use of the capability to replace the shape of a hosted object with a custom image in order to show an image for each sheep and each food ration. Users can change those images, they are plain GIF files placed in the same folder as the microworld's document file.

There's also a hidden Logo console component that contains all the logic of the microworld and runs the automatic feeding loop when the respective button gets pressed. When a button gets pressed, the Logo script that reacts to this event notified the hidden Logo console component to execute a certain procedure, e.g. does ASK "Logo [ LOGO.EXECUTE "addFood ] to notify the component named "Logo" to execute the Logo command "addFood" which adds a new food ration and arranges it into the barn.