Hallo!
Ersteinmal möchte ich sagen, dass ich kein Lehrer bin, sondern Schüler in der 10. Klasse. Zwar habe ich bis zu meiner Facharbeit noch einiges an Zeit, allerdings suche ich trotzdem schon nach einer geeigneten Idee. Da ich mich sehr stark für Informatik interessiere, würde ich sehr gerne dort meine Facharbeit schreiben. Hier hatte ich die Idee, ein Programm zu schreiben, welches automatisch einen Kursplan für die Stufe berechnet. Allerdings weiß ich nicht, was für Programme bereits genutzt werden, und welche zwar genutzt werden, aber nicht gut bzw nicht gut genug funktionieren. Ich weiß, dass für NRW die Programme der Schulverwaltung NRW existieren, allerdings habe ich von einigen Lehrern gehört, dass diese bei der Erstellung eines Kursplanes oft sehr viele Fehler machen (zu große/kleine Kurse, merkwürdige Zeiten, usw...) Stimmt das?
Danke für eure Antworten!
-
-
Was meinst du mit Kursplan? Redest du vom Stundenplan? Den kann man ja nicht isoliert für eine Stufe betrachten aber bei der Verteilung von Schülern auf Kurse sind ja die Zeiten irrelevant. Ich bin verwirrt.
-
Wenn tatsächlich (auch) die Verteilung der Kurse im Stundenplan gemeint ist: Das ist kein Thema für eine Facharbeit.
Irgendwo im Netz fand sich mal eine Doktorarbeit zum Thema Software für die Stundenplanerstellung. Das ist eine äußerst komplexe Aufgabe, da die verschiedensten Bedingungen miteinander verknüpft werden müssen und dafür "unendlich" (oder knapp darunter) viele Kombinationsmöglichkeiten ausprobiert werden. Zum Schluss liefert so ein Programm dann (hoffentlich) mehrere passende Versionen, aus denen der Mensch dann die beste Version auswählen und "per Hand" optimieren kann. -
Du weißt, was ein NP-vollständiges Problem ist?
-
Ich glaube, dass der Schüler das Kursplanungsmodul meint, in NRW vermutlich Kurs42.
Man kann Kurse auch mit der Stundeplan Software UNTIS setzten.
Falls der Schüler hier noch mitliest: Auch wenn es "nur" um die Kursplanung geht, ist das Thema viel zu komplex um von einer einzigen Person im Rahmen einer Facharbeit programmiert zu werden. Selbst wenn du schon ein wirklich guter Programmierer bist.
-
ACHTUNG! AN DIE MODERTOREN (und ifs123nrw): Ich verstöße mit den folgenden Zeilen evtl. teilweise gegen die Nutzungsbedingung. Bitte ggf. den Beitrag löschen. Ich hoffe, dass ich durch den Beitrag nicht rausgeworfen werde.
Ja, das meint vermutlich der Schüler.
Selbst Programmieren ist nicht so einfach.
Evtl. reicht auch einfach ein Vergleich existierender Programme. Das (also nur der Vergleich) habe ich sogar schon mehrfach als Bachelor und Masterarbeit von Informatikstudenten gelesen.Die 2 oben genannten Programme sind in NRW woh deultich am bekanntesten. Kurs42 kannst du auch kostenlos laden und ausprobieren. An Units wirst du so leider nicht einfach so rankommen. Im NRW Forum findest du aber noch mindestens 3 weitere Programme. Eins davon ist sogar quelltextoffen.
Guck mal hier und frag dich dort mal am besten weiter durch:
https://schulverwaltungsinfos.…4b0f97676dde7dfd134f1e9e1 -
Untis kann man auf der Herstellerseite als Testversion herunterladen und ohne Lizenz installieren.
Mir fällt noch Indiware ein.Bei Curly (ehemals DMOZ) müsste es eine Kategorie mit Links zu mehr oder weniger bekannten Programmen geben.
-
ah.. DMOZ und Curly kannte ich gar nicht. Dort sind die "typischen Vertreter", die sonst auch fast überall anders zu finden sind wenn man google oder Wikipedia bemüht. Das doofe an den Listen ist, dass sie nicht zwischen Stundenplanung, Kursplanung, Raumplanung, Examensplanung, Klausurplanung ... unterscheiden. Das sind z.T. komplett andere Problemstellungen und die Programme haben sich oft auf einen dieser Teile spezialisiert. Die Listen unterschieden auch nicht zwischen stark beschränkten Testversionen und unbeschränkten (im extremfall sogar quelloffenen) Programmen.
Stimmt, die Untis-Version kann man als Demo bekommen, ist aber a) extrem eingeschränkt (und wäre somit für einen praktischen Vergleich gar nicht nutzbar (es sei denn, man will nur die Oberflächen vergleichen). bzw. b) nicht quelloffen (und damit könnte er nicht gucken, wie man das programmiert).
Mein oben genannter Link hat den Vorteil, dass die 5 Programme genau das Problemfeld des Fragestellers bearbeiten, alle 5 Programme die gleiche Dateien öffnen können und ein Programm davon sogar quelloffen ist.
Von den in Curl genannten Programmen ist für die Kursplanung meines Wissens nach ansonsten nur noch Unitime quelloffen. Das hat aber ein eigenens Datenformat und es gibt meines Wissens nach keine gemeinsame Schnittstelle. Da sprengt das Testen aber deutlich den Rahmen eines 10-Klässlers.
Evtl. wäre auch ein "Konverter" zwischen Kurs42/Units/(dem Programm eurer Schule) und Unitime eine schöne Aufgabe. Das dürfte wesentlich einfacher sein. Soll dein Lehrer doch einfach aus seinem Kursprogramm ein paar Pseudo-Beispiel-Daten exportieren und du konvertiertst es nach Unitime.Nachtrag:
Also die Curly List ist da auch in anderen Punkten "doof". Da wird z.B. die Lantiv Stundenplang mit "free" (kostenlos) beworben; richtig ist aber "fee" (mit Gebühr/Preis). -
Du weißt, was ein NP-vollständiges Problem ist?
Was ist ein "NP-vollständiges Problem"?
-
NP? siehe https://de.wikipedia.org/wiki/NP_(Komplexit%C3%A4tsklasse)
In Kurzformat vereinfacht gesagt: Eine Aufgabe, deren (vollständige) Lösung mal eben mehrere Millionen Jahre dauern kann.
-
Was ist ein "NP-vollständiges Problem"?
https://de.wikipedia.org/wiki/NP-Vollst%C3%A4ndigkeit
Kurz: Etwas, das man zwar im Prinzip mit einem Algorithmus lösen kann, dessen Laufzeit aber so stark steigt, dass bei relevant großen Eingaben, niemand mehr die Berechnung miterlebt. Das Programm bräuchte noch länger als Deep Thought. Dazu gehören solche Sachen, wie einen Stundenplan zu organisieren, wenn man nicht sehr starke Einschränkungen machen will. Diese Einschränkungen führen dann dazu, dass die existierenden Programme immer genau das nicht können, was man gerne noch hätte, bzw. dass sie so unbefriedigende Ergebnisse liefern, die der manuellen Nachbearbeitung bedürfen.
-
Was ist ein "NP-vollständiges Problem"?
Das war vielleicht ein bisschen geblendet, aber ja, Stundenplanung ist ein solches Problem. Das sind Arten von Aufgaben, deren Schwierigkeitsgrad erstens sehr schnell steigt: Ein paar Stunden lassen sich schnell verplanen (gar keine Millionen Jahre), ein paar Stunden mehr erfordern schon mehr Aufwand, und mit jeder weiteren Stunde steigt die Schwierigkeit - bis man sehr viel rascher bei der Million Jahre Lösungszeit ist als bei anderen Aufgaben, etwas dem Sortieren.
Außerdem sind sich alle NP-vollständigen Aufgaben ähnlich. Das heißt, wenn man für eine davon doch noch eine überraschende Abkürzung finden würde (und es ist nicht bewiesen, dass es keine Abkürzung gibt), dann ließe sich die auf alle anderen NP-vollständigen Aufgaben übertragen.
Drittens kann man bei NP-vollständigen Aufgaben, *wenn* man denn erst einmal einen Lösungsvorschlag hat, relativ schnell überprüfen, ob es wirklich eine Lösung ist.Das ist anders bei anderen Aufgaben, die noch schneller noch schwieriger werden. Aber alle Rechenaufgaben, denen man in der Praxis begegnet, dürften NP-vollständig oder noch leichter sein. Ich habe hier nicht nach NP-Vollständigkeit und NP-Äquivalenz unterschieden, eigentlich müsste man sauberer formulieren, aber das war schon beim Ausgangspunkt so.
-
Was ist ein "NP-vollständiges Problem"?
NP-vollständige Probleme sind Probleme, die algorithmisch (durch Computerprogramme) bisher nur für sehr kleine, triviale Problemgrößen innerhalb akzeptabler Laufzeit optimal gelöst werden können.
Sie zeichnen sich dadurch aus, dass sie, obwohl oftmals sehr praktischer, alltäglicher Natur, alle in polynomialer Laufzeit innereinander überführt werden können. Wenn irgendjemand mal einen optimalen Lösungsalgorithmus für irgendein NP-Problem finden sollte, der auch noch in polynomialer Zeit entscheidet, werden alle NP-Probleme polynomial lösbar und demjenigen ist der Nobelpreis sicher.
Kurz gesagt wächst die Lösungsmenge NP-vollständiger Probleme exponential zur Problemgröße und die einzigen Algorithmen, die sie optimal lösen können, gehen über triviales brute-search (Auflisten aller möglichen Lösungen und vergleichen) nicht hinaus.
Das ganze wird anders, wenn man bereit ist, auf optimale Lösungen zu verzichten und sich beispielsweise mit schlechteren Lösungen zufriedengibt, die aber immer noch sehr gut sein können (in enger Relation zur optimalen Lösung stehen). Für TSP gibt es so einen Algorithmus in polynomialer Laufzeit, der nicht schlechter ist als die doppelte optimale Lösung.
-
Jetzt verstehe ich, was gemeint ist. Danke für die Antworten!
Werbung