Included in Debian Edu / +Skolelinux is a large collection of end user and school specific +software. It is one of the packages not installed by default but +provided in the Debian archive for schools to install if they want to, +is a system to automatically plan the school time table using +information about available teachers, classes and rooms, combined with +the list of required courses and how many hours each topic should +receive. The software is + +named FET, and it provide a +graphical user interface to input the required information, save the +result in a fairly simple XML format, and generate time tables for +both teachers and students. It is available both for +Linux, MacOSX and +Windows.
+ +This is the +feature list, liftet from the project web site:
+ +-
+
+
- FET is free software, licensed under the GNU GPL v2 or later. + You can freely use, copy, modify and redistribute it + +
- Localized to en_US (US English, default), ar (Arabic), ca + (Catalan), da (Danish), de (German), el (Greek), es (Spanish), fa + (Persian), fr (French), gl (Galician), he (Hebrew), hu + (Hungarian), id (Indonesian), it (Italian), lt (Lithuanian), mk + (Macedonian), ms (Malay), nl (Dutch), pl (Polish), pt_BR + (Brazilian Portuguese), ro (Romanian), ru (Russian), si (Sinhala), + sk (Slovak), sr (Serbian), tr (Turkish), uk (Ukrainian), uz + (Uzbek) and vi (Vietnamese) (incompletely for some languages) + + +
- Fully automatic generation algorithm, allowing also + semi-automatic or manual allocation + +
- Platform independent implementation, allowing running on + GNU/Linux, Windows, Mac and any system that Qt supports + +
- Flexible modular XML format for the input file, allowing editing + with an XML editor or by hand (besides FET interface) + +
- Import/export from CSV format + +
- The resulted timetables are exported into HTML, XML and CSV + formats + +
- Flexible students structure, organized into sets: years, groups + and subgroups. FET allows overlapping years and groups and + non-overlapping subgroups. You can even define individual students + (as separate sets) + +
- Each constraint has a weight percentage, from 0.0% to 100.0% + (but some special constraints are allowed to have only 100% weight + percentage) + +
- Limits for the algorithm (all these limits can be increased on
+ demand, as a custom version, because this would require a bit more
+ memory):
+
-
+
- Maximum total number of hours (periods) per day: 60 +
- Maximum number of working days per week: 35 +
- Maximum total number of teachers: 6000 +
- Maximum total number of sets of students: 30000 +
- Maximum total number of subjects: 6000 +
- Virtually unlimited number of activity tags +
- Maximum number of activities: 30000 +
- Maximum number of rooms: 6000 +
- Maximum number of buildings: 6000 +
- Possibility of adding multiple teachers and + students sets for each activity. (it is possible + also to have no teachers or no students sets for an + activity) +
- Virtually unlimited number of time constraints +
- Virtually unlimited number of space constraints +
+
+ - A large and flexible palette of time constraints:
+
-
+
- Break periods +
- For teacher(s):
+
-
+
- Not available periods +
- Max/min days per week +
- Max gaps per day/week +
- Max hours daily/continuously +
- Min hours daily +
- Max hours daily/continuously with an activity tag + +
- Respect working in an hourly interval a max number of + days per week +
+ - For students (sets):
+
-
+
- Not available periods +
- Begins early (specify max allowed beginnings at second hour) +
- Max gaps per day/week +
- Max hours daily/continuously +
- Min hours daily +
- Max hours daily/continuously with an activity tag + +
- Respect working in an hourly interval a max number of + days per week +
+ - For an activity or a set of activities/subactivities:
+
-
+
- A single preferred starting time +
- A set of preferred starting times +
- A set of preferred time slots +
- Min/max days between them +
- End(s) students day +
- Same starting time/day/hour +
- Occupy max time slots from selection (a complex and + flexible constraint, useful in many situations) +
- Consecutive, ordered, grouped (for 2 or 3 (sub)activities) +
- Not overlapping +
- Max simultaneous in selected time slots +
- Min gaps between a set of (sub)activities +
+
+
+ - A large and flexible palette of space constraints:
+
-
+
- Room not available periods +
- For teacher(s):
+
-
+
- Home room(s) +
- Max building changes per day/week +
- Min gaps between building changes +
+
+ - For students (sets):
+
-
+
- Home room(s) +
- Max building changes per day/week +
- Min gaps between building changes +
+ - Preferred room(s):
+
-
+
- For a subject +
- For an activity tag +
- For a subject and an activity tag +
- Individually for a (sub)activity +
+
+ - For a set of activities:
+
-
+
- Occupy a maximum number of different rooms +
+
+
I have not used it myself, as I am not involved in time table +planning at a school, but it seem to work fine when I test it. If you +need to set up your schools time table, and is tired of doing it +manually, check it out. + +A quick summary on how to use it can be found in +a +blog post from MarvelSoft. If you find FET useful, please provide +a recipe for the Debian Edu project in the +Debian Edu HowTo +section.
+ +