18/36  

Squeakland education project

Mentor: Randall Caton
Second mentor: Markus Gaelli
Level: Intermediate
Accepted student: Ricardo Moran
Invited students: Ricardo Moran
Students interested: Ricardo Moran(very), Nicolas Scarcella, Angelina Chekanova(lightly)

TECHNICAL DETAILS

This project will involve developing tools in the Etoys/Squeak environment to aid learners, teachers and developers.

1. Etoys Paint Tool

The painting tool is one of the most used features of Etoys. The current implementation would be improved in order to support features like zoom, multiple undo, and a select tool, among others.

2. Graphing of Data

Tiles for creating vertical and horizontal grid lines, major and minor tick marks, labels for axes, and a label for the graph would be created to allow students to graph data they acquire in science and mathematics projects.

3. Input/Output of Data From/To Files

Tiles would be created to allow data from the Etoys environment to be output to a file and for information from an external file to be imported into the Etoys environment.

4. Learner and Teacher Feedback

Tiles would be created to allow formative feedback to be provided to learners and teachers as a student progresses through a project.

5. Better Translation Support

The translation framework would be improved in order to allow different “.po” files instead of one big “Etoys.po” file.

6. Wider Font Support

Currently, Etoys has a set of cross-platform fonts to use. It would be desirable to enlarge this set in order to include nicer fonts. The problem is that loading lots of fonts would make the image too big. Code to address this problem already exists, but it needs to be tested and merged with current Etoys code.

7. EtoyMaker

This tool would let developers select a class name and choose the slots and commands they want for their Etoy. It would then compile all the necessary classes and methods to generate the Etoys tiles, etc. Developers will only need to implement the methods of their class, everything else will be generated automatically.

 

BENEFITS TO THE STUDENT

Exposure to Smalltalk programming and the problem solving involved in implementing the above tools in the Etoys environment would be valuable to the student's education. The description above is meant to be an outline, but the project would be somewhat open-ended so the student could use problem solving skills to modify, improve and enhance the ideas for the tool set as progress is made.

 

BENEFITS TO THE COMMUNITY

Learners and Teachers would benefit from more tools in Etoys to enhance their learning. Developers would benefit from having an automatic tool to help them contribute without getting bogged down in Etoys syntax.

1. Etoys Paint Tool

The paint tool is one of the most important features of Etoys. Most kids start using Etoys merely as a painting tool only to discover the great programming capabilities it has to offer later. However, the current implementation is old and it lacks a lot of important features. The improvements of Etoys paint tool would prevent the children from leaving Etoys in order to make a drawing for their projects or abandon Etoys because of frustration with drawing.

2. Graphing of Data

When learners are doing Etoys projects that involve acquiring data - either real or virtual - it would be valuable from an educational standpoint if they could stay within the same environment to plot the results of their investigation to better visualize their data. This would fit well with the visual aspect of Etoys.

3. Input/Output of Data From/To Files

This would allow learners to import data for visualization in the Etoys environment. Etoys is richer than most learning environments used in education and very creative things could be done in Etoys to visualize and use external data from a file. Learners and Teachers would also benefit from getting formative feedback on how the learner is progressing. Etoys is a rich environment of objects and data regarding the learner’s manipulation of these objects would be sent to an external file for educators to analyze at a later date. The feedback would be more sophisticated and useful than a simple list of keystrokes or monitoring of eye movements. Further, data could be retrieved from these files to present to the learner or teacher as formative feedback on the learner's progress.

4. Student and Teacher Feedback

Learners and Teachers would benefit from getting immediate, formative, embedded feedback. Teachers often have 20-30 students in their classroom and they don't have time to give each student very much individual attention. If teachers have immediate feedback on the screen regarding the progress of the student, it would help them decide which students need the most help. With feedback tools, educational developers who aren't Smalltalk programmers would be able to create lessons with valuable feedback for learners and teachers.

5. Better Translation Support

The improvements of the translation framework would permit separation of different phrases in different files (e.g. put all tile-translations into one file). This would help translators across the world do their job in a much more efficient and simple way.

6. Wider Font Support

The inclusion of nicer fonts would make Etoys much more appealing to end users and it would foster the creation of good looking artistic projects (which is one the coolest features Etoys has).

7. EtoyMaker

From a developer’s point of view, Etoys is full of obscure secrets. There is no obvious way of developing tiles for a given object and there is no good, available documentation (except for the code examples you can find in the image). If a new developer wants to contribute to Etoys he has to surpass this great barrier in order to achieve something useful. Apart from that, developing Etoys tiles is a methodical task that can be automated (and should be). Etoys developers would benefit from a tool that automatically generates all the necessary code. And it will also act as a live documentation of the process of developing Etoy objects.




Updated: 8.4.2010