FLOSS Manuals

 English |  Español |  Français |  Italiano |  Português |  Русский |  Shqip

Etoys Reference Manual Vol. II

Introduction

The first volume of this Etoys Reference Manual describes the features of Etoys considered as such. That it, it focuses on the morphs available in the Object Catalog and in various projects; the user interface for interacting with morphs; and the tile-based scripting system for programming with morphs, designed for use by elementary school children. This volume focuses on the interface between Etoys and Squeak, the version of Smalltalk in which Etoys is implemented. It describes the portions of the Squeak IDE (Integrated Development Environment) that can be accessed in Etoys, both in the restricted Etoys that comes up by default when Etoys is started, and the more extensive versions available by setting these preferences and a few others.

  • eToyFriendly off
  • DebugHaloHandle on

The Squeak IDE gives multiple views of the implementation of all of Squeak and Etoys. Those multiple views allow the learner to explore classes and their implementations and interrelations along multiple dimensions, and to find, learn from, and reuse code from many sources.

This volume also explains how the various morphs in Etoys are implemented and accessed in Squeak, describes preferences, goes deeper into scripting, and discusses the handling of various kinds of files, particularly sound, image, and video formats.

This is not a manual of Smalltalk or Squeak programming. It gives the bare minimum account of Squeak syntax and class structure necessary for understanding the rest of the manual. A full explanation of the language and environment, and of the various classes that define Etoys, is far beyond the scope of this manual. Some references are given in an appendix for those who wish to delve deeper.

From Etoys into Squeak: How

Etoys is by design the most comprehensive environment for teaching programming to schoolchildren and for developing powerful and effective software, including powerful ideas of Computer Science. Examples include visual representation of parse trees, concurrent programming, and Object-Oriented Programming (OOP). The design is due to Alan Kay's team at Xerox PARC (Palo Alto Research Center), which had as its design goal the Dynabook, a computer which could be given to each child, on which the child could learn every subject and store all of his or her work throughout school.

Kay has stated that an OLPC XO running Etoys is very nearly what he had in mind. Its only lacks in the initial implementation were sufficient storage to keep everything, and a complete suite of digital textbooks. Sufficient capacity will come by the inexorable working of Moore's Law, and the digital textbooks will come out of the Open Educational Resources (OER) movement. Bangladesh was the first country to publish a complete set of elementary and secondary OERs (with UNDP aid) as a set of static PDFs. Etoys will be one of several technologies for implementing fully interactive OERs. It turns out that a Dynabook-like computer, however implemented, is now much lower in cost than a set of printed textbooks of decent quality.

Etoys begins with activities accessible to preschoolers, such as painting, drag-and-drop control of objects, animation tools, and interactive games, models, and simulations. It then leads to tile-based scripting, which introduces powerful programming concepts without the need to memorize language keywords, without the possibility of syntax errors, and with a clear view of the tree structure of programs. It also has powerful tools, easily accessible to children, for multimedia programming and concurrent programming, both of which are otherwise treated as college or advanced secondary school subjects.

Having accomplished all of this, Etoys offers paths to much higher levels of programming tools, namely the Squeak IDE. Firstly, even in the eToyFriendly mode there are keyboard shortcuts for bringing up a few of the IDE tools such as the System Browser and a Workspace where Squeak code can be executed. From them all of the other IDE tools can be accessed. Secondly, there is a menu option in Script Editors to show the Squeak text of any tile-based script, and allow the user to edit the code. Thirdly, as noted above, the eToyFriendly preference can be turned off. This gives access to

  • More advanced menus
  • More advanced scripting tiles
  • More advanced objects in the Object Catalog
and much more. In addition, the Debug Menu handle in object halos can be turned on. This menu gives direct access to many IDE tools.

From Etoys into Squeak: Why

Much research demonstrates that children can learn text-based programming languages in third grade, and some research shows that they can learn parts of some languages as early as first grade. There are four well-established paths for doing this.

  • Let children play with simple games, and in third grade start to show them how to modify the code. Start by changing numeric parameters, and advance gradually to expressions and simple programs in the next two or three years. This has been done using LISP/Scheme, BASIC, Pascal, Python, APL, Smalltalk, and other languages.
  • Provide a Turtle Art environment to teach either tile-based or text-based programming by drawing pictures using commands to a graphical turtle. Examples are Logo, in which Turtle Art was first implemented with a pen-wielding robot; the Turtle Art activity in Sugar, which provides paths to Python and Logo programming, and also stack-based programming as in FORTH; and the Etoys implementation of Turtle Art.
  • Teach arithmetic using an appropriate programming language starting in first grade. This has mainly been done in APL, in which one can type 2+3, press return, and get 5. Smalltalk has a similar facility, in which one types 2+3, presses control-p or invokes the print it command from a menu, and gets 5. Other languages require extra syntax, such as a print statement.
  • Give children a rich graphical and multimedia environment based on Smalltalk to play with, then learn scripting using tiles, then learn text-based programming.

The process need not wait until children can read, write, and work with written numbers. Introducing them to certain computer activities has been demonstrated starting at the age of two, so that they can have several years of computer experience by the time they are introduced to programming.

Considerably more research is needed on teaching tile-based scripting in the earliest grades. We do not know much about how early we can start particular activities and topics, nor how far we can go at any particular age.

Etoys does not do absolutely everything one could wish for in a programming environment. LISP, Scheme, and Logo have simpler tools for working with nested lists. APL provides array arithmetic. Compiled languages interface more easily with existing libraries. However Etoys gives by a wide margin the most comprehensive set of IDE tools for teaching and learning programming, with the most comprehensive Computer Science base.

There has been error in communication with Booktype server. Not sure right now where is the problem.

You should refresh this page.