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

Hallo zusammen,

hat jemand noch Tipps/Erfahrungen die er aus dem letzten Semester mitteilen kann (Evtl. auch zur Klausur?)? Habe den Kurz im letzten Semester nochmals geschoben will aber kommendes Semester damit starten.

Reicht es aus, wenn man sich die Videos ansieht oder sollte man zusätzlich noch die KE´s durcharbeiten?

Vielen Dank!
 
Zuletzt bearbeitet:
Hallo zusammen,

hat jemand noch Tipps/Erfahrungen die er aus dem letzten Semester mitteilen kann (Evtl. auch zur Klausur?)? Habe den Kurz im letzten Semester nochmals geschoben will aber kommendes Semester damit starten.

Reicht es aus, wenn man sich die Videos ansieht oder sollte man zusätzlich noch die KE´s durcharbeiten?

Vielen Dank!

Ich würde sagen, die Videos an sich reichen nicht aus. Und auch die KEs an sich werden dir herzlich wenig helfen :-( die Skripte sidn zwar ein wenig bearbeitet, aber sie suggerieren eine andere Gewichtung als der Kurs-Betreuer (mit großer Wahrscheinlichkeit) beabsichtigt.

Bearbeite die EAs und versuche auch zu programmieren, um etwas lockerer in die Klausur zu gehen - ich finde den Kurs nicht gerade zielstrebend, aber das ist meine persönliche Meinung.

Und vergiss auch nicht, dass ab dem SS19 Klausurzulassung gilt: man muss mindestens 1 Punkt (!) in mindestens 5 KEs erreihct haben, damit man die Klausur schreiben darf.

Viel Erfolg!
 
Ich schreibe es nochmal explizit und kompakt hier hin, weil die Diskussion oben nicht sehr strukturiert war und es einige Nachfragen gegeben hat:

Seit kurzem gibt es eine Klausurzulassung! Diejenigen, die vorher ohne erarbeitete Klausurzulassung an Klausuren teilgenommen haben müssen den Nachweis für die Klausurzulassung jetzt erstmalig erbringen. Es ist also nicht so, dass eine Klausurzulassung verfallen ist.

Die erste Einsendearbeit (EA) ist schon 2 oder 3 Wochen nach Semesterbeginn fällig.

Man muss min. 5 von 7 EA erfolgreich bearbeiten.
Als erfolgreich bearbeitet zählt eine EA wenn insgesamt min. 1 Punkt erreicht wurde.

Die EAs bestehen hauptsächlich aus Mulitple-Choice-Aufgaben und zu erstellendem Programm-Code. Manchmal malt man auch „Bäume“ o. ä. und scannt das ein.

Für die Programmieraufgaben werden Testmodule bereitgestellt und man kann immer selbst prüfen ob das erstellte Programm richtig oder falsch ist. Sofern man nur korrekt funktionierende Programme einreicht, hat man alle notwendigen Punkte. Auch wenn da gerne etwas abgezogen wird, weil man den Quelltext nicht oder zuwenig kommentiert hat ;)

Im Prinzip reicht auch eine bestandene Multiple-Choice-Aufgabe für die ganze EA. Die Multiple-Choice-Aufgabe ist bestanden wenn man mehr als die Hälfte der Kreuze richtig gesetzt hat. Das ist eigentlich bei allen Multiple-Choice-Aufgaben so der Fall. Allein durch Raten würde man ja statistisch gesehen die Hälfte richtig haben.

Einfach alles ankreuzen bringt z. B. nichts, weil falsch angekreuzte Kästchen auch als Fehler gewertet werden. Aber ich denke das ist eigentlich so üblich und sollte so verständlich sein.

Es gibt da auch keine Negativpunkte (Strafpunkte), die sich auf die gesamte EA auswirken. Schlimmstenfalls gibt es für eine Unteraufgabe 0 Punkte. Aber niemals einen Abzug auf positive Punkte einer anderen Unteraufgabe.

Hier ist der Link wo es genau erklärt wird:

Dabei sollte man aber im Hinterkopf haben, dass auch die Bestehensgrenze an der Punktevergabe angepasst wird.
 
Am Wochenende kam das Schreiben der Fernuni, dass ich auch bestanden habe. Gerettet hat mich ein Geistesblitz in den letzten 10 – 15 Minuten der Klausur. Die Durchfallquote war mit 50,8 % erfreulich niedrig, die Durchschnittsnote lag bei 4,1. Einige eher erfahrene Programmierer haben auf unterschiedliche Plattformen die Klausur als fair beurteilt aber gleichzeitig angemerkt, dass ihnen die Zeit ausgegangen wäre...

Der Kurs 20022 ist nicht ohne und keinesfalls ein Sparkurs der richtigen Informatiker. Man hat hier min. zwei Module der reinen Informatiker in einem reingepackt und die Prüfung ist dementsprechend schwieriger (Aussage des Betreuers am Studientag).

- Waren die Kurseinheiten verständlich?

Die KE-Hefte sind eigentlich ganz gut und mir hat es Spaß gemacht sie zu bearbeiten. Man sollte aber für die Bearbeitung der Selbsttestaufgaben und vor allem der Einsendearbeiten vergleichsweise viel Zeit einplanen. Erst hier lernt man ja das selbstständige Programmieren. Leider wurde der Kurs vor einigen Jahren umgestellt (betrifft hauptsächlich KE 5 - 7) und in den gedruckten KE waren da immer noch recht viele Fehler vorhanden.

- Wie ist das Moodle Angebot?

Die Kommunikation läuft hauptsächlich über die Newsgroup. Der Betreuer (Herr Küpper) ist da einerseits sehr engagiert und antwortet mit einer engelsgleichen Geduld recht schnell auf die meisten Fragen. Andererseits habe ich oft den Eindruck gewonnen, dass seine Antworten dem Fragesteller nicht wirklich weiterhelfen.

In meinen Augen benötigt er aber einen Übersetzer oder so einen kongenialen Sidekick wie man es früher von Frau Huppertz gelesen hat. Im vergangenen Semester gab es aber auch noch zwei Kommilitonen, die oft versucht haben anderen weiterzuhelfen und da viel Zeit und Energie in verständliche Antworten investiert haben. Insgesamt ist das Interesse am Austausch zwischen den Studenten aber sehr gering.

- Empfehlenswerte mentorielle Veranstaltungen?

Von virtuellen Mentoriaten wusste ich bis vor kurzem nichts. Am besten also das Angebot aller Studienzentren überprüfen.

Es gibt einen Studientag (auch virtuell) vor der Klausur mit Videoübertragung (Video hat bei uns nicht funktioniert). Seit dem vorhergehenden Semester gibt es auch noch einen zweiten Studientag via Discord (kein Ton, nur lesen und schreiben). Der Discord-Channel ist auch über das Jahr offen und der Betreuer ist oft anwesend. In diesem Semester wurde der Discord-Channel gerade zur Klausur hin und danach öfter genutzt.

- Gibt es hilfreiche Bücher oder Fremdskripte?

Falls man etwas in den Skripten nicht versteht, sollte man auf Fremdliteratur ausweichen. Z. B. das oft genannte und kostenlose (ältere Version, reicht aber locker) „Java ist auch eine Insel“. Dazu noch ab und zu die Primärliteratur (offizielle Java-Dokumentation). Mehr braucht man eigentlich nicht.

- Was würdest Du im Nachhinein anders machen?

Aber jetzt kommen wir zum Problem. Weder die Selbsttestaufgaben noch die Einsendearbeiten (das sind noch immer die gleichen) bereiten einem auf die aktuelle Klausur seit dem Betreuerwechsel vor. Die letzten drei Einsendearbeiten wurden auch erst kurz vor der Klausur korrigiert.

Wenn ich mir die letzten Klausuren die ich kenne so ansehe, komme ich zu folgendem Schluß: Die Fragen werden nicht mehr so klar gestellt, der Programmcode enthält absichtliche Tretminen. Man möchte jetzt in der Klausur eher die Kreativität im Problemlösungsprozeß prüfen. Das hat eher so den Charakter eines Glückspiels, kommt man auf die Lösung oder nicht.

Das Niveau bei den kurzen Fragen hat auch ordentlich angezogen, der üblichen Spickzettel ist da nicht mehr ganz so hilfreich für einfache Punkte.

Lasst euch davon aber bitte nicht entmutigen, man kann die Klausur sicherlich schaffen. Aber bestimmte Sachen sollten dazu halt gut (und ohne Spickzettel) sitzen:
- prozeduraler Programmierung (Schleifen usw.)
- OOP (Klassen usw.).
- und speziell praktisch Java eher auf Einsteiger-Niveau

Sucht rechtzeitig Kontakt zu anderen Studierenden, die dieses Martyrium schon hinter sich haben.

- Sonstige Hilfen und Tipps?

Bei der Entwicklungsumgebung für Java würde ich mich als Einsteiger übrigens nicht mit Eclipse rumschlagen. BlueJ BlueJ reicht da locker aus.

Um die Newsgroups zu nutzen sollte man nicht die Webplattform verwenden sondern z. B. Mozilla Thunderbird:
 
Zuletzt bearbeitet:
Ich habe gerade gesehen, dass meine Ergänzung zu der konkreten Klausur WS19/20 nicht hochgeladen wurde. Aber ich denke es ist doch hilfreich zu wissen, wie die Klausur halbwegs aussieht und wie korrigiert wird. Obwohl das natürlich immer abweichen kann, ich hoffe es hilft euch ein bisschen:

Ich hoffe ich habe die Leute mit meinem letzten Beitrag hier nicht allzu verschreckt. Man weiß halt bei dem Kurs nicht, was auf einem in der Klausur zukommt (Insbesondere seit dem Betreuerwechsel).

Daher wollte ich nochmal speziell auf das Thema Klausur eingehen und habe für die die zukünftigen „Verlorenen“ ;) die Klausureinsicht beantragt.

Bei den Schilderungen beziehe ich mich auf Vorgaben, die im Moodle für das SS 2020 genannt wurden und auf die Erfahrungen von mir und anderen mit der letzten Prüfung WS19/20 und auch auf das was ich von den vorherigen Prüfungen (mit diesem Betreuer) in Erfahrung gebracht habe.

Generell besteht die Klausur aus 4 Teilen:
Aufgabe 1: Kurze Fragen
Aufgabe 2: Programmanalyse
Aufgabe 3: Implementation
Aufgabe 4: Algorithmen und Datenstrukturen

Die Punkte unter den 4 Aufgaben sind halbwegs gleich verteilt, für jede Unteraufgabe erhält man etwa ein Viertel der Gesamtpunkte. Allerdings sind mit den Fragen 1 und 4 (als sogenannte Theoriefragen) zusammen immer etwas weniger als 50 Punkte/Prozente erreichbar.

Für die Klausur hat man 120 Minuten und sie ist rein schriftlich, man muss den Programm-Code (Java) per Hand hinschreiben. Es gibt also keine PCs mit einer Entwicklungsumgebung.

Als Hilfsmittel ist ein sogenannter Spickzettel zugelassen:
„Es ist weiterhin erlaubt, ein beidseitig maschinell oder handschriftlich mit beliebigen Inhalten beschriebenes DIN-A4-Blatt mit in die Klausur zu nehmen.“
Wenn ich mich recht entsinne war früher öfter das Kriterium dabei, dass der Spickzettel selbst erstellt sein müsste. Wobei auch der Betreuer sich gefragt hat, wie das überhaupt kontrolliert werden kann….


1. Aufgabe (6 Kurze Fragen zu je 4 Punkte = 24 Punkte)

Der Spickzettel hilft hier den meisten nicht allzu sehr und es wird schon sehr genau abgefragt. Korrektur ist ebenso genau um nicht zu sagen eher überkritisch.

Ich hatte im Schnitt 3/4 der Punkte.


2. Aufgabe Programmanalyse (25 Punkte)

Hier bekommt man etwas Code und Hinweise vorgesetzt. Dazu kommen Fragen, wie:
Welche Ausgabe kommt bei der Eingabe von X?
Was macht eine bestimmte Unter-Methode?
Was macht der Code an sich?

Konkret ging es im WS19/20 um ein Programm das nach der Cäsar-Chiffre verschlüsseln und entschlüsseln kann.

Hinweise waren da z. B. der Name der Methode „gaius“ und als Hinweis wurde einem auch das Alphabet abgedruckt. Wenn man die Antwort weiß, ist alles klar…
Bei Altklausuren viel es mir auch viel leichter als dann bei der ersten Klausur an der Fernuni

Vielen hat anscheinend die Verwendung des ternären Operators ( ? : ) das Genick gebrochen. Der steht in der Tabelle der Operatoren ganz am Anfang der KE drin und wurde ansonsten nie weiter behandelt.

Neu war hier „als Zwischenschritte mindestens die Methodenaufrufe“ aufzuschreiben. Einiges an primitiver Schreibarbeit, soll laut Betreuer allerdings als Punkteretter fungieren.

Man kann sich ansonsten mit den Antworten recht kurzhalten. Bei der Frage nach der allgemeinen Problemstellung gab „Verschlüsselung/Entschlüsselung Caesar-Chiffre“ die volle Punktzahl. Etwaige Rechtschreibfehler wurden nicht abgezogen ;)


3. Aufgabe Implementation (26 Punkte)

Hier muss man dann wirklich selbst Java-Code zu Papier bringen. Es ging um ein rudimentäres 2D-Videospiel bestehend aus der Klasse Rechteck, die sowohl als Spielfigur als auch als Begrenzung der Labyrinth-Wände verwendet wird.

Bei 4 Unteraufgaben musste man 2 x eine Klasse schreiben ohne den Rumpf der enthaltenen Methode auszufüllen. Bei den anderen 2 Unterausgaben ging es dann darum genau diese Methoden zu coden.

Hier könnte sich taktisches vorgehen lohnen. Eine der Methoden-Implementierungen brachte nur 8 von 26 Punkten. Da es die Kollisions-Abfrage war, war das unverhältnismäßig aufwändig. Das Antwortfeld war so groß wie bei den simplen Unteraufgaben. Das habe ich auch fast komplett und ohne leere Stellen links oder rechts - oder gar leere Zwischenzeilen - mit Java-Code ausgefüllt.

Dabei war ich nur bei der Abfrage der X-Achse! Als Verzweiflungstat habe ich dann am Ende nur noch den Java-Kommentar eingefügt, dass man die Y-Achse ebenso abfragen muss. Das ergab dennoch die volle Punktzahl. Vielleicht hat der Betreuer da die Unteraufgabe selbst unterschätzt. Insgesamt habe ich da aber den Eindruck, dass sehr fair korrigiert wird und man sich jetzt keine Sorgen machen muss ob das jetzt als Punkt oder Komma interpretiert werden kann. Aber Java muss wirklich sitzen und nicht mit Kommentaren sparen.


4. Aufgabe: Algorithmen & Datenstrukturen (25 Punkte)

Die Aufgabe 4 war dieses mal eher einfach. (Der Betreuer balanciert die Klausurschwierigkeit zwischen Aufgabe 4 und 2+3)

Hier ging es um das Pascalsche Dreieck und der rekursiven Berechnung des Binomial-Koeffizienten. Die rekursive Berechnungsvorschrift wurde sogar angegeben. Die Formel ohne Bruchstrich hat einige (mich eingeschlossen) allerdings verwirrt.

Bei der ersten Unteraufgabe sollte man die überlappende Teilprobleme zeigen (Theorie).

Die zweite Unteraufgabe war wieder Coden: Implementierung der rekursiven Berechnung mit Memoisation. Da hatten einige Probleme mit dem notwendigen zweidimensionalen Array.


Insgesamt:

Es ist und bleibt ein Glücksspiel, da mit dem neuen Betreuer zu einem großen Teil „Kreatives“ und sehr theoretisches abgefragt wird und nicht nur normales Verständnis von Java-Code von einem Einführungs-Kurs.

Dass die Klausur beidseitig ausgedruckt wird ist auch ein Witz. Bei Aufgabe 3 musste man ständig hin- und her blättern. Ein derartiger Verbesserungsvorschlag wurde vom Betreuer aber sofort abgelehnt. Vielleicht sollten da ein paar Betroffene weiter insistieren. Dann kann er auf die paar Extrablätter am Ende verzichten und die Rückseiten werden dafür verwendet?

Das wichtigste: Sucht euch am besten Kontakte, die schon ein Erfahrung mit den Klausuren gemacht haben.
 
Da ich die gleiche Klausur geschrieben (und zum Glück bestanden) habe wie Duster, eine kleine Ergänzung aus meiner Sicht:

1. Man kann auf 25% setzen oder auf >=50%. Der Zeitaufwand zwischen beiden Varianten ist für Anfänger erheblich, da die 50% ein tiefes Verständnis und Programmiererfahrung erfordern. Das heisst für die 50%-Variante: mit z.B. Eclipse coden coden coden üben. Im 50%-Fall Anfänger also sehr viel Zeit und Aufwand einplanen, mehr als in anderen Fächern. Allein die Einrichtung der Umgebung braucht etwas Zeit.

2. Wer auf 25% setzt, kann mit Teil 1 (kurze Abfrage der Definitionen) schon maximal 24% erreichen. Dazu ist es erforderlich, gängige Spickzettel sinnvoll zu modifizieren und zu optimieren, d.h. javaspezifisches hinzufügen und Allgemeines wie UML raus. Ich hatte hier so ziemlich viele Treffer. Die Basics sollte man aber auch hier können (Programmstruktur, Deklarationen, Methodenaufrufe etc.).

3. Wenn Ihr nicht weiter wisst, aber noch Zeit übrig habt, schreibt. Und selbst wenn es nur Eure Gedanken zum Programm oder zum Ablauf, oder nur Programmfragmente sind: alles kann die entscheidenden Punkte bringen. Und sonst: kommentiert Euren Code. Das kann auch bei falschem Code noch Punkte bringen. OOP ist nicht nur Code, sondern auch Logik und Verständnis.
 
Die Klausurzulassung bleibt aber gültig, falls man die Klausur doch erst in einem späteren Semester schreibt oder? Oder müssen die EAs dann wieder neu bearbeitet werden?
 
Vor einigen Jahren gab es keine Zulassung. Seitdem es die gibt, reicht das einmalige bestehen der EA. Die einmal erlangte Klausurzulassung bleibt also gültig!

Man muss nur aufpassen: Die Bearbeitungsfrist startet sehr früh.
 
Ich hoffe, das ist okay so. Ich habe extra noch eine Grafik aus einer KE durch einen Nachbau ersetzt. ;-)
Seite 1 ist Eigenarbeit, aber inspiriert von anderen Spickern. Seite 2 ist wie gesagt geklaut von Erfahrungsbericht zum Modul "Einführung in die objektorientierte Programmierung" an der Fernuniversität Hagen
Hallo Wolf,
hättest du evtl. auch die Word Datei zum download. Oder wäre das zu viel des Guten?
Würde mir wirklich sehr helfen.

Vielen Dank im Voraus.
VG
Feanor
 
So nun meine Erfahrung:
Kurz zu mir: Hatte vorher genau 0 Erfahrung mit Java und Mathe ist generell nicht meine aller größte Stärke.
Da wird die Ergebnisse schon nach Tagen hatten bin ich einfach froh mit 54 Punkten durchgekommen zu sein.
Ich habe mich wirklich auf dieses Modul gefreut (endlich Programieren!), muss für mich persönlich aber sagen, dass dies nicht meine Zukunft sein wird :D

Zum Modul:
Habe gleichzeitig Theoretische Informatik als Modul gemacht (studiere Teilzeit, immer abends) und muss sagen diese beiden zusammen sind extrem fordernd.
Die Skripte sind eigentlich sehr gut aufgebaut und man kommt von Anfang an mit um was es geht. Es gibt zu jedem Kapitel auch Videos wo Herr Küppers alles genau erklärt. Mir persönlich bringt es bei Programmiersachen mehr, wenn ich das Skript vor mir liegen habe, auch um alles schön nachzuvollziehen und mit meinen Notizen zu versehen.
ACHTUNG: Es sind 5 von 7 Einsendeaufgaben zu bestehen um überhaupt an der Klausur teilzunehmen. Diese beginnen schon extrem früh im Studium, also auf jeden Fall die Einsendefristen im Hinterkopf behalten!
Und genau hier kam mein erster Frust. Mit dem bisschen Wissen aus Skripts und Videos hatte ich oft große Schwierigkeiten die komplexen Aufgaben per Code im Eclipse zu lösen. Immer wenn ich danach die Lösung gesehen hatte, kam sie mir schlüssig vor, ich selbst hätte so etwas wahrscheinlich nie alleine hinbekommen. Der Schwierigkeitsgrad zieht dann mit jedem Skript bedeutend an, Skript 5 und 6 sind dann richtig schwerer Stoff (Algorithmen, Rekursion usw.) Hier musste ich mich wirklich reinknien um etwas mitzunehmen.
Ein Wort zum Kursbetreuer: Ein riesiges Lob an Herrn Küppers: Er war immer erreichbar, egal ob per Mail oder im Discord Channel, man konnte ihm wirklich jede Frage auch 5x stellen. Er selbst versteht was von Java, das sieht man auch oft an den Antworten. Aber vom Suport her, für mich bis jetzt das beste Modul.

Zur Klausur:
Hier ist es wahrscheinlich schwierig etwas zu schreiben, da es dieses Semester anders wie sonst ablief:
1. Es war eine reine Onlineklausur
2. Man brauchte keinen Spickzettel, sondern man konnte JEDES ausgedruckte Dokument nehmen. Also alle Skripts, Zettel, Bücher
3. Es gab KEINE Überwachung, also theoretisch konnte man im Internet Infos suchen wie man wollte, ABER meiner Meinung nach ist es unmöglich nur mit Hilfe von Internetrecherche zu bestehen.
4. Die Multiple Choice Fragen waren wirklich heavy, weil es bei einer falschen Antwort Minuspunkte gab. Man hatte die Möglichkeit nichts anzukreuzen und somit mit 0 Punkten rauszugehen. Für Zocker war dies aber sehr gefährlich. Ich hatte am Ende von den 24 Fragen 14 angekreuzt, davon 2 falsch also 10 Punkte geholt. Auch bei den anderen Themen gab es für die MC Fragen Minuspunkte.
Die Codeanalyse hat mir genau 0 Punkte gebracht. Kam viel zu spät dahin und hatte es auch nicht wirklich verstanden. Mein Fokus lag auf den anderen Teilbereichen.
5. Implementation: Hier gab es ein Novum: Es musste absolut KEIN Code abgegeben werden, sondern nur die Lösung eines Problems. Es gab 2 Aufgaben zu je 12 und 13 Punkten. Diese hatte ich beide richtig, also haben die mir den Arsch gerettet. Man musst 74 (?) verschiedene Flächen von Rechtecken berechnen (Also Länge mal Breite) und die Summe aller Flächen ausgeben. Hier hat der Professor einen Fallstrick eingebaut, da es 10 verschiedene Endergebnisse gab, also 10 verschiedene Längen und Breiten. Bei der zweiten Implementation musste man die Summe aller Quadratzahlen bis zu seinem eigenen Geburtsjahr bilden. also 1,4,9,16 usw. bis bei mir eben 1983.
Die 4. Aufgabe hat mir auch sehr viele Punkte gebracht. Es ging um Algorithmus und Datenstrukturen. Gefragt waren Binäre Suchbäume, Breitensuche, AVL Bäume. Alles was ich eigentlich recht gut drauf hatte.

Als Fazit muss ich sagen, dass dieses Modul wirklich sehr, sehr zeitintensiv ist und wie ich bei einem meiner Vorredner gelesen habe um 50+ Punkte zu holen muss man sehr viel investieren. Der Schwierigkeitsgrad zieht ab dem 3. Skript merklich an. Unser glück war auch, dass die Korrekturen der Einsendearbeiten des 7. Skriptes zu lange gedauert haben und dieses Skript für die Klausur gestrichen wurde.

Wenn noch Fragen sind, stehe ich gerne zur Verfügung!
 
Zurück
Oben