: School-wide configuration: common solution?
Tim Holy <holy <at> wustl.edu>
2009-02-01 21:43:00 GMT
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
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-
The way I've set this up (for better or for worse) in TuxMath is to establish
a directory hierarchy on the school server:
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
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...).