Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Erfahrungen mit dem Projekt “Zeitplanung”
Hallo
ich will nächstes Semester eventuell “Zeitplanung” belegen und wollte mal wissen, ob jemand das Projekt schon mal gemacht hat und Erfahrungen hat wie’s ist.
Von den Themen her klingt das Projekt recht interessant/machbar, allerdings würde ich vorher gern Erfahrungswerte von anderen Studenten einholen.
Ist dieses Projekt empfehlenswert bzw. kann bitte jemand Feedback über Inhalt und Dozenten geben?
Bis jetzt hatte ich noch keine Veranstaltung bei Wilke, daher kann ich den Dozenten auch nicht so richtig einschätzen.
Vielen Dank schonmal!
bump
Würde mich auch interessieren, da nirgends Informationen über die Veranstaltung zu finden sind.
bump
Kann jemand was berichten?
Ich habe das Projekt vor einigen Semestern besucht und war alles andere als begeistert. Die Liste der negativen Kritiken meinerseits ist nahezu endlos.
- Programmiersprache: Java
- Versionsverwaltung: SVN
Java kann man mögen oder aber auch nicht. Das weiterhin auf SVN gesetzt wird, weil der LS es nicht für notwendig befindet die Daten in Git zu migrieren, halte ich hingegen für nervtötend. Klar verwenden Unternehmen noch SVN, allerdings gibt es genügend Anleitungen für einen Wechsel hin zu Git. Zwar lässt sich lokal das meiste mit git-svn richten, trotzdem fehlen eine Menge wichtiger Git-Features, insbesondere dann wenn andere Teilnehmer (oder man selbst) achtlos die eigenen Arbeiten überschreiben oder anderweitig Unfug betreiben.
Die Versionsverwaltung wurde von den meisten via Eclipse-Plugin vorgenommen, wobei niemand so wirklich wusste wie es funktioniert oder zu faul war Commit-Nachrichten zu verfassen. Ach und eine build.xml gab es vor meinem Flehen auch nicht. Anscheinend waren sämtliche Teilnehmer vor mir IDE-Liebhaber.
Worum geht es in dem Projekt?
Vor einigen Semestern wurde ein Optimierungsproblem betrachtet, bei dem Krankenschwestern unter zuvor definierten Bedingungen auf unterschiedliche Schichten verteilt werden sollten. An sich ein interessantes Thema. Die Umsetzung hingegen nicht. Was jetzt behandelt wird kann ich nicht beantworten.
Was ist schlecht an dem Projekt?
Das Projekt ist über viele Semester und verschiedenste Module gewachsen und wurde nie vernünftig gewartet. Die Klassenzusammenhänge sind meines Erachtens nicht überall durchdacht. Auch bin ich mir sicher, dass die Verwendung von Generics an vielen Stellen Code vereinfacht hätte. Die Dokumentation ist nahezu nicht vorhanden. Zwar gibt es für die Basisklassen Javadoc, allerdings hilft einem dies kaum weiter, da die Philosophie “Vererbung des Todes” angestrebt wird, wobei wenn überhaupt die Javadoc der Eltern-Klasse übernommen wird, ohne diese dabei anzupassen. Das sorgt dafür, dass im besten Fall 80% der aufgewendeten Zeit dafür drauf geht sich durch die Klassendokumentationen zu klicken und der Algorithmus im Kopf schon längst runtergetippt ist.
Warum ist die Bewertung des Projekts schlecht?
Die Bewertung wird in meinen Augen sehr unglückich vorgenommen. Die Bewertungskriterien sind (je 0 bis 2 Punkte):
- Vortrag der eigenen wöchentlichen Ergebnisse
- Code-Ausarbeitung
- interaktive Beteiligung an den Ergebnis-Vorstellungen der anderen
- Führen eines Labortagebuchs
Gewählt werden aus 14 Wochen die 10 Wochen mit der höchsten Bewertung. Einige der von mir negativ aufgefassten Punkte lassen sich teilweise mit “im Berufsleben ist das ähnlich” begründen, finde ich aber unpassend. Dieses Bewertungsschema ist meiner Meinung alles andere als geeignet, weil:
- Hat man in der einen Woche weniger Zeit und programmiert man dafür in der nächsten Woche mehr, so ist man benachteiligt gegenüber dem Szenario der selben programmierten Menge, bei gleichmäßiger Verteilung auf die zwei Wochen. Denn anstatt nun zwei mal volle Punktzahl auf Code-Ausarbeitung zu erhalten gibt es einmal einen (oder null) und einmal zwei Punkte.
- Hat man in einer Woche sehr viel programmiert und der Termin verschiebt sich, weil die Betreuer an dem wöchentlichen Termin nicht können, auf einen Termin, an dem man selbst nicht kann, so ist es unmöglich einen Vortrag zu halten und interaktiv an den Ergebnis-Vorstellungen der Anderen teilzunehmen. Results in 0/2 points each. Selbiges bei eigener Erkrankung.
- Auf das Führen eines Labortagebuchs wird viel zu viel Wert gelegt. Commit-Nachrichten sind für die Bewertung unbedeutend, lieber solle man das doch ausführlich in einem Labortagebuch festhalten, um den erbrachten Arbeitsaufwand abzuschätzen. Was interessiert schon Code-Wartbarkeit, will man ja ohnehin nicht bei der Verwendung von SVN. Wer also Ausführliche Commit-Nachrichten schreibt und das Labortagebuch Stichpunktartig führt, der schaut in die Röhre, weil unter dem Semester keinerlei Rückmeldung kommt, ob die Erwartungen erfüllt werden.
- Die erbrachte Zeit wird bewertet. Jeder erhält am Ende der Besprechung Aufgaben für die nächste Woche. Wer also für die selbe Arbeit mit selber Qualität schneller ist bekommt weniger Punkte, als ein gemütlich Arbeitender.
Lerngehalt des Projekts:
War für mich nahezu null. Zwar sieht man mal wie triviale genetische Algorithmen und Simulated Annealing aussehen, aber in anderen Fächern, wie “Kombinatorische Optimierung” oder “Advanced Programming Techniques” bekommt man mit etwas mehr Eigeninitiative ein deutlich besseres Gefühl davon. Das einzig hilfreiche, was ich mitgenommen habe, ist die Erkenntnis, dass genetische Algorithmen selbst bei trivialen Ansätzen häufig schon bessere Ergebnisse liefern als Simulated Annealing.
Die Betreuer sind alle nett und auf menschlicher Ebene kommt man gut mit ihnen klar, doch stellt man Fragen bzgl. gefundener Fehler und ob vielleicht Gründe für die Ursache dessen Auftretens bekannt sind erhält man abgesehen von “schau ich mir mal an” selten eine Antwort.
Alles in Allem kann ich von dem Projekt nur abraten. Vielleicht hat sich inzwischen etwas zum Positiven verändert. Dafür müsste jemand vom aktuellen Projekt Stellung beziehen.