Infos und Tipps Erfahrungsberichte | 31221 Einführung in die objektorientierte Programmierung

So, vorbei, vorbei, ich hoffe ich muss mich mit EOOP nicht mehr im Rahmen der Konzepte des Fernunikurses herumschlagen. Ich hoffe natürlich, dass ich so gut wie möglich bestanden habe und das mit hoffentlich 51 Punkten. Die Klausur war naja tlw. fair fand ich. Gut, es ist natürlich mein Fehler als Student nicht durch die geliebte Java-Standardbibliothek zu surfen und mir 100 Zillionen Methoden und deren Erklärung dazu anzusehen und natürlich in der Klausur abrufbereit zu haben. Sorry, my bad.
Die Methode check sollte erklärt werden, aber nicht nur check, dass könnte man ja vom Namen her evtl. ableiten, nein, nein, die boolean Methode check und check2. Ist sicher ganz leicht, nur ich hab's nicht gecheckt. Dazu kommt dass die Lehrstühle ein verd..... Talent haben, einfache Sachverhalte per megakomplizierter Fragestellung unlösbar darzustellen, was sie ja nicht sind.
Wer algo Mathe schon hatte, wusste was eine adjazente Matrix ist und wie man Programmcode dafür schreibt. Ich mache algo Mathe nächstes Semester, dumm gelaufen.

Da die Ankündigung auf der Lehrstuhlseite im Virtuellen Studienplatz schon so etwas angedeutet hatte, habe ich mich extrem mit Algorithmen und Datenstrukturen beschäftigt:
Aktuelles:
Informationen zur Klausur
Durch eine Änderung der Verantwortlichkeit für den Kurs weicht die Klausur ab diesem Semester deutlich vom Schema der vergangenen Jahre ab. Die Klausur wird vier Aufgaben enthalten, die mit den folgenden Überschriften versehen sind:
Aufgabe 1: Kurze Fragen
Aufgabe 2: Programmanalyse
Aufgabe 3: Implementation
Aufgabe 4: Algorithmen und Datenstrukturen
Die Bepunktung der Aufgaben ist so gewählt, dass es zum Bestehen gerade nicht hinreichend sein kann, nur die Theorieaufgaben (1 & 4) zu bearbeiten.
Es ist weiterhin erlaubt, ein beidseitig mit beliebigen Inhalten beschriebenes DIN-A4-Blatt mit in die Klausur zu nehmen.
**Wer braucht alberne Drohungen?**
Die Aufgaben hießen so, aber das sagt mal so gar nichts über den Inhalt derselben aus. Ich hatte am Ende der Klausur noch 2 min. Zeit, um grob Markierungen auf meinem Spickzettel zu machen, was geprüft worden ist. Je länger die Klausur her ist, umso schwächer wird die Erinnerung daran.
1. Kurze Fragen zu Klasse, Objekt, abstrakte Klasse vs. normale Klasse, warum wird bei float x = 1/2 für x '0' ausgegeben und nicht 0,5? Statischer und dynamischer Typ, überladene Methode, was ist der Unterschied von = vs. ==, konnte man echt gut mit dem Spickzettel lösen. Wieviel Pkt. weiß ich leider nicht.
2. Programmanalyse, ich habe so ein ähnliches Konstrukt schon in irgendeiner Studientagsfolie vom Lehrstuhl gesehen, also neu wars nicht komplett, aber Schwerpunkt in dieser Aufgabe war der Datentyp boolean. Es wurde erstmal abgefragt bei einem Feld mit 5 Werten {3, 18,2, 108, -1} was passiert, 11 Ausgaben waren zu wissen, keine Ahnung, ob ich das richtig habe. Dann wurde der Ablauf einer der beiden boolean Methoden abgefragt. Und dann generell noch, wie arbeitet die Methode boolean check generell? Und Exception Ausgabe natürlich noch erklären, kein Ding. hihi.... Als hätte man sonst keine Themen mehr gehabt, voll komisch. Ich glaube dafür gab es schon fast 20 Pkt, bin nicht sicher.
3.Thema Graph - juchu - es sollte eine Erstellung einer adjazenten Matrix mit 2 boolean Feldern der Klasse Graph geschrieben werden. "Hui", sagte die Schnecke auf dem Igel.
Dann noch mind. 2 Unteraufgaben in der die Methode complement? und isReachable? geschrieben werden sollten. Und irgendwo wurde der Graph G mit (V,E) noch invertiert zu G Strich über dem G. Kurzes Codestück dazu, bitte. Da gab es irgendwo 25 Pkt. am Stück, kann aber auch die nächste Aufgabe gewesen sein, dies hier war die Monsteraufgabe.
4.ich glaube hier sollte man die rekursiven Algorithmen genauer beschreiben, eine Aufgabe aus der KE 6, wie Mergesort arbeitet, also aufzeichnen, bisserl was hinschreiben, das ging. Für die Rekursion die 3 Definitionsteile erklären, zum Glück auffem Spicker.....puh.
Wenn der rek. Algo 128 Felder hätte, wie hoch wäre der Aufwand, die Rekursionstiefe?, keine Ahnung, habe die Fragestellung schon nicht gecheckt. Ich persönlich habe Aussagen dazu nirgends in der KE gefunden. Es gibt in KE 6 Fragen zu wie viele Vertauschungen und Vergleiche gab es? Aber wer macht das für 128 Felder? Sorry, das war nicht nett. Brachte alleine 7 Pkt. Das finde ich unfair. Ich habe nämlich genau 2 Sätze da hin geschrieben = Verzweiflungstat. Wie tief ein Baum ist, wird in den KEs schon erklärt, aber ist das wirklich die Frage gewesen? Ich sage ja immer, der der die Klausur erstellt, weiß ja, was er prüfen möchte. Der Student weiß das nicht. Das ist der Schwierigkeitsgrad in der Klausur.

Für all jene die Angst hatten, der Platz könnte nicht reichen. Das stimmt, aber es gab 4 leere Seiten kariertes Papier hinten dran gehängt. Ich hab es nicht gebraucht.
Was ich viel bedenklicher fand, dass nur das orangene Vorblatt ausgefüllt werden muss und der Rest der Zettel ist drangetackert. Ich finde das riskant, wer sagt mir, dass die Klausuren im astreinen Zustand beim Lehrstuhl ankommen und es da keine Zerpflückung gegeben hat? Bei der FUH ist ja alles möglich, wie ich aus eigener leidvoller Erfahrung weiß. Daher mache ich nach jeder Klausur eine Klausureinsicht, alleine um zu überprüfen, ob es meine Klausur ist, diese vollständig vorlag und korrekt bepunktet wurde, also zusammenzählen usw....es hat schon alles gegeben und dass weiß ich von Betroffenen, nicht vom Hören-Sagen. Der Dozent der Klausur 31221, Modul 20022 ist Dr. Sebastian Küpper(s), habe ich noch nie gehört. Scheint also ein Wechsel des Lehrstuhlinhabers vollzogen worden zu sein.

Fazit: Wohl dem der Informatik studiert, der hat schonmal die passenden Vorkenntnisse in Mathe im Gepäck und etwas mehr Struktur in der Informatik. Für die WiInfos war es ein purer Höllenritt wenn man nicht bereits im echten Leben programmiert, aber das ist meine ganz PI-sönliche Meinung. Wohl an.
Ich habe die KEs gelesen, fand sie tlw. abstrakt, unverständlich, aber damit scheine ich fast alleine auf weiter Flur zu sein. Ich war in 2 Mentoriaten für Informatiker, das war hilfreich, zumindest die Arbeit einer Rekursion habe ich dort verstanden, Exceptions, try & catch, final u.a.. Die STA konnte ich alleine nicht komplett schreiben, habe mir die Musterlösungen reingezogen, auch tlw. unverständlich, weil seitenweise immer der gleiche Kram "programmiert" wird, ich sag nur Blumenladen. Es ist halt alles nur auf Papier. Klar, habe ich eclipse genutzt, habe aber nicht alle Aufgaben zum Laufen bekommen. Liegt natürlich am DAU. Die Newsgroup ist gut betreut, allerdings ist sie fast tot, ich glaube, ich habe ganze 5 regelmäßige Nutzer dort angetroffen. Und nicht alle davon waren hilfsbereit. Ich habe zig Bücher zu Java gelesen, leider hat das alles nichts mit der konzeptuellen Herangehensweise dieses Moduls zu tun. Ich hatte von Studenten vor mir Unterlagen, haben tlw. für mehr Verständnis meinerseits gesorgt, ist aber hoch subjektiv. Wenn ein Modul vorbereitungsintensiv ist, dann dieses, neben allen Modulen der Dekanin der FUH. Ich bin kein Fan von EOOP geworden, obwohl das Thema in der Praxis an sich sehr interessant ist. Die Aufbereitung des Stoffes hat leider nicht dazu eingeladen mehr machen zu wollen. Viel Erfolg für alle.
 
Zuletzt bearbeitet:
Ist es richtig, dass ich nur nochmal "neue" Kurseinheiten (Print-Version) erhalte, wenn sich grundlegend etwas an den Inhalten der Kurseinheiten geändert hat?

Hi,
ich kann Dir leider nur bei dieser einen Frage helfen: Du bekommst nur dann nochmal "neue" Kurseinheiten in gedruckter Form zugeschickt, wenn Du den Kurs ein zweites Mal kostenpflichtig (als Nicht-Wiederholer) belegt hast. Das ist also Deine eigene Wahl und völlig unabhängig von einer Überarbeitung der Unterlagen.
Viele Grüße!
 
Kurze Zusammenfassung zu meinem Widerspruch, der wie erwartet abgelehnt worden ist. Der zuständige Prof ist extrem persönlich beleidigend geworden in seinem Schreiben. Das zeigt mir, dass er Angst um seine Professorenstelle hat, also lag ich mit meinen Einwänden wie nicht prüfbarer Klausurinhalt, da nicht in den Kurseinheiten haargenau richtig. Er unterstellt, dass alle Aufgaben leicht und einfach zu lösen wären. Man müsste als Student einfach alle Selbsttestaufgaben beherrschen und schon könnte man die Klausur bestehen, was für sein eigenes Lehrgebiet ja mehr als ein Armutszeugnis ist. Die Punkteverteilung ist unfair, das sieht der Prof natürlich ganz anders, er findet sie angemessen. Es ist offensichtlich, dass hier jmd. den Lehrstuhl übernommen hat, der abstrakte Schwerpunkte setzt, am liebsten im Bereich der Mathematik und weder versteht was die Studenten sagen noch seine eigenen Absichten schlüssig begründen kann. z.B. trägt er vor, dass es Musterlösungen zu den letzten beiden Klausuren in EOOP gäbe (mindestens); vorher hat der harte Gott das gemacht. Die letzten zwei Lösungen lägen ihm vor, er hätte sie selbst erstellt. Allerdings seien diese nicht öffentlich zugänglich. Er gibt an, bei Verständnisproblemen des Studenten hätte dieser die Newsgroup nutzen können, dass habe ich getan und dort mehr als seltsame Antworten erhalten von Frau H. was ich auch rückgemeldet habe, daraufhin wurde sie dann ihrerseits zickig, die Antworten waren in keiner Weise konkret oder nachvollziehbar. Der Prof gibt ebenfalls an, dass das Gefrage in der NG ausreicht, um Code- und Programmierverständnis entwickeln zu können. Ich habe den Kurs meinen direkten Kollegen gegeben, dass sind alles fertige Informatiker, die in echt programmieren und zwar täglich, die halten das Kursmodul für überaltert , schlechte Beispiele und insgesamt nicht brauchbar. Sind natürlich nur subjektive Eindrücke. Mein Tipp: gleicht das Modul aus. Der Prof versteht die Studenten nicht und umgekehrt.
 
Hallo zusammen,

gibt es evtl. noch weitere Erfahrungsberichte? Jeder Hinweis ist hilfreich;)

Vielen Dank!
 
gibt es eine Möglichheit, an die neuesten Klausuraufgaben zu kommen? SS18, WS17/18
 
Zu meinen Vorkenntnissen: Bin auszubildender Fachinformatiker im letzten Lehrjahr, habe Erfahrungen mit Java und deswegen ist der Stoff bis auf ein paar Facetten keineswegs neu für mich. Habe weder ein Mentoriat noch dergleichen gehabt, aber eigentlich immer alle Übungen gemacht.
Heute habe ich die Klausur geschrieben und bin doch leicht säuerlich nach Hause gegangen, weil ich zu arrogant und leichtfertig ran gegangen bin. Zugegebenermaßen habe ich die Klausur unterschätzt, was man nicht tun sollte. Die heutige Klausur war insgesamt machbar, aber habe echt viel verschenkt was nicht nötig gewesen wäre, wenn ich nicht...naja, ich wiederhole mich.

Also um mal nen Zwischenstand zu geben:
Es gab mal wieder 6 Aufgaben am Anfang mit 4 Punkten. Eine war zu ++x und x++, eine AVL-Rotation war dabei, dann noch die Frage, wieso float x = 2.5; eine Fehlermeldung rauswirft, und noch ein paar andere Kleinigkeiten. War mit auswendig-lernen und Spickzettel machbar, dummerweise habe ich mir Prä - und Postinkrement nicht vollständig aufgeschrieben, weil mir das zu unwichtig erschien. Dummer, unnötiger Fehler.Interessanterweise wurden auch die 3 unterschiedlichen Arten von Dokumentationen abgefragt. Auch ein Thema, das ich vernachlässigt habe.

In Aufgabe 2 (25 Punkte) wurden zwei rekursive Methoden vorgestellt, die jeweils die 1er und 0er zählen sollten, die eine eingegebene x-beliebige Zahl in binärer Schreibweise hätte (was herauszufinden war!). Dazu gab es noch eine dritte Methode, die zwei unterschiedliche dezimale Zahlen verglich und dann true zurück gab, wenn diese die gleiche Anzahl an 0en und 1en im Binärsystem hätten z.b. 5 = 101 und 6 = 110. Mir ist das sehr leicht gefallen, für andere, die weder Vorkenntnisse noch eine Ahnung von binären Zahlen haben, dürfte das sehr schwer bis unmöglich gewesen sein. Wenn man auf die Methodennamen achtet wäre vielleicht etwas bei rum gekommen, aber kann ich keine großartigen Vermutungen zu anstellen. Ich habe es jedenfalls geschafft, es gab einmal 6 untersch. Ausgaben, die zu überprüfen waren, und dann, welchen Sinn diese verschiedenen Methoden hatten und was für ein Problem generell gelöst werden sollte (wie oben beschrieben). Eine Frage beschäftigte sich auch mit der maximalen Rekursionstiefe einer beliebigen Zahl n. Waren aber glaub ich nur 3 Punkte oder so. Es gab hierfür 25 Punkte.

In Aufgabe 3 (Glaube 26 Punkte) galt es, ein Interface anzugeben zu Geoemetric Shape (Ja, der Tippfehler existierte so wirklich), das aus einer Methode area und einer Variable für Flächeninhalt bestand. In der nächsten Aufgabe sollte man eine Klasse Circle schreiben, die genau dieses Interface benutzt und die Methode area implementiert. Hinweis dazu, wie man den Flächeninhalt eines Kreises bestimmt gab es, genauso wie zu Math.PI. War also relativ dankbar sofern man die Grundlagen beherrschte.
Dann noch eine Teilaufgabe dazu, das man einen Klasse für einen Quader schreiben sollte als Spezialfall der Klasse Rechteck. Hier vermutl. Vererbung, dazu sollte sichergestellt werden, das beide Seiten gleich lang sind für jedes Exemplar. Sollte auch machbar gewesen sein.
Und dann noch eine Methode für die Klasse Rechteck, die einen double factor als Parameter bekommt und das Rechteck dann um diesen Faktor erhöhen soll und sicherstellen soll, das keine negativen Werte übergeben werden können, also hier ging es um Exceptions und ein bisschen rechnen. Die Hilfsmethoden waren dabei.
Dann war da noch eine Methode mit einer ArrayList, wo man mit einer Schleife über circle und quader (glaube ich?) gehen sollte. Auch dies war gut machbar wenn man sich die Datentypen angesehen hatte.
Insgesamt relativ fair, für jemanden, der hingegen wenig mit Programmieren zu tun hat, kann das durchaus die Hölle sein, wenn man so etwas nicht kennt.

Aufgabe 4...naja...25 Punkte
1. Definition. Gab 8 Punkte. Definition von den 4 Teilen von dynamischer Programmierung.
2. Hier wurde ein Problem vorgestellt, bei dem es um die Minimierung der Herstellung von Autos auf 2 verschiedenen Förderbändern l und r mit n Schritten ging und die Aufgabe war, dies rekursiv zu definieren. Das waren auch wieder glaube so 8 Punkte. Fand ich zum Teil machbar, zum Teil auch schwierig und wird wohl am Ende auch auf die Korrektur ankommen. So etwas Ähnliches kam ja in KE 5 am Ende vor.
Und 3. dann noch eine weitere Frage mit 9 Punkten, warum dieses Problem die optimale Teilstruktur-Eigenschaft hat. Naja, sollte auch irgendwie funktioniert haben.

Also ich werde mir so oder so noch Einsicht holen und mir das Ganze noch mal anderswo ausführlicher hinschreiben, das ist jetzt so aus meinem Gedächtnis.
Insgesamt machbar gewesen, Frage ist nur erstens, wie bewertet wird und zweitens, wo ich mich überall vertan habe weil ich doch etwas zu leichtfertig an das Ganze ran gegangen bin. Denke mal bestanden, aber unnötige und vor allem dumme Fehler gemacht.
Für jemanden, der nicht beruflich programmiert bzw. Vorkenntnisse hat, dürfte diese Klausur ziemlich grenzwertig gewesen sein. Binäre Zahlen sind soweit ich weiß Stoff aus Einführung in die theoretische und technische Informatik. Wie auch vorher kann es durchaus sinnvoller sein, in der Studienplanung zuerst dies und algorithmische Mathematik zu belegen bevor man sich an OOP ranwagt. Finde ich persönlich ziemlich harten Tobak. Und eigentlich auch Schade, das die Aufgabe 4 so viel schwerer war als die letzte Aufgabe 4. Auch das dürfte vielen das Genick gebrochen haben, da diese beim letzten mal doch bis auf einen Teil sehr_großzügig war.
Aber mal abwarten was am Ende rauskommt. Ich halte euch auf dem Laufenden.
 
Fazit 2: Habe bestanden....mit einer 2,0.

Also war doch besser als erwartet. Wie gesagt, Vorkenntnisse, aber habe mit wesentlich schlechteren Ergebnissen gerechnet.
An die anderen: Noch viel Glück, die Noten sollten draußen sein.
 
Fazit 2: Habe bestanden....mit einer 2,0.

Also war doch besser als erwartet. Wie gesagt, Vorkenntnisse, aber habe mit wesentlich schlechteren Ergebnissen gerechnet.
An die anderen: Noch viel Glück, die Noten sollten draußen sein.

Erstmal: Herzlichen Glückwunsch!!!

Hast du einen Tipp für Leute wie mich, die keine Vorkenntnisse haben? Ist die Klausur anhand der vorhandenen KE´s/Übungen so machbar?
 
Hast du einen Tipp für Leute wie mich, die keine Vorkenntnisse haben? Ist die Klausur anhand der vorhandenen KE´s/Übungen so machbar?

Insgesamt sind die Aufgaben 1 und 4 reine Theorie. Auch wenn es hier Ausreißer gibt, so kann man durch den zugelassenen Spickzettel viele Punkte wettmachen, ich würde sagen, 30-40 Punkte sind durchaus drin.
Die meisten Aufgaben kommen so in abgewandelter Form auch in den Kurseinheiten bzw. Übungen dran. Der Dozent meinte übrigens in der Newsgroup, das man gar nicht erkennen müsse, das in der letzten Klausur diese Methoden in der Codeanalysen die Anzahl an 1er und 0er in der Binärdarstellung einer beliebigen Dezimalzahl zählen, sondern man solle grundlegend erkennen, was eine Funktion tut, das ist durchaus möglich. In jedem Fall kann man auch in Aufgabe 2 einige Punkte holen.
Der einzige Teil, wo du selbst Code schreibst ist die Aufgabe 3. Und da war die letzte Klausur echt großzügig, es gibt aber auch hier teilweise fiese Fragestellungen, wie an der Klausur vorher ersichtlich.

Ich wage mal zu behaupten, dass du, wenn du die Kurseinheiten durcharbeitest und so ca. 90% der dazu gehörigen Übungen verstanden hast, und zusätzlich die Einsendeaufgaben machst, und diese wiederholst und verstehst, relativ gute Chancen hast, die Klausur auch zu bestehen. Es gibt ein paar Fragen, die durchaus so den Unterschied machen zwischen einer 2 und einer 1. Abseits davon ist Vieles jedoch durchaus machbar. Jedoch hängt auch viel von Aufgabenstellung ab bzw. ob du die verstehst.

Aber: Wenn du vorher noch nie programmiert hast musst du dich auf den Hosenboden setzen und wesentlich mehr tun als z.B. für irgendein BWL-Fach, weil du erstens die Syntax verstehen musst, zweitens das - ich nenne es mal - programmiertechnische Verständnis erwerben musst, und dieses drittens wiederholen und anwenden musst, um zum Verständnis zu kommen. Das hier ist kein Fach wie ExReWe, wo du mit Schema F meistens durchkommst, obwohl ExReWe auch seine ganz eigenen Schwierigkeiten hat. Du musst nicht nur anwenden, sondern auch verstehen, warum etwas passiert. Und hier denke ich, das es durchaus sinnvoll ist, sich die Themen, die du nicht verstehst, herauszuschreiben und dazu andere Erklärungen anzusehen. Viele der Probleme, mit denen du konfrontiert wirst, sind meistens auch noch irgendwo anders erklärt. Vielleicht sind die schwierig erklärt, an manchen Stellen sind durchaus auch einfach Fehler in den KEs, oder du verstehst es einfach nicht - kein Thema, du bist auch nicht der erste, der so etwas lernt bzw. lernen muss. Es ist keine Schande, sich das anzusehen. Ich habe in meinem Beruf auch nicht so viel mit solchen Theorien zu tun, sondern habe meistens handfeste praktische Probleme, bei denen ich aber auch viel logisch nachdenken muss. Nichtsdestotrotz habe ich mir vieles, wie AVL-Rotationen, die ganzen Sortieralgorithmen usw. eher auf Youtube angesehen bzw. versucht, sie selbst zu implementieren, nachdem ich das Prinzip verstanden habe, einfach, weil ich Erklärungen in den KEs dürftig fand. Ein anderer kommt damit vielleicht zurecht, ist ja auch egal.

Das führt mich zum eigentlich wichtigsten Tipp: Du musst programmieren.
Übe die Übungen. Arbeite auch andere Tutorials durch. Es gibt ein sehr breites Spektrum dazu, jeder hat mal irgendeine Lösung für irgendein Problem entwickelt. Und tue das nicht nur so wie als wenn du mal sagst: Jo, heute lerne ich das eine mal in der Woche, sondern am besten mehrere Tage bzw. jeden Tag ein kleines Problem. In der letzten Woche vor der Klausur habe ich mich jeden Tag von morgens bis abends hingesetzt und bin alles durchgegangen, habe mir jede Aufgabe angesehen, alles nochmal durchgearbeitet und versucht, selbst zu lösen, bis auf den Tag unmittelbar vor der Klausur. Das Auswendig-Lernen hilft dir nur bei der Theorie, du musst aber auch in der Lage sein, selbst Probleme lösen zu können.

Und wenn du Probleme damit hast, den Kurs zu verstehen bzw. mit der Zeit nicht zurecht kommst, dann nimm einfach nicht an der Klausur Teil sondern schreibe sie ein Semester später, auch das ist keine Schande. Programmieren ist sehr anspruchsvoll und - wie ich finde - eines der schwierigsten Fächer. Denn in der Klausur hast du keinen Compiler. Wenn du da die falsche Idee hast, dann ist deine Aufgabe bzw. Teilaufgabe bei 0 Punkten. Das darfst du nicht vergessen.
 
Insgesamt sind die Aufgaben 1 und 4 reine Theorie. Auch wenn es hier Ausreißer gibt, so kann man durch den zugelassenen Spickzettel viele Punkte wettmachen, ich würde sagen, 30-40 Punkte sind durchaus drin.
Die meisten Aufgaben kommen so in abgewandelter Form auch in den Kurseinheiten bzw. Übungen dran. Der Dozent meinte übrigens in der Newsgroup, das man gar nicht erkennen müsse, das in der letzten Klausur diese Methoden in der Codeanalysen die Anzahl an 1er und 0er in der Binärdarstellung einer beliebigen Dezimalzahl zählen, sondern man solle grundlegend erkennen, was eine Funktion tut, das ist durchaus möglich. In jedem Fall kann man auch in Aufgabe 2 einige Punkte holen.
Der einzige Teil, wo du selbst Code schreibst ist die Aufgabe 3. Und da war die letzte Klausur echt großzügig, es gibt aber auch hier teilweise fiese Fragestellungen, wie an der Klausur vorher ersichtlich.

Ich wage mal zu behaupten, dass du, wenn du die Kurseinheiten durcharbeitest und so ca. 90% der dazu gehörigen Übungen verstanden hast, und zusätzlich die Einsendeaufgaben machst, und diese wiederholst und verstehst, relativ gute Chancen hast, die Klausur auch zu bestehen. Es gibt ein paar Fragen, die durchaus so den Unterschied machen zwischen einer 2 und einer 1. Abseits davon ist Vieles jedoch durchaus machbar. Jedoch hängt auch viel von Aufgabenstellung ab bzw. ob du die verstehst.

Aber: Wenn du vorher noch nie programmiert hast musst du dich auf den Hosenboden setzen und wesentlich mehr tun als z.B. für irgendein BWL-Fach, weil du erstens die Syntax verstehen musst, zweitens das - ich nenne es mal - programmiertechnische Verständnis erwerben musst, und dieses drittens wiederholen und anwenden musst, um zum Verständnis zu kommen. Das hier ist kein Fach wie ExReWe, wo du mit Schema F meistens durchkommst, obwohl ExReWe auch seine ganz eigenen Schwierigkeiten hat. Du musst nicht nur anwenden, sondern auch verstehen, warum etwas passiert. Und hier denke ich, das es durchaus sinnvoll ist, sich die Themen, die du nicht verstehst, herauszuschreiben und dazu andere Erklärungen anzusehen. Viele der Probleme, mit denen du konfrontiert wirst, sind meistens auch noch irgendwo anders erklärt. Vielleicht sind die schwierig erklärt, an manchen Stellen sind durchaus auch einfach Fehler in den KEs, oder du verstehst es einfach nicht - kein Thema, du bist auch nicht der erste, der so etwas lernt bzw. lernen muss. Es ist keine Schande, sich das anzusehen. Ich habe in meinem Beruf auch nicht so viel mit solchen Theorien zu tun, sondern habe meistens handfeste praktische Probleme, bei denen ich aber auch viel logisch nachdenken muss. Nichtsdestotrotz habe ich mir vieles, wie AVL-Rotationen, die ganzen Sortieralgorithmen usw. eher auf Youtube angesehen bzw. versucht, sie selbst zu implementieren, nachdem ich das Prinzip verstanden habe, einfach, weil ich Erklärungen in den KEs dürftig fand. Ein anderer kommt damit vielleicht zurecht, ist ja auch egal.

Das führt mich zum eigentlich wichtigsten Tipp: Du musst programmieren.
Übe die Übungen. Arbeite auch andere Tutorials durch. Es gibt ein sehr breites Spektrum dazu, jeder hat mal irgendeine Lösung für irgendein Problem entwickelt. Und tue das nicht nur so wie als wenn du mal sagst: Jo, heute lerne ich das eine mal in der Woche, sondern am besten mehrere Tage bzw. jeden Tag ein kleines Problem. In der letzten Woche vor der Klausur habe ich mich jeden Tag von morgens bis abends hingesetzt und bin alles durchgegangen, habe mir jede Aufgabe angesehen, alles nochmal durchgearbeitet und versucht, selbst zu lösen, bis auf den Tag unmittelbar vor der Klausur. Das Auswendig-Lernen hilft dir nur bei der Theorie, du musst aber auch in der Lage sein, selbst Probleme lösen zu können.

Und wenn du Probleme damit hast, den Kurs zu verstehen bzw. mit der Zeit nicht zurecht kommst, dann nimm einfach nicht an der Klausur Teil sondern schreibe sie ein Semester später, auch das ist keine Schande. Programmieren ist sehr anspruchsvoll und - wie ich finde - eines der schwierigsten Fächer. Denn in der Klausur hast du keinen Compiler. Wenn du da die falsche Idee hast, dann ist deine Aufgabe bzw. Teilaufgabe bei 0 Punkten. Das darfst du nicht vergessen.


Vielen vielen Dank!
 
Bevor ich es vergesse (Weil ich das einreichen wollte):
Notenschnitt von diesem Winter (WS 2018/2019)

1: 2x
2: 7x
3: 21x
4: 18x
5: 59x

Gesamte Anzahl an Teilnehmern: 107.

Der Schnitt lag bei 4,2. Die Durchfallquote bei 55%.
 
Zuletzt bearbeitet:
Ich habe die Klausur im WS15/16 bestanden (siehe hier) und kann darum zur aktuellen Klausur und dem aktuellen Kurs nichts sagen, aber vielleicht ein paar hilfreiche, allgemeine Tipps, weil ich gerade von so vielen mitbekomme, dass es hier aktuell Probleme gibt:

a) Lernt OOP. Nicht Java.
Das heißt, lernt das Prinzip und die Logik dahinter. OOP ist viel viel viel mehr als Code, geschweige denn Java. Wenn Ihr das Prinzip verstanden habt, könnt Ihr Antworten und Lösungen besser herleiten. Und im Berufsleben (außer, Ihr arbeitet als Programmierer) wird Euch das eindeutig weiterhelfen. Was soll das Codeschnippsel gerade tun? Was ist das Konstrukt dahinter, in dem es eingebettet ist? Wie ist die Logik der Schritte? Was tut die Modellierung und was hat das mit dem Code zu tun?

b) Kommentieren, kommentieren, kommentieren
Ich war felsenfest überzeugt, dass ich damals durch die Klausur fallen würde. Ich habe sie eigentlich nur als Trainingsrunde für meine Prüfungspanik mitgeschrieben - und sehr überraschend mit einer 3 bestanden. Ich habe mir damals dummerweise keine Klausureinsicht besorgt, bin aber überzeugt, dass meine Code-Antworten sehr fehlerhaft waren. Ich habe aber immer und bei jedem Schritt in Java-Kommentarform daneben geschrieben, was die Logik dahinter ist, was ich mir dabei denke und was der Schritt tut, wenn er denn täte was er sollte. Ich bin überzeugt, dass das die kritischen Punkte gerettet hat.

c) Allgemeine Tipps
CodeAcademy: https://www.codecademy.com/ bietet auch einen Java-Online-Kurs an.
Bernhard Wurm "Programmieren lernen!" führt gut nachvollziehbar an die Logik hinter einem Programm heran und das "Denken als Programmierer". Die Übungen sind primär in C#, für das Modul hier also unbrauchbar, das Buch ist auch schon was älter (Tipp: Stadtbücherei), aber in den ersten zwei Kapiteln hatte ich schon einige entscheidende Aha-Effekte.

d) Mein Kollege ist echter Programmier, der sagt...
Die echten Programmierer werden sich über den Kurs kaputt lachen* (O-Ton mein Chef "Java? Lernst du an der Uni eigentlich auch was vernünftiges?"). Macht nix. Zeigt ihnen den Kurs erst gar nicht. Setzt euch einfach daneben und spielt die rubber duck für den Programmierer. Ihr müsst es nicht verstehen, Ihr müsst nur doofe Fragen stellen und den anderen so "zwingen" Euch alle Schritte darzulegen. Dadurch lernt Ihr die Logik kennen (und der andere findet seine Fehler im Code). Findet jemanden, mit dem / der ihr das im Tandem machen könnt.

*Echte Programmierer und Informatiker lachen sich immer über alles kaputt und sowieso sind sie immer toller und besser als alle anderen. Berufskrankheit. ;-)
 
Lernt OOP. Nicht Java.
Das heißt, lernt das Prinzip und die Logik dahinter. OOP ist viel viel viel mehr als Code, geschweige denn Java

Dem kann ich einerseits nur zustimmen, die Konzepte und Methoden der OOP sind wichtiger als intime Kenntnisse von Javadetails, andererseits habe ich aber doch den Eindruck, wenn ich in den tw. sehr harschen Kritiken zu diesem Modul in der NG oder auch hier lese, dass einige Studenten es nicht schaffen, drei Zeilen Java-Code hinzuschreiben, da war zuwenig Java in der Vorbereitung.
 
Dem kann ich einerseits nur zustimmen, die Konzepte und Methoden der OOP sind wichtiger als intime Kenntnisse von Javadetails, andererseits habe ich aber doch den Eindruck, wenn ich in den tw. sehr harschen Kritiken zu diesem Modul in der NG oder auch hier lese, dass einige Studenten es nicht schaffen, drei Zeilen Java-Code hinzuschreiben, da war zuwenig Java in der Vorbereitung.
Du hast recht, das war missverständlich ausgedrückt. Und ich stimme dir vollkommen zu. Natürlich muss man für den Kurs Java in seinen Grundzügen lernen. Und auch für das Verständnis von OOP ist die Auseinandersetzung mit einer entsprechenden Programmiersprache wichtig - auch für Bindestrichinformatiker.
Ich meinte damit, dass das Ziel am Ende nicht die perfekte Beherrschung von Java sein sollte. Sondern dass das eigentlich Ziel OOP sein muss und man sich von seiner Angst vor Java / Coden nicht zu stark beeinflussen lassen sollte. "Programmieren" scheint für manche eine mythische Tätigkeit zu sein, die nur ausgewählte Adepten in dunklen Höhlen nach asketischer Meditation erlernen können.
 
Setzt euch einfach daneben und spielt die rubber duck für den Programmierer. Ihr müsst es nicht verstehen, Ihr müsst nur doofe Fragen stellen und den anderen so "zwingen" Euch alle Schritte darzulegen. Dadurch lernt Ihr die Logik kennen (und der andere findet seine Fehler im Code). Findet jemanden, mit dem / der ihr das im Tandem machen könnt.

Tolle Idee, hatte bestimmt noch nie jemand vor Dir. Was tun die Studenten, die gerade keinen Programmierer auf der Arbeit sitzen haben, der Zeit dafür findet, Dir für Dein Studium zu erklären, wie Programmieren geht? Sollten wir alle nicht zum Arbeiten auf Arbeit sein? Ist ja nur eine Vermutung.....
Die Studenten, die Informatik an der FUH lernen, werden aufeinander aufbauend an das Thema Objektorientierung heran geführt. Da liegt das Hauptproblem, dass es im 20022 von null auf 100 % gehen soll, womit viele Studenten eben Probleme haben. Von noch nie Programmcode geschrieben haben zum Interpretierer von Programmcode werden in 2 Monaten oder was ist das Modulziel? Dr. Küpper und auch Dr. Bergenthum kommen aus der reinen Informatik und haben vermutlich auch noch Mathematik als Schwerpunkt studiert, die finden OOP natürlich leicht. Als ich das Alphabet lernte fand ich das im Nachhinein auch total leicht. Am Anfang ging so. Das Maß ist hier falsch angelegt, wir sollen erst nur Wirtschaftsmodule bis zum Erbrechen lernen, also reine Bulimie und dann kommt EOOP. Aber die Programmier-Gemeinde ist sich einig, die die hier Probleme haben scheinen auch ansonsten keine Leuchte zu sein. Das trifft nicht zu. Ihr spielt den Aufwand den man für EOOP betreiben muss um zu bestehen einfach nur runter. Es gibt keine guten Mentoren, die Newsgroup taugt nichts, weil da nur Experten mit Experten ihre Kräfte gegenseitig messen und mit C++ vergleichen, was mir nichts sagt, da ich nicht mal Baby-Schritte in Java hinkriege (Hello World kann ich schon, keine Angst). Studenten, die EOOP bestanden haben sind ungelogen alle mit Programmiererfahrung gesegnet und wenn sie noch so winzig war in VBA oder Pearl oder Python oder C++ oder Java, das im Job ziemlich oft als Standard genutzt wird (außer in der Firma vom Chef von Wolf). Im Bootcamp des Asta kriegt man eine Ahnung davon, was Java eigentlich bedeutet, nur da sollen die Studenten hin, die kurz vorm ProPra in Informatik stehen, also keine EOOP-Leute. Sowas müsste es geben, mit jmd. den man fragen kann, wenn man aktuell ein Problem im Code hat und nicht Frau Huppertz um Aufmerksamkeit bitten. Ihre Ausdrucksweise ist ein privater Code. Mit Kommunikation hat das nichts zu tun. Offensichtlich, ich kann EOOP nichts abgewinnen, obwohl ich gerne Programmieren gelernt hätte. Kein Witz. Selbst Mind Steps kann ich nicht nutzen, weil es lizenziert für Schulen ist. Damit lernen Schulkinder objektorientierte Programmierung. Es gibt Möglichkeiten. Man muss sie nur finden.
 
Ich würde es ja befürworten, wenn man die Diskussion abkoppeln/verlagern könnte. So vom reinen Erfahrungsbericht weicht es ja langsam ab.

Im Sommersemester wird es an drei Standorten Mentoriate geben und das Nürnberger wird auch als virtuelles Mentoriat fungieren. Dazu wurde die Moodle Umgebung ausgebaut.
Vermutlich wird dann in 5 Monaten der nächste Erfahrungsbericht gleich viel positiver klingen. :-)
 
Nachdem das Modul endlich bestanden hab, hier nun mein Bericht:

- Waren die Kurseinheiten verständlich?
Für mich schon, wobei ich nie versucht hab alles im Detail zu verstehen, bin über einfach nur lesen eigentlich nie richtig hinausbekommen. Grobe Zusammenhänge der OOP kann man da aber auch schon mitnehmen. Seit letztem Semester gibt es Video-Vorlesungen vom neuen Lehrenden. Die finde ich persönlich viel eingängiger als die Skripte, die allerdings auch überarbeitet wurden. (Hab ich aber nicht gelesen.)

- Wie ist das Moodle Angebot?
gab es zu meiner Zeit nicht, nur eine betreute Newsgroup. Ob man mit den Antworten zufrieden ist oder nicht, es gibt welche. Auf alle Fragen wir seit letztem Semester vom Prof selbst, davor von Frau Huppertz eingegangen.

- Empfehlenswerte mentorielle Veranstaltungen?
Als ich angefangen hab das zu "studieren" gab es einen Studientag, der war klasse, ist aber mittlerweile eingestellt. Ob es mal wieder einen gibt weiß ich nicht.

- Gibt es hilfreiche Bücher oder Fremdskripte?
keine Ahnung. Hatte diverse Java-Bücher, geholfen haben die mir aber nicht.

- Was würdest Du im Nachhinein anders machen?

weniger Angst haben und mehr programmieren. Über dieses Fach kursieren fast ausschließlich nur Horrormeldungen, weil es so schwierig sein soll, und die Klausuren unverhältnismäßig schwierig. Das hat dazu geführt das ich mich sechsmal von der Prüfung abgemeldet, weil ich dachte es reicht. Hätte es vermutlich auch nicht.
Als der Prof gewechselt hat im SS18 musste ich dann schreiben und bin natürlich durchgefallen. Nicht weil die Klausur schwer, sondern weil ich nicht programmieren kann. Die Theorie hatte ich komplett richtig, die Praxis dafür komplett falsch. Klar die Aufgabe war schwer, aber zumindest für Cracks nicht unlösbar.
Im WS 18/19 ist der Prof dann mit Videovorlesungen rausgerückt, die mir persönlich sehr geholfen haben. Die Aufgaben in der Klausur waren dann wieder überwiegend welche die dort auch besprochen wurden (Theorie) und die Praxis Aufgaben waren so gut, das auch da Punkte möglich waren.

Fazit: Programmieren kann ich leider nicht, aber dafür die Theorie und ich bin durch, wenn auch knapp. Vielleicht lerne ich Programmieren noch mal später..

- Sonstige Hilfen und Tipps?
Ich hab viel versucht um Programmieren zu lernen, hatte die Video-to-Brain (heißen jetzt anders glaub ich) angesehen, ein paar Bücher, durfte sogar einen Kurs auf meiner Arbeit mitmachen. Hilft aber nix, wenn man sich nicht hinsetzt und es auch tut.
 
Zurück
Oben