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.
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.
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
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.
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.