Seite 1 von 2

Wieso wird Index mit 1 begonnen?

Verfasst: 26. Apr 2016 21:44
von paprikawuerzung
In der "Vorlesungsprogrammiersprache" Java und auch in anderen verbreiteten Sprachen (außer Matlab vielleicht) beginnen die Indizes mit 0 und der 1-indexierte Code aus den Vorlesungen würde nicht funktionieren.
Wieso wird in der Vorlesung 1 Indexierung benutzt (außer natürlich um die Studenten zu verwirren)?

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 26. Apr 2016 21:57
von Prof. Karsten Weihe
paprikawuerzung hat geschrieben: Wieso wird in der Vorlesung 1 Indexierung benutzt
Angelehnt an gängige mathematische Notationsweise. Es handelt sich nun einmal um abstrakte, mathematische Konzepte. Dass die C-Familie, zu der in gewisser Weise auch Java gehört, Arrays mit 0 beginnen und dementsprechend (fehleranfällig!) mit length-1 enden lässt, hat etwas damit zu tun, dass C als "höhere Assemblersprache" gedacht war. In Sprachen, die nicht an C oder Assemblersprachen angelehnt sind,finden Sie das nicht unbedingt. Beispielsweise in der Pascal-Familie finden Sie die Möglichkeit, den Anfangsindex beliebig festzulegen.

Wir schreiben ja beispielsweise auch ":=" für die Wertzuweisung und nicht "=" sowie "=" für den Test auf Gleichheit und nicht "==". Ist das auch verwirrend?
paprikawuerzung hat geschrieben: (außer natürlich um die Studenten zu verwirren)?
Denken Sie wirklich, dass wir das vorhaben?

Falls das wirklich unsere Absicht wäre, so ist uns das bislang nicht gelungen, die weit überwiegende Mehrzahl der Studierenden hat sich in den letzten Jahren nicht nachhaltig verwirren lassen. :wink:

KW

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 26. Apr 2016 22:31
von paprikawuerzung
Es gibt 1-indexierte Sprachen, ja. Absolut gesehen gibt es laut Wikipedia [1] davon weniger. Und wenn man die Sprachen jetzt noch mit ihrer Beliebtheit/Verbreitung (außerhalb des Wissenschafts- und Universitätsbereiches) korrelieren würde, würde sicherlich rauskommen, dass 0-indexierte Sprachen sehr deutlich relevanter sind als ihre 1-indexierten Freunde.
Aber gut - hilft ja nichts zu diskutieren :( Ich werde mich damit abfinden, aber mein Nabla Score ist nachhaltig durch die Indexierung geschädigt :lol:

[1] https://en.wikipedia.org/wiki/Compariso ... rence_list

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 26. Apr 2016 22:40
von Prof. Karsten Weihe
paprikawuerzung hat geschrieben:Es gibt 1-indexierte Sprachen, ja. Absolut gesehen gibt es laut Wikipedia [1] davon weniger. Und wenn man die Sprachen jetzt noch mit ihrer Beliebtheit/Verbreitung (außerhalb des Wissenschafts- und Universitätsbereiches) korrelieren würde, würde sicherlich rauskommen, dass 0-indexierte Sprachen sehr deutlich relevanter sind als ihre 1-indexierten Freunde.
Ich wüsste nicht, dass ich "1-indexierte Freunde" hätte.

Ich darf daran erinnern, dass mein Hauptaspekt nicht 1-indexierte Programmiersprachen waren, sondern gängige mathematische Notation. Daher geht Ihre Argumentation von vornherein fehl.

paprikawuerzung hat geschrieben: Aber gut - hilft ja nichts zu diskutieren :( Ich werde mich damit abfinden, aber mein Nabla Score ist nachhaltig durch die Indexierung geschädigt
Nein, Ihr Score ist ausschließlich dadurch beschädigt, dass Sie sich entweder nicht ausreichend intensiv mit den Nabla-Aufgaben befasst haben, um zu merken, dass die Indizes bei 1 beginnen, oder dass Sie sich auf eine um 1 verschobene Indexlogik nicht einstellen konnten (oder beides).

Sorry, aber angesichts der Tatsache, dass im letzten Jahr in jeder Testatsrunde über 90% aller Teilnehmer unter erheblich schwereren Bedingungen (beide Aufgabentypen mussten bestanden sein) Erfolg hatten, bin ich dezidiert der Meinung, dass Sie Ihr Problem eher bei sich selbst suchen sollten.

KW

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 26. Apr 2016 23:02
von paprikawuerzung
Ich wüsste nicht, dass ich "1-indexierte Freunde" hätte.
Oh, ich meinte "ihre 1-indexierten Freunde" nicht im persönlichen Sinn - war auf die 0-indexierten Sprachen bezogen!
Ich darf daran erinnern, dass mein Hauptaspekt nicht 1-indexierte Programmiersprachen waren, sondern gängige mathematische Notation. Daher geht Ihre Argumentation von vornherein fehl.
Sie hatten den Diskussionsgegenstand zu mathematischen Notationen geändert - ich hatte ursprünglich über Programmiersprachen und den Pseudocode aus den Vorlesungen gesprochen! Ich hatte mich mit der Wikipedia Liste auf Ihre Erklärung mit den Programmiersprachen bezogen.
Nein, Ihr Score ist ausschließlich dadurch beschädigt dass Sie sich entweder nicht ausreichend intensiv mit den Nabla-Aufgaben befasst haben, um zu merken, dass die Indizes bei 1 beginnen, oder dass Sie sich auf eine um 1 verschobene Indexlogik nicht einstellen konnten (oder beides).
Das war eher als Witz gemeint (im Nachhinein nicht wirklich witzig - ich weiß) - mein Nabla Score ist in Ordnung :lol:
Hatte das mit dem Index nur aus Interesse gefragt. Tatsächlich hatte ich nur bei der ersten Nabla Übung vom Generator den Index falsch (oder genauer: eine Iteration mehr als gefragt gemacht).
Vielen Dank für's Antworten!

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 26. Apr 2016 23:09
von Prof. Karsten Weihe
Man lernt nie aus...

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 26. Apr 2016 23:19
von paprikawuerzung
Das ist das Schöne am Leben, ja.

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 27. Apr 2016 08:38
von Prof. Karsten Weihe
paprikawuerzung hat geschrieben:Das ist das Schöne am Leben, ja.
Na, ich hoffe doch sehr, das ist nicht das Schöne im Leben (was ja als das einzige zu verstehen wäre). :D

Jedenfalls muss ich dann wohl in Zukunft bei jeder kritischen Bemerkung im Forum erst einmal nachfragen, ob sie nicht als Witz gemeint ist... :shock: :| :roll:

KW

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 29. Apr 2016 01:16
von headhumper
Prof. Karsten Weihe hat geschrieben:Sorry, aber angesichts der Tatsache, dass im letzten Jahr in jeder Testatsrunde über 90% aller Teilnehmer unter erheblich schwereren Bedingungen (beide Aufgabentypen mussten bestanden sein) Erfolg hatten, bin ich dezidiert der Meinung, dass Sie Ihr Problem eher bei sich selbst suchen sollten.
Das ist wirklich eine ziemlich krude Schlussfolgerung. Ich habe die GdI 2 das letzte Mal gemacht und ich muss sagen, dass ich ungefähr die Hälfte der Zeit des Lernens für - damals noch - foo damit verbracht habe, herauszufinden, wie der Algorithmus denn nun in foo implementiert ist. Da gab es einfach maximale Inkonsistenzen: Mal fängt der Index bei 0, mal bei 1 an. Die Zählweise der Iterationen war von Aufgabe zu Aufgabe unterschiedlich, es gab nicht wirklich ein Muster. Eine Variable, die im Wiki den Index eines Werts beschrieben hat, war in foo auf einmal der Wert selbst (und nicht, wie im Wiki, der Index des Werts im Array). Ja, man kann das alles rauskokeln und dann auch bestehen, so wie es 90% gemacht haben. Aber warum folgern Sie daraus, dass es nicht vielleicht doch ein Problem bei foo/Nabla gibt? Ist ein System automatisch dann gut, wenn 90% der Leute bestehen?

Mal davon abgesehen, dass man viele Aufgaben auch lösen kann, komplett ohne den Algorithmus verstanden zu haben (indem man einfach ein Rezept anwendet, was man im Testat ohnehin tun sollte, um möglichst wenig Zeit für die Bearbeitung zu benötigen) - soll Nabla die Studenten auch lehren mit Inkonsistenzen umzugehen? Sind die Algorithmen gar nicht das primäre Lernziel? Widersprechen die ganzen Inkonsistenzen in Nabla nicht irgendwie Ihrem stets gepredigten Prinzip der Sorgfalt?

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 29. Apr 2016 06:43
von Prof. Karsten Weihe
headhumper hat geschrieben:
Prof. Karsten Weihe hat geschrieben:Sorry, aber angesichts der Tatsache, dass im letzten Jahr in jeder Testatsrunde über 90% aller Teilnehmer unter erheblich schwereren Bedingungen (beide Aufgabentypen mussten bestanden sein) Erfolg hatten, bin ich dezidiert der Meinung, dass Sie Ihr Problem eher bei sich selbst suchen sollten.
Das ist wirklich eine ziemlich krude Schlussfolgerung.
Ich finde meine Schlussfolgerung weiterhin plausibel.
headhumper hat geschrieben: Ich habe die GdI 2 das letzte Mal gemacht
Diesen Punkt möchte ich gerne festhalten, damit die Mitleser Ihre Einlassungen einordnen können.
headhumper hat geschrieben: Aber warum folgern Sie daraus, dass es nicht vielleicht doch ein Problem bei foo/Nabla gibt?
Ich habe mich überhaupt nicht dazu geäußert, ob es Probleme bei foo/Nabla gibt, das legen Sie mir in fälschlich den Mund. Aber was immer es an Nabla auszusetzen gibt: Wenn mehr als 90% bestehen, scheint das alles ja nicht so problematisch zu sein.
headhumper hat geschrieben: Ist ein System automatisch dann gut, wenn 90% der Leute bestehen?
Wenn 90% der Leute bestehen bei Aufgaben, an denen in früheren Jahren viel mehr Leute gescheitert sind, dann hat es seinen Zweck erfüllt.

Ob es gut ist oder nicht, weiß ich nicht, auch das legen Sie mir wieder in den Mund. Jedenfalls hat sich die weit überwiegende Mehrheit der Teilnehmer an der moodle-Umfrage im SS15 dezidiert positiv geäußert.
headhumper hat geschrieben: Mal davon abgesehen, dass man viele Aufgaben auch lösen kann, komplett ohne den Algorithmus verstanden zu haben
Sie müssen die Invariante verstanden haben, um die Aufgabe zu lösen, ohne den Algorithmus Schritt für Schritt durchzugehen. Das ist durchaus in meinem Sinne.
headhumper hat geschrieben: Widersprechen die ganzen Inkonsistenzen in Nabla nicht irgendwie Ihrem stets gepredigten Prinzip der Sorgfalt?
Entschuldigung, aber es gibt ja wohl einen Unterschied zwischen Sorgfalt zwischen (1) dem Berechnen und Einsetzen von Zahlen in einer vorgefertigten Situation, die Sie beliebig oft einüben konnten, und (2) der Entwicklung einer Software unter Zeitdruck und mit engem Budget, bei der wir absolutes Neuland betreten haben. Gemessen an diesen Umständen finde ich die Fehlerrate im SS15 in der Rückschau eigentlich sehr klein.

KW

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 29. Apr 2016 11:09
von headhumper
Prof. Karsten Weihe hat geschrieben:Wenn 90% der Leute bestehen bei Aufgaben, an denen in früheren Jahren viel mehr Leute gescheitert sind, dann hat es seinen Zweck erfüllt.
Bevor ich jetzt wieder anfange, Ihnen Sachen in den Mund zu legen... Was ist der Zweck von Nabla? Das wäre für die weitere Diskussion eine wichtige Information.
Prof. Karsten Weihe hat geschrieben:Ob es gut ist oder nicht, weiß ich nicht, auch das legen Sie mir wieder in den Mund. Jedenfalls hat sich die weit überwiegende Mehrheit der Teilnehmer an der moodle-Umfrage im SS15 dezidiert positiv geäußert.
Und dass die Umfrage repräsentativ ist, haben Sie sichergestellt?
Prof. Karsten Weihe hat geschrieben:Sie müssen die Invariante verstanden haben, um die Aufgabe zu lösen, ohne den Algorithmus Schritt für Schritt durchzugehen.
Nein. Einen Großteil der Aufgaben kann man Lösen ohne den Algorithmus verstanden zu haben und ohne die Invariante verstanden zu haben.
Es gibt Aufgaben, bei denen ist die Invariante trivial und man muss sie auch tatsächlich verstehen, z.B. Bellman-Ford oder Floyd-Warshall. Dafür sind diese Aufgaben aus anderen Gründen - in meinen Augen - unsinnig: Die Bearbeitung der Aufgabe versteht jeder in einer Minute, auch wenn diese Person keine Ahnung hat, was ein Graph ist. Die Schwierigkeit der Aufgabe(n) liegt darin, fehlerfrei zig kürzeste Pfade zu "sehen". Das hat aber nichts mit dem Verständnis des Algorithmus zu tun. Ansonsten fällt mir aber wirklich keine Aufgabe ein, bei der ich Gedacht habe "Das ist die Invariante und darauf muss ich achten". Die Lösungsstrategien, die ich für foo entwickelt habe, haben mit dem eigentlichen Algorithmus wie gesagt meistens nichts zu tun, weil man auch auf die Besonderheiten der konkreten Implementierung in foo Rücksicht nehmen kann/muss.
Prof. Karsten Weihe hat geschrieben:Entschuldigung, aber es gibt ja wohl einen Unterschied zwischen Sorgfalt zwischen (1) dem Berechnen und Einsetzen von Zahlen in einer vorgefertigten Situation, die Sie beliebig oft einüben konnten, und (2) der Entwicklung einer Software unter Zeitdruck und mit engem Budget, bei der wir absolutes Neuland betreten haben. Gemessen an diesen Umständen finde ich die Fehlerrate im SS15 in der Rückschau eigentlich sehr klein.
"Quod licet Iovi, non licet bovi" ...Ich finde, dass man bei Bellman-Ford und 21 kürzesten Pfaden, die man "sehen" muss, ruhig einen Fehler machen darf.

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 29. Apr 2016 11:35
von Prof. Karsten Weihe
headhumper hat geschrieben:
Prof. Karsten Weihe hat geschrieben:Wenn 90% der Leute bestehen bei Aufgaben, an denen in früheren Jahren viel mehr Leute gescheitert sind, dann hat es seinen Zweck erfüllt.
Bevor ich jetzt wieder anfange, Ihnen Sachen in den Mund zu legen... Was ist der Zweck von Nabla? Das wäre für die weitere Diskussion eine wichtige Information.
Eine weitere Diskussion zwischen Ihnen und mir wird es nicht geben, denn (Zitat aus einem anderen Thread, auch dort an Sie gerichtet):
headhumper hat geschrieben: Tut mir leid, wenn ich das jetzt so hart formuliere, aber ich sehe keinen Sinn darin, mit jemandem zu diskutieren, dem ich laufend nur immer erklären muss, was ich geschrieben habe und was nicht.
Anscheinend gehören Sie zu der Minderheit von Leuten, die im letzten Jahr nicht klargekommen sind. Dass dies tatsächlich nur eine relativ kleine Minderheit war, sollten sich die Mitleser klarmachen zur Einordnung der Diskussion.

KW

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 29. Apr 2016 11:54
von headhumper
Ich habe hier doch nun explizit nachgefragt, was Sie meinen.
Auf den Hauptteil meines Posts sind Sie gar nicht eingegangen, was sehr schade ist.
Prof. Karsten Weihe hat geschrieben:Anscheinend gehören Sie zu der Minderheit von Leuten, die im letzten Jahr nicht klargekommen sind.
Machen Sie jetzt etwa das, was Sie mir vorwerfen? :shock:

Für die Leser zur Einordnung: Ich habe die GdI 2 letztes Jahr mit 2,3 bestanden (ohne Bonussystem). Außerdem habe ich jedes Foo-Testat bestanden, genau wie jedes Theorie- und Praxistestat. Ich bin also sehr gut "klargekommen".

Ich finde Nabla trotzdem recht sinnlos, aus den von mir geschilderten Gründen. Ich bring es aber gerne nochmal auf den Punkt: Ich hätte meine Zeit gerne lieber dafür verwendet, etwas "gehaltvolles" zu lernen, sei es in der GdI 2 oder in anderen Vorlesungen. Stattdessen musste ich nicht unwesentlich viel Zeit damit verschwenden, foo zu "reverse engineern", also rauszufinden wie der Algorithmus denn nun implementiert ist. Wo fängt der Index an? Was zählt als eine Iteration? Was bezeichnen die verwendeten Variablen? etc... Natürlich habe ich das gemacht, ich musste es ja auch machen.

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 29. Apr 2016 12:02
von Prof. Karsten Weihe
headhumper hat geschrieben: Auf den Hauptteil meines Posts sind Sie gar nicht eingegangen, was sehr schade ist.
Ich wiederhole mich:
Prof. Karsten Weihe hat geschrieben: Tut mir leid, wenn ich das jetzt so hart formuliere, aber ich sehe keinen Sinn darin, mit jemandem zu diskutieren, dem ich laufend nur immer erklären muss, was ich geschrieben habe und was nicht.
KW

Re: Wieso wird Index mit 1 begonnen?

Verfasst: 29. Apr 2016 12:05
von headhumper
In dem Teil meines Posts, der mit "Nein. Einen Großteil ..." anfängt, habe ich keine Ihrer Aussagen interpretiert oder sonst irgendwie verarbeitet, sondern meine Erfahrungen geschildert. Sie müssen hier also nicht erklären, was Sie geschrieben haben, sondern nur meine Erfahrungen kommentieren. Natürlich nur, wenn Sie wollen.

Mein vorheriger Post enthält außerdem auch noch eine weitere Frage. (Fett markiert.)