Hallo Ralf,
Am 27.07.2017 um 23:38 schrieb Ralf Mattes:
Am Donnerstag, 27. Juli 2017 23:26 CEST, "Stefan Ziegler" stefan.ziegler_zst@gmx.de schrieb:
Hallo Urs,
Hast du die Python-Programme lokal getestet? Kann man die Lernumgebung auf der Webseite lokal nachbauen, um dann mehr Rückmeldungen zu bekommen?
Bei solchen Online-Kursen geht das offt nicht. Die Test die verwendet werden um die Korrektheit der Antworten zu prüfen werden bewusst und aus gutem Grund nicht zur Verfügung gestellt. Sonst ist die Versuchung zu gross, das einzureichende Programm auf die erwarteten Ergebnisse hin zu "optimieren". Ich habe da nette Geschichten gehört von Programmen eingereichten Programmen die einfach das erwartete Ergebnis harcoded im Qellcode hatten und das zurückgaben.
LOL!
Andererseits scheint Optimierung auf erwartete Ergebnisse ja durchaus eine Tugend macher Programme zu sein - besonders in der Automobilindustrie ;-)
Stimmt ;-) Ich muss sagen, die Einschränkung, dass man weder die Eingabe noch die Ausgabe kennt, erscheint mir nicht ganz realistisch. In der Regel wird man ja beim Testen/Debuggen mindestens eins von beidem steuern oder beobachten können. (Was man weiß, sind die Rahmenbedingungen, also etwa: minimale/maximale Anzahl der Werte, Wertebereiche, garantierte Korrektheit u.Ä.)
Es macht nicht wirklich Spaß, stundenlang in einer Umgebung zu testen, wo man keine sinnvollen Rückmeldungen bekommt. Gerade bei Programmen für Anfänger und Einsteiger geht es doch nicht um Laufzeitoptimierung sondern um klare, einfache Struktur.
Nun ja, das ist wahrscheinlich weniger ein Problem der Effizenz sondern wahrscheinlich eher ein rekursiver Algorythmus der nicht terminiert.
Möglich. Mir scheint es aber ebensogut möglich, dass der Algorithmus einfach an bestimmten Randfällen oder Datenmengen scheitert, weil sich da erst das nicht optimale Laufzeitverhalten bemerkbar macht (siehe Beispiel aus der anderen Mail).
Natürlich sollte ein hinreichend guter Python-Programm-Begutachter fähig sein ein Programm zu schreiben das feststellt ob eine gegebene Lösung terminiert .... ;-)
@urs: nur her mit dem Code - ich kann ihn mir gerne mal ansehen.
Ich habe ein Repo und werde dir (und Tomas, der auch privat geantwortet hat) einen Account auf meinem privaten Gitlab-Server einrichten. Die derzeit offenen (also nicht erfolgreich eingereichten) Dateien und Fragen sind im Issue-Tracker verlinkt und erläutert. Jeweils ein Verzeichnis oberhalb der Python-Dateien befindet sich ein PDF mit den Aufgabenbeschreibungen.
Herzlichen Dank schon mal! Urs
Gruss RalfD