Educational Software

From OLPC
Jump to navigation Jump to search


In the purest sense, LOGO is a programming language; it is a full-featured computer language derived from LISP, the language of artificial intelligence. More important, however, Logo is a language for learning. It is the right tool to teach the process of learning and thinking. LOGO provides an environment where students assume the role of teacher.

Dictionary software

synonyms, antonyms, definitions, English/Spanish (or other language) translations, pronunciation

There are lots of dictionary programs available, defined file formats, and dictionaries. One of the formats is SDICT which is used by various client programs including various types of mobile phone. Because they have already done the work to make a small compressed format we should leverage that and use their dictionary files. Alexey Semenoff has a page discussing the work of the sdictionary project.

Software to enable Participatory Simulations

Participatory Simulations
http://ccl.northwestern.edu/ps/ps.shtml


Squeak

Squeak is an open source version of the Smalltalk programming language / environment. It can be used by children at the eToys level to program graphically by assembling objects and scripts; ( http://squeakland.org/ ) . Logo type graphics, learning and applications can be done in eToys as well, including the programming of multiple turtles for simulating complex behavior. Squeak can also be used by developers to write professional programs. The image runs identically on Linux, MS and Apple OS's; there is a separate virtual machine for each OS.

Connectors are one of the built in features of Squeak. Connectors allow you to easily create concept maps, flow charts, etc. with boxes and connecting links.

Active essays can be developed in Squeak. These are similar to books where each page can contain simulations running in real time. Active essays combine a written essay, live simulations, and the programs that make them work in order to provide a deep explanation of a dynamic system. The reader works directly with multiple ways of representing the concepts under discussion. By “playing with” the simulations and code, the reader gets some hands-on experience with the topic.

Scratch is a scripting environment for children being developed at MIT which is built on top of Squeak; http://weblogs.media.mit.edu/llk/scratch/


3D Communication

Sketchup is a very powerful 3D modeling program that is very intuitive and easy to use. After watching me for only an hour, my little 6 year old sister was making some pretty cool looking houses with rooms, stairs and such with absolutely no help. This ability to communicate in 3D is a very useful skill. The creators of the product have shown a deep commitment to helping advance education, (E.G. software is free for students and educators), and might be interested in this project if someone contacted them.

But is there a Linux version? --Walter

It is closed software. Sketchup was bought by Google recently. It is unlikely (but not impossible) to have this software under a free license. -- Mathias Schindler 02:30, 4 April 2006 (EDT)
No Linux version, non-free, we will certainly not ship this. --Ivan Krstic

Concept Mapping Tools

Something like Inspiration/Kidspiration but with better networkability for collaborative editing. I like the concept of CMapTools, but its a a big java app.

View Your Mind
(http://www.insilmaril.de/vym/) is an open source Linux mindmapping program which runs in a small memory space.
Free Mind
(http://freemind.sourceforge.net/wiki/index.php/Main_Page) is another open source mind mapping program; it may have a larger memory footprint, however.

The Connectors package in Squeak allows easy creation of concept maps, flow charts, and directed graphs, with boxes and connecting links.


The "ready-to-test" concept

In February 2002 I wrote the following.

http://www.users.globalnet.co.uk/~ngo/ast02800.htm

This was one of a series of documents indexed at the following web page, though the others in the series are on different topics, so the above document is complete in itself.

http://www.users.globalnet.co.uk/~ngo/ast00000.htm

I do not know if the idea would be of any use to the laptop project but I am thinking that it might be, so I thought that I would post the idea here in the hope that it could be assessed by the experts.

William Overington

10 March 2006

Virtual Manipulatives (for math learning)

One argument for the design of virtual manipulatives has been saving money (physical manipulatives can be expensive, can be lost, can come in limited quantities). There is a library of virtual manipulatives available online http://nlvm.usu.edu/en/nav/vlibrary.html that provides a variety of activities and manipulatives for learning different math concepts.

(Shameless plug) I am also working on creating a new kind of virtual manipulative - one that attempts to build a bridge between artistic design efforts and mathematical learning. My desire to do this partially stems form the fact that I think some learners are more comfortable in either art or math, and that through this bridge they can step a little bit outside their comfort zones into the realm with which they are less comfortable (but still in a context they like). So, if you are very excited about art, you can try some math through your design activities, and if you like math but don't feel like you are very good at art, you can create some neat patterns that solve challenges posed from the mathematical perspective. I am interested in working with this laptop project.

I think that whatever (virtual) math manipulatives are available should be considered for this project. I would also like to see more of these virtual manipulatives developed for general use, but it seems like instances where money matters so much, this solution does not add any cost and would be useful.

K.K. Lamberty

5 April 2006

Please, let's not forget that the OLPC is for the delivery of content as well as applications. It is not a tech toy. I agree that physical objects that can be manipulated will make it easer to teach maths. But they don't need to be virtual. Include material to teach the children how to make manipulatives out of scrap wood or palm leaves. Include measuring tools so the kids can check their dimensions by holding the objects up to the screen. Integrate the construction of manipulatives into the learning process.

SCORM

SCORM is a well-developed global standard for distributing and reusing interactive content. The client installation for running SCORM packages appears to be large as it uses the Java runtime environment. However, the RELOAD Apache-Tomcat player has been packaged into a 90-MB live CD using PuppyLinux, and work is underway to see how SCORM can be run with less resources, such as with the 90-MB live CD acting as server and with smaller Java client environments such as Blackdown Java. This is one of volunteer projects at PuppyLinux. - Raffy of puppylinux.org, May 6, 2006

No can do; we will not shipping or supporting Java on the laptops. --Ivan Krstic

Java

Java will not be available on the laptops - idea for possible alternatives, one for short term use and one for long term use

I have noticed the comment about not shipping or supporting Java on the laptops in the section above and I seem to remember previously seeing somewhere that Java would not be used on the laptops because it was a proprietary product, even though, I seem to remember, there had been an offer of a free licence by Sun.

One key feature of Java is the portability of Java across platforms and such portability would be good for the future. So I am wondering whether the idea is the following document would be of interest.

[The Catalyst Processor project]

If such a system were implemented in ISO/IEC 10646 (to which Unicode is locked) then the possibilities of a portable object code could be achieved without the proprietary aspects of Java.

William Overington 16 May 2006


Are the objections to Java based SOLELY on its non-open status? If Sun follows through on its recent announcement that it will open source Java, will this decision be re-visited?

jeffa 17 May 2006


It's safe to say that the largest impediment is the lack of an open jre from Sun. Sun has been making noises about open sourcing Java under an acceptable license for years. We would need action, not rhetoric. And we're already building out software in Python so the longer that they wait, the less chance it will be worth it to use Java. A couple of months ago we sent an olive branch to Sun and they rejected it so the ball is in their court.

Christopher Blizzard 17 May 2006

Python

Python is free, open source, clear, object-oriented, many advantages. Code is very good readable, very short, huge libraries, cross platform, large and growing community. Easy to learn. Programmers find that they tend to write very stable code, which is easy to understand by others.

Python is much more structured and clear than Php. Php has been developed out of the needs of web designers and not with such focus on clarity and stability of the code.

There has been serious work done on teaching Python to young people, including the Livewires program in the UK


Is Python the preferred way for the application program in the page Application Program: Test of ability with arithmetic to be coded?

I am using a Windows 98 PC. I have found that Python is free. Which version should I try to download and install on this PC so that I could have a go at implementing the above application please? Or is it impossible to use on a Windows PC if the result is to be used on the laptop?

William Overington 18 May 2006 0622Z

William, go to http://www.activestate.com and download their package of Python for Windows. It is free and easy to install. Avoid using any Win32 features when you develop your application. For the GUI you will need to use PyGTK from here http://www.pcpm.ucl.ac.be/~gustin/win32_ports/pygtk.html

Ruby

I recommand the Ruby language which is a powerful object-oriented scripting language. Its syntax is so clean and terse that it is called "executable pseudo-code".

http://en.wikipedia.org/wiki/Ruby_language

Almost all the advantages of python are also valid for Ruby. Ruby is one of the fastest growing and at the same time very modern programming languages. Ruby seems even more advanced in its concepts.

Ruby is much more object-oriented than php or python, it is more strict in this. It has great language constructs that make many disadvanteges of strict object orientation go away. So you have pure object orientation without the disadvantages.

Programming in ruby is always described as being "more fun" than in many other languages.

There is also a very nice comic like introduction which children would maybe like: http://poignantguide.net/ruby/ (klick on the link open the book)


Don't teach the childern yesterday's concepts when such beautiful and creative tools are available for free.

Do you mean all those old Smalltalk concepts??
I mean let's try and find the best tools for children. Software and the human mind develop very fast. Children's concsiousness is maybe already ahead of those who want to teach them. Don't bore them. I put the sentence in the ruby section, but ruby is only an example.
How is Ruby anti-boredom??

Processing

I have searched many websites during the last hours. I believe children love quick results and graphical results. I find this one is worth having a look at it. It seems to be free and available for Linux: http://processing.org/

Although it looks complicated. Haven't tried it, just providing the link.

Nelements

Nelements is a generic 3d knowledge representation system that can be used to represent knowledge in a language of thought.


I believe children love quick results and graphical results.

This sound to me like #Logo. Anyway I don't think this should turn into a language-war. I guess the laptops could come bundled with language1 and language2 and language3 if they all fit in. But to be useful, the laptops need come be accompanied with something else. The language interpreter/compiler is, of course, not enough. What do we need to put in there to make the use of the language educational?