Verbesserungsvorschlag Slides und Prolog

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.

Verbesserungsvorschlag Slides und Prolog
Hallo zusammen,

der Professor hat ja in der Vorlesung mal gesagt, man könne ihm gerne Verbesserungsvorschläge unterbreiten.

Erstens: es ist etwas nervig bei den Slides immer durch 190 Folien scrollen zu müssen, um zum jetzigen Thema zu kommen.
Ist es vielleicht möglich, die slides in Kapitel aufzuteilen und diese einzeln hochzuladen?

Zweitens: es ist vielleicht etwas früh, dass jetzt nach zwei bearbeiteten Prologblättern zu sagen, aber ich halte die Idee, alle
Aufgaben in Prolog bearbeiten zu müssen, für nicht besonders toll. Bis jetzt hatten wir in Prolog ja ziemlich einfache Probleme zu
bearbeiten, die in anderen Programmiersprachen jeweils in unter 5 Minuten trivial zu lösen sind. Selbst mit etwas Eingewöhnungszeit
und ein Paar erfolgreich bearbeiteten Aufgaben, dauern die einfachsten Probleme in Prolog immer noch deutlich (!) länger.
Ich finde es prinzipiell gut, dass wir mal Prolog kennen lernen, doch ist Prolog in fast jeglicher Hinsicht anderen Programmiersprachen
unterlegen und es als verpflichtende Sprache für alles einzuführen ist für mich zu weitgreifend.
Es geht doch darum, die KI-Probleme zu verstehen und nachzuprogrammieren und nicht darum ein verstandenes Problem nicht hinschreiben
zu können, weil Prolog zu unintuitiv ist.
Was sind denn die Vorteile von Prolog? Es liefert kürzeren Code, der aber bei endlosen Speicherplatz auf der Festplatte keine Rolle mehr spielt.
Nachteile:

  • unintuitiv
  • Code trotz Kürze deutlich unleserlicher, da man die Programme erst nachvollziehen muss
  • deutlich fehleranfälliger zu programmieren
  • schlecht zu debuggen
  • super langsam in Vergleich zu anderen Programmiersprachen
  • kleine Community und damit auch weniger Informationsmaterial online, das beim Problemlösen hilft
  • geringe Mächtigkeit der Sprache, da sehr domänenspezifisch

  • Selbst ein Tutor hat zugegeben, dass er kein Experte in Prolog ist und C++ wie in den letzten Jahren erwartet hat.
    Also wie wäre es, Prolog vielleicht für gewisse kleinere Teilaufgaben zu lassen oder es einfach optional zu machen, Prolog zu verwenden und eine
    andere Prorgammiersprache wie C++ auch zu erlauben?
2 „Gefällt mir“

ja, und der meinte das auch; vielen Dank.

daher gibt es auf Index of /teaching/AI/ auch die Dateien notes-p*.pdf und slides-p*.pdf die die jeweiligen Vorlesungsteile einzeln haben (ich finde das einen einigermassen vernünftigen trade-off in der Granularität. BTW, wer nicht scrollen mag sollte sich notes.pdf angucken (keine verdoppelungen).

Und nun zu Prolog: Ich habe nie gesagt, dass Prolog eine gute Programmiersprache für die allgemeine Produktion ist, und setze es nur aus didaktischen Motiven ein. Daher ist Speicherbedarf und so vollkommen unerheblich.
Ich verstehe auch, dass es lästig ist, ein anderes Programmierparadigma zu erlernen und sich darin zu Hause zu fühlen. Ja, man muss sich von alten Gewohnheiten trennen, und neue Denkschemata verinnerlichen (meistens hängt’s daran wirklich eine Intuition für die Rekursion zu entwickeln), …
Aber Ihr Unbehagen zeigt mir vor allem, dass Sie viel davon lernen können zum Relationalen Programmieren gezwungen zu werden.
Ich bin mir sicher, dass der Schmerz, Prolog zu denken auf die Dauer verschwinden wird; aber nur durch Übung. Und sie sitzen in der KI-1 VL doch sicherlich um etwas neues zu lernen.

Michael Kohlhase

2 „Gefällt mir“

Perfekt :slight_smile: Habe immer nur in der StudOn-Gruppe auf den Link geklickt.

Stimmt, dieser Punkt ist für die Vorlesung unerheblich. Ein Paar meiner genannten Nachteile bleiben aber wohl noch immer erhalten (unintuitiv, Fehlersuche, auf den ersten Block nicht ersichtlich, was ein Programm intern tut wie bei imperativer Programmierung).

Das hoffe ich doch auch :slight_smile: Man muss dazu sagen, dass ich zu dem Zeitpunkt, als ich das Thema aufgebracht habe, gerade sehr mit Prolog gekämpft habe und sehr viel Zeit darauf verschwendet habe, meinen Code zum Laufen zu bekommen - was er jetzt zum Glück auch tut.

Ich finde Prolog auch eine interessante Programmiersprache und eigentlich bin ich auch ein Fan davon, etwas Neues/Eigenständiges zu lernen - der Einstieg in Prolog war aber zumindest für mich noch sehr frustrierend. Ich lasse die nächsten Aufgaben einfach noch auf mich zu kommen und vielleicht bin ich am Ende der Vorlesung sogar ein glühender Prologverfechter :slight_smile: