[kde-edu]: School-wide configuration: common solution?

Tim Holy holy at wustl.edu
Sun Feb 1 22:43:00 CET 2009


I'm one of the developers for TuxMath, one of the Tux4Kids suite of 
educational programs. Over the last year we've begun to think about some 
issues in making TuxMath more useful for schools. I've contacted you folks to 
see if you've faced/solved similar issues, or whether we might have some 
common interests that could involve shared development (say, for GSoC 2009).

Here's the background: TuxMath is an arcade game that helps kids practice math 
facts. Teachers are using it, and several have expressed interest in being 
able to configure, track, and otherwise administer classrooms of kids using the 
program. Here are some examples of some of the kinds of things we might want 
to support:
1. Managing "high scores" files by grade or classroom (we don't want 5th 
graders competing against 2nd graders)
2. Letting teachers set particular lesson files for kids to tackle that day
3. Letting teachers see how kids in their own classroom are doing on the 

Doing this in a sensible way requires a method for expressing relationships in 
a school, i.e., specifying the different grades, the different classrooms, and 
the kids within each classroom. I've set up an architecture for some of this 
within TuxMath, but having done that, I realize that no systems administrator 
will want to configure an entire school's worth of kids in 5 different ways for 
5 different open-source programs. So before I start thinking about building a 
GUI to administer this type of infrastructure in a more teacher-friendly way, 
it occurs me to approach other free software projects to see if there might be 
a common need for storing or managing information in a school- or classroom-
wide fashion.

The way I've set this up (for better or for worse) in TuxMath is to establish 
a directory hierarchy on the school server:
      Mrs. Smith/
         Kid A/
         Kid B/
         Kid C/
      Mr. Jones/
         Kid 1/
         Kid 2/
  1st grade/

Many schools seem to run without any individual student accounts (all students 
log in to a "Student" account without a password), so these directories serve 
as a mock home directory (no password) for the kids. In cases where the 
students do have real home directories, the lowest level could of course be 
symlinks (on Unix systems) to their real home directories. The advantage of 
this hierarchy is that it establishes a natural mechanism for expressing 
relationships among the different members of the school, and so programs can 
then find classroom-wide configurations, etc.

Clearly, there's no reason to have to set this kind of thing up many different 
times for many different programs (different programs can put their files in 
these directories), so I see a possible area of common interest.

Is this (or something better) of potential general interest to developers of 
other open-source educational software. Is there something out there already 
that does this in a general way?

If there is general interest in this, and it doesn't exist already, here are 
the components I envision:
1. A library (probably quite small) that helps individual games or other 
programs to access configuration settings, etc., from the school-wide 
configuration system.
2. A GUI administration program for assigning teachers and kids to classrooms, 
moving kids among classrooms, etc. Modeling on our current architecture, 
relationships are currently expressed as a directory hierarchy, so a lot of 
these administrative tasks simply involve setting up or moving directories; in 
other words, it's independent of the information that any particular program 

One constraint: at Tux4Kids we support Linux, Mac OSX, Windows, and BeOS, so 
everything would have to be designed to be portable.

If this is of potential interest, perhaps we could look into a project for 
GSoC (or just do it ourselves...).

Best wishes,

More information about the kde-edu mailing list