15 Millionen Euro für Software die nicht funktioniert
Wieder mal Spitze, was Heise da über die Software zur Vergabe von Studienplätzen schreibt.
Irgendwie sind wir Deutsche im Ganzen und überhaupt zu blöd, etwas so relativ profanes wie eine Hochschulanmeldung softwaretechnisch hinzukriegen. Und da kippen die Millionen, ach was, Milliarden zur Förderung der IT-Forschung hinaus, aber schon mit so einer einfachen Sache sind wir komplett überfordert.
Hängt natürlich auch damit zusammen, daß wir uns das Leben selbst schwer machen, in dem wir drei Föderalstufen kaskadieren: Die Länder im Bund, die Universitäten im Land, und die Fakultäten in der Universität. Da macht halt jeder was er will, keiner kann was er soll, man ist aus Prinzip anderer Meinung, und das Ergebnis ist gleich Null bei hohen Kosten.
7 Kommentare (RSS-Feed)
Die ZVS soll funktioniert haben? Wer hat Dir denn das erzählt?
Ich war damals naiv genug, als einzigen Studienort Karlsruhe anzugeben und hatte wegen Bundeswehr ein Jahr Wartezeit, die berücksichtigt werden muß. Trotzdem habe ich von der ZVS im Erstverfahren keinen Platz in Karlsruhe bekommen (und hatte mich als Ausweichmethode schon für Physik immatrikuliert, wo es ohne ZVS ging).
Gleichzeitig hat die ZVS aber schon in der ersten Zuteilungsrunde eine ganze Menge Leute nach Karlsruhe in Informatik gesteckt, die nicht nur direkt vom Abi ohne Wartezeit kamen, sondern die gar nicht nach Karlsruhe wollten und andere Orte angegeben hatten, und die dann bei nächster Gelegenheit wieder gegangen sind und die Uni gewechselt haben, während es noch Leute gab, die nach Karlsruhe wollten und gar keinen Platz bekommen haben.
Also zumindest ich halte sowas nicht für ein „funktionierendes” System.
TeX an sich (also der Kern) ist ja auch (nahezu) fehlerfrei – kann aber für sich genommen auch nichts Sinnvolles. Man muss die Anforderungen nur weit genug von der Realität abstrahieren, dann geht alles.
Ich glaube ja nicht, dass es hier nur um Softwaretechnik geht. Vermutlich müssen auch noch diverse schlecht dokumentierte Verwaltungsprozesse gestreamlined und integriert werden.
@karbau: Einspruch! Die ZVS war schon immer ein Instrument, um naive junge Schulabgänger dafür zu bestrafen, dass sie es wagen, studieren zu wollen. Nur ein Beispiel: Wir haben zu wenig Ärzte, die ZVS sorgte aber in der Vergangenheit stets dafür, dass angehende Medizinstudenten jahrelang irgendetwas anderes tun mussten, da sie in der Warteschlange verwaltet wurden. Entweder, man klagte sich an seinen Studienplatz, oder man gab auf. Ein “funktionierendes System” sieht anders aus.
Software zur Vergabe eines Studienplatzes funktioniert eigentlich ganz einfach: Ein Student, der die formalen Anforderungen an den Studienplatz erfüllt, wählt einen oder mehrere Studiengänge an verschiedenen Standorten und gibt an, mit welcher Priorität er welchen Platz gerne hätte.
Die Elemente der Menge der Studenten und die Elemente der Menge der Studiengänge sind Knoten eines bipartiten Graphen, die Wahl eines Studenten ist eine gerichtete Kante zwischen diesen Mengen, die Prioritäten das Gewicht der Kante. Das Problem der möglichst gerechten Studienplatzvergabe wird so zum maximal gewichteten bipartiten Matching auf diesem Graphen.
Natürlich muss man noch die Anzahl der zu vergebenden Plätze und einen evtl. Numerus Clausus sowie Wartezeiten, nicht angenommene Plätze etc. berücksichtigen, so dass es nicht ganz so primitiv ist, aber im Kern bleibt es bei oben gesagtem. Und dazu sollte schon jeder Informatik-Student, der die Grundvorlesungen zur Theoretischen Informatik gehört hat, einen Lösungsansatz entwickeln können.
Für 15 Millionen sollte also eine Firma mit jahrelanger Erfahrung ihrer Mitarbeiter mit etwas Sorgfalt eine ordentlich funktionierende Lösung liefern können…
@Mario P.: Ganz so einfach ist es nicht. Bzw. nur dann, wenn es dafür eine passende Lösung gibt, denn während ein Graph theoretisch jedem Knoten eine Kante zu jedem anderen Knoten zuläßt (bzw. im bipartiten Fall jeder Uni zu jedem Studenten) sind die Studienplätze pro Uni begrenzt.
Der erste Schritt wäre es also, nach einer Lösung zu suchen, die alle Wünsche erfüllt. Gibt es sie – gut. Gibt es sie nicht, wird’s haarig. Die Frage ist beispielsweise, ob man dann eher dem Studenten, der 3 Unis angibt, seinen Wunsch erfüllt, oder eher dem, der nur eine angibt.
Für den der 3 angibt, könnte man anführen, daß der flexibler ist und mehr an einer Lösung mitgewirkt hat, zudem es die größere Ungerechtigkeit wäre, wenn der schon bei zweien der drei Vorschläge kein Glück hatte.
Für den der 1 angibt, könnte man anführen, daß es dem offenbar wichtig ist, dahin zu kommen, während der andere anscheinend keinen großen Wert darauf legt, an einer bestimmten zu landen.
Nicht so ganz trivial. Da müssen dann nämlich Bewertungen, Prioriäten, Losverfahren mit rein.
Und Wartezeiten, Härtefälle, Verheiratete usw. müssen auch berücksichtigt werden.
Aber trotzdem nicht so schwierig, daß es unlösbar wäre. Ich halte das sogar für mit einem Greedy-Algorithmus lösbar. Jedem Studi eine Priorität nach Umständen einräumen. Und dann in Reihenfolge der Prio reihum wunschgemäß zuordnen, solange es möglich ist. Den Rest dann entweder losen oder die Leute anschreiben und ihnen mitteilen, was noch zu haben ist, um sie wählen zu lassen.
Ja, Hadmut! Deine Antwort enthält aber nur wenig, worauf ich nicht bereits hingewiesen hatte…
(1) Der Graph ist per defintionem bipartit, denn die Menge der Studenten und die Menge der Studienplätze sind disjunkt. Auch ein bipartiter Graph ist ein Graph.
(2) Die Kanten gehen in meinem Ansatz vom Studenten zum Studienplatz. Und nicht von “der Uni zum Studenten”. Auch ein gerichteter Graph ist ein Graph.
(3) Kann ich für jeden einzelnen Studienplatz einen eigenen Knoten vorsehen. Uni und Studiengang sind dann Daten des Knotens selbst bzw. kann man dafür eine dritte Menge von Knoten für die Studiengänge vorsehen, mit ungerichteten und ungewichteten Kanten zwischen Studienplätzen und Studiengängen.
Ich möchte mich bewusst nicht in den Feinheiten der Datenstruktur aufhalten, Fakt ist: Mit 1) bis 3) liefert ein maximales gewichtetes bipartites Matching auf dem gerichteten Graphen zwischen Student und Studienplätzen also durchaus gerechte und brauchbare Lösungen. Hier wird auch die “Flexibilität” des einzelnen Studenten belohnt, denn je mehr Alternativen er angibt, desto mehr Möglichkeiten gibt es für das Matching.
Als ich in Bonn studiert hatte, wurde eine ähnliche Lösung für die (vergleichweise etwas einfachere) Vergabe von Seminar- und Praktikumsplätzen im (stets überfüllten) Grundstudium verwendet. Das lief so einigermaßen problem- und beschwerdefrei. Ich und alle Kommilitonen aus meinem Umfeld haben so stets etwas bekommen, was sie in ihrer Wahl angegeben haben. Problemfälle, bei denen das nicht so war, konnten eigentlich auch immer schnell und unbürokratisch geklärt werden.
Natürlich ist die zentrale Vergabe von Studienplätzen eine höhere Liga – insbesondere wenn es um die Implementation geht. Nicht dass es hinterher ähnliche Probleme gibt, wie Du sie mit dem CCC und den Eintrittskarten hattest – das ist aber ein von der Datenstruktur unabhängiges Problem.
(4) Dass “Wartezeiten”, “Härtefälle”, und ein paar andere Dinge berücksichtigt werden müssen, habe ich erwähnt. Natürlich wird dadurch auch die Lösung und die Datenstruktur komplizierter.
Zur genauen Datenstruktur habe ich mich daher bewusst nicht geäußert – meine Kristallkugel ist leider beschlagen, muss am Wetter liegen. Ich habe geschrieben, die Reduktion auf ein Problem der Graphentheorie liefere einen möglichen “LösungsANSATZ” – nicht eine “fertige Lösung”…
Ob man es nun auf ein graphentheoretisches Problem abbildet oder einen anderen algorithmischen Ansatz (z.B. den von Dir erwähnten einfachen Greedy-Algorithmus) wählt, ist natürlich eine wichtige Frage. Die kann man aber erst klären, wenn man die genauen Rahmenbedingungen erörtert und das Juristengeschwafel im Pflichtenheft in für Informatiker/Programmierer verständlicher Sprache festgeschrieben hat – das geht wohl kaum in den Kommentaren eines Blogs.
Tatsache ist (und ich denke, hier sind wir uns einig) auf jeden Fall, dass jedes Lehrbuch zur Algorithmik jedem angehenden Mathematiker oder Informatiker oder Programmierer mehr als einen Ansatz für eine saubere Lösung (aus Datenstruktur und darauf operierenden Algorithmen) liefert – ob mit oder ohne Graph.
Es ist daher in der Tat verwunderlich ist, dass eine Firma, die sowohl studierte Informatiker als auch gelernte “Fachinformatiker” (vulgo: “Programmierer”) beschäftigt, keine funktionierende Lösung liefern kann. Ist aber bei der “AusweisApp” und anderen staatlichen Projekten wie der elektronischen Steuererklärung auch nicht anders, das sind auch nur halbgare und schlecht funktionierende Systeme…
@Hadmut:
1. Du solltest erwähnen, dass wir *exakt* für diesen Zweck ein funktionierendes System hatten, dass jahrzehnte (zumindest IT-mässig) ohne Probleme lief: die ZVS. Da gab’s meines Wissens nach nie IT-Pannen und selbst wenn, war die ZVS eine Größenordnung billiger.
2. das ist weniger das Problem von Unis und IT, sondern hier sieht man einmal mehr (insbes. in Verbindung mit Punkt 1), was (mittlerweile?) typisch ist für Deutschland: da werden riesige Volumenaufträge aus Steuermitteln vergeben, deren Ergebnis *nie* das hält, was beauftragt war. Es werden immer halb-staatliche, halb-monopolistische Konglomerate beautftragt, die dann die üblichen ‘well-connected’ Privat-Monopolisten unterbeauftragen.
3. Daher ist das nur ein weiteres Beispiel für die systematische Ausplünderung des gesellschaftlichen Wohlstands zu Gunsten derjenigen, die unsere Politiker bezahlen