Do others have ideas for good educational programs to be included with Raspberry Pi?
Here are two I think are indispensable:
and GAViewer http://www.geometricalgebra.net/gaviewer_download.html
Frink is a full-featured programming language for physical computations which runs on the JVM and has both a terminal-like interface as well as a standard program editor. It's what I use more than anything else for short programs and computations. It has virtually replaced the desk calculator and spreadsheet for me.
From Alan Eliasen's site:For those with a short attention span like me, here are some of the features of Frink:
Tracks units of measure (feet, meters, tons, dollars, watts, etc.) through all calculations and allows you to add, subtract, multiply, and divide them effortlessly, and makes sure the answer comes out correct, even if you mix units like gallons and liters.
Arbitrary-precision math, including huge integers and floating-point numbers, rational numbers (that is, fractions like 1/3 are kept without loss of precision,) complex numbers, and intervals.
Advanced mathematical functions including trigonometric functions (even for complex numbers,) factoring and primality testing, and base conversions.
Unit Conversion between thousands of unit types with a huge built-in data file.
Date/time math (add offsets to dates, find out intervals between times,) timezone conversions, and user-modifiable date formats.
Translates between several human languages, including English, French, German, Spanish, Portuguese, Dutch, Korean, Japanese, Russian, Chinese, Swedish, and Arabic.
Calculates historical buying power of the U.S. dollar and British pound.
Calculates exchange rates between most of the world's currencies.
Powerful Perl-like regular expression capabilities and text processing.
Supports Unicode throughout, allowing processing of almost all of the world's languages.
Supports Interval Arithmetic (also known as Interval Computations) in calculations, allowing you to automagically calculate error bounds and uncertainties in all of your calculations.
Reads HTTP and FTP-based URLs as easily as reading local files, allowing fetching of live web-based data.
Runs on most major operating systems (anything with Java 1.1 or later,) as an applet, through a web-based interface, on a wireless Palm VII, on an HDML- or WML-based webphone, and on many mobile phones and hand-held devices.
Installs itself on your system in seconds using Java Web Start and automatically keeps itself updated when new versions of Frink are released.
Runs with a Graphical User Interface (Swing, AWT, and Android) or a command-line interface.
User interface has a Programming Mode which allows you to write, edit, save, and run extremely powerful programs even on a handheld device.
Frink has a simple but powerful system for drawing graphics which are resizable, support transparency and anti-aliasing, and can be printed or written to image files.
Graphics can also have exact lengths, so that a 3-centimeter line is three centimeters long when printed.
Powers Frink Server Pages, a system for providing dynamic web pages powered by Frink.
Frink is a full-fledged programming language with arrays, dictionaries, sets, functions, loops, even object-oriented programming and self-evaluation.
Frink allows Object-Oriented Programming, which allows you to create complex data structures that are still easy to use.
Java Introspection layer allows you to call any Java code from within Frink.
Frink can also be embedded in a Java program, giving your Java programs all the power of Frink.
Did I mention it's free?
Unfortunately, it is not open source, but it is both mature and under constant development (multiple updates per week, on average).
Another great program for education is GAViewer. It is open source, and Linux editions are are available. It is usable and fun even for late elementary-school students. It is a graphical calculator for Geometric Algebra (GA), which is the most powerful and adaptable sort of math for physical applications. It is a mathematical lingua franca that unites all of the dialects of maths for physics and graphics. It unites and replaces vectors, quaternions, differential forms, complex analysis, many linear algebra and tensor applications, and homogenous and conformal systems. It fosters physical intuition and visual learning and can be used at different levels by students from middle school to post-graduate work. It is powerful and concise: for instance, it condenses the full, relativistic form of Maxwell's equations into just 4 symbols. It also works well in every other area of physics, including quantum mechanics.
Some GA connections:
Professor David Hestines of the U. of Arizona originated GA as it is today (an adaptation of Grassman and real-valued Clifford Algebras). The American Association of Physics Teachers awarded him the Oersted Medal in 2002 for this work.
The other developer of Elite, Ian G.C. Bell, has written a free book on Geometric Algebra: "Maths for (Games) Programmers" http://www.iancgbell.clara.net.....ths/online (but the encoding of the HTML math requires using something like Netscape 4.79).
The primary research group in GA was at Cambridge University, but their output has fallen since they all formed a company a few years ago, Geomerics, which produces real-time radiosity lighting applications for the games industry, dramatically improving the appearance of many games such as Elite's descendant, Eve Online .
Professor Leo Dorst of the U. of Amsterdam, who co-wrote not only GAViewer, but also the best textbook in the field: Geometric Algebra For Computer Science, An Object Oriented Approach to Geometry and heads the most productive current research group in GA, was the co-winner of the New York Intellectual Property Law Association's 2005 prize for work which combined GA with wave mechanics to produce robot-path planning and dynamic collision-avoidance software which is so efficient that it can deal with robots of many degrees of freedom in real-time while using just the power available in embedded processors such as the ARM.
has links to both the GAViewer program and the associated tutorials.