August 21, 2008

FOSS for students

Author: W. Dean Freeman

Whether you're a high school student or just starting out with your college coursework, the free software community has provided a wide range of solutions to make life easier. Browsing the package repository of my Linux distribution led me to applications for everything from gene sequencing to particle physics, but there are a few real gems I think any student could benefit from, including math and chemistry tools such as TiLP, wxMaxima, Kalzium, Gnome Chemistry Utils, and Math.


Just about everyone has a Texas Instruments calculator -- I have many myself. One of the great things about TI calculators is the number of programs you can download to them via a PC connection -- applications from calculus to statistics to games. Unfortunately, the company has yet to release a Linux version of its TI Connect software; the product supports only Windows and Mac OS.

However, a free software solution is available. TiLP is a GTK+-based program
that supports all models of TI calculators and link cables and can be found in the Mathematics (Universe) repository for users of Ubuntu, LinuxMint and similar distributions.

TiLP's dependencies include a set of modules that enable access to supported devices, as well as instructions for setting the proper permissions for such access. How you invoke the program will depend on your calculator and link cable hardware arrangement. I use primarily a TI-89 and a SilverLink USB cable. TiLP requires you to pass the command-line options to specifying this -- for example, tilp --calc=ti89 --cable=SilverLink.

Once you've done that, the application pops up and allows you to manage the contents of your calculator, install and remove programs and variables, and update the OS. You can also use TiLP to perform a ROM dump in order to use TiEmu, a TI emulator application for the desktop.

I would like to see TiLP include a program editor at some point, but it performs its current functions admirably.


One of the TI-89 calculator's benefits is its integrated computer algebra system (CAS). However, even that has its limitations. Thankfully, several CAS software packages are available on Linux. One of the better ones is Maxima, particularly when paired with the graphical front end wxMaxima.
Thanks to its use of the wxWidgets toolkit, wxMaxima is cross-platform and is available on Windows and Mac OS X as well.

Maxima is powerful, and it can take a while to become an expert user. However, unlike the case with more advanced systems such as MatLab and Octave, beginners should have no trouble using Maxima for classes such as college algebra or calculus, thanks largely to a comprehensive online help system.

One Maxima quirk is that functions are defined using the := symbol, which some of you will no doubt remember as Pascal's assignment operator. In addition, % indicates the use of a constant -- for instance, %pi. Maxima is also touchy about implied multiplication of variables, which can take some getting used to if one is more familiar with, say,
a TI-89. Thus, a statement such as 16x+12x will get a response of "Incorrect syntax: X is not an infix operator."

A simple example of a function declaration would look as follows:

f(x) := ((3 * x^2) * %pi)/(2 * x+7)

wxMaxima will then display an output line, with that statement formatted in "pretty print" that is, more or less as it would appear on a blackboard or in a textbook. Then, if I enter f(14), it will return the answer, which is 84%pi/5, as shown in the screenshot.


One of the finest pieces of educational software available for Linux (and KDE-installed systems in particular) is Kalzium, a look at the periodic table of elements. Kalzium's authors have gone above and beyond what one might expect of a periodic table program.

Moving the mouse over any of the elements produces a tool tip, a photo of an element sample (if it can be photographed), and a larger information box on the left. Clicking on an element brings up another window, which displays information ranging from electronegativity to the date of the element's discovery.

Kalzium also includes a built-in chemical calculator, timeline feature, and state-of-matter window. Entering H2SO4 in the calculator will give the breakdown of 2 hydrogens, 1 sulfur and 4 oxygens, with a total molecular mass of 98.0785u. The time line feature indicates what elements where known at what point in time, starting from 1650. Moving the slider to the right reveals more elements. The state-of-matter window shows which state of matter (solid, liquid, or gas) each element is at a given temperature Kelvin, as well as what elements have boiling and melting points around that temperature.

Gnome Chemistry Utils

There are a number of fine chemistry tools for GNOME as well. They can be found as gcu-bin in your distribution's repository and include a periodic table of elements called Gperiodic and a chemical calculator tool.

Gnome Chemistry Utils also has a viewer called GChem3d for files compatible with OpenBabel. OpenBabel provides a framework for representing chemical data, including 3D models of molecules. There is also a 2-D drawing tool called GChemPaint, which is useful for creating diagrams of molecules and chemical compounds. Math

One more tool is Math, the suite's equation editor. The markup language is similar to LaTeX, the de facto standard for creating scientific and technical documents. Once you become proficient in ooMath, you can produce accurately marked-up equations for lab reports and papers.

You can do most everything in Math with the mouse, but it is sometimes easier to just type the markup once you get the hang of it. If you wanted to include, say, Newton's second law of motion as a vector differential, you would enter into the bottom half of the Math window widevec F_Net = {d (m widevec v)} over {d(t)}. Math would then display the graphic for it.

The Math package allows you to save equations in format, as well as in MathML, which browsers such as Firefox can render natively. You can also export them to PDF. However, you cannot save equations as a JPG or PNG files directly from the program.

Because Math is part of an office suite, you can use it from another application. For instance, in Writer, you can click Insert --> Object --> Formula to bring up the equation editor so you can insert an equation directly into your paper or lab report.


Long the platform of choice for programmers and those doing advanced scientific computing, GNU/Linux is also home to a plethora of free and open source solutions for students of many disciplines. Applications such as the ones above provide a solid basis for those starting out in math and the sciences, but by no means make up an exhaustive list of all that is available.


  • Science & Research
  • Education & Training
  • Desktop Software
Click Here!