Skip to main content.

Zurück

Übungsorganisation

Ab 29.10.2007 (dritte Vorlesungswoche) finden wöchentlich Poolraumbetreuungen statt (die Termine finden Sie auf der Seite Organisation). Die Übungen werden immer vor dem zugehörigen Betreuungstermin veröffentlicht. Sie sollen die Übungen möglichst selbständig bzw. unter Zuhilfenahme des Skripts bearbeiten (der Poolraum steht Ihnen dazu natürlich auch außerhalb der Betreuungstermine offen), bei auftretenden Fragen wenden Sie sich dann an Ihren Tutor.

Für die Poolraumbetreuung müssen Sie sich anmelden. Sie geben bis zu drei Wunschtermine an, sowie bis zu zwei Termine, an denen Sie absolut keine Zeit haben (Sie müssen allerdings Gründe dafür angeben) und werden dann einem Betreuungstermin fest zugeteilt. Sie können bei der Anmeldung auch bis zu zwei weitere Matrikelnummern angeben, wenn Sie während der Poolraumbetreuung gerne mit Bekannten zusammen arbeiten. Diese Studenten werden dadurch automatisch mit angemeldet und der selben Gruppe zugeteilt.

Sie benötigen für die Anmeldung (wie auch für das Arbeiten im Poolraum und die Anmeldungen zum Programmierprojekt und zur Klausur) zwingend einen RBG-Account (siehe Organisation, Abschnitt "Zugangsberechtigung") - bitte besorgen Sie sich also schnellstmöglich einen!

Der Anmeldeschluss war Freitag, der 26.10.2007 um 22:00 Uhr.

Ihre Zuteilung finden Sie hier: WebReg-Anmeldesystem


Sollten Sie noch nicht angemeldet sein, schicken Sie bitte so schnell wie möglich Christian Heinig eine E-Mail mit folgenden Daten:

Programmierprojekt

Organisatorisches:

Bewertungsschema:

Wenn Ihr Projekt gar nicht ausführbar ist (z.B. durch Syntaxfehler), gibt es insgesamt 0 Punkte auf Ihre Abgabe. Achten Sie also darauf, dass die KarelJIDE beim Klick auf "Execute" keine Fehlermeldungen anzeigt.
Wir behalten uns vor, das Programmierprojekt mit 0 Punkten zu bewerten, wenn die unter "Organisation" genannten Punkte missachtet werden.

Aufgabe 1: 1 Punkt
Aufgabe 2: 3 Punkte
Aufgabe 3: 6 Punkte
Aufgabe 4: 4 Punkte
Aufgabe 5: 2 Punkte
Aufgabe 6: 2 Punkte
Formatierung + Kommentierung: 2 Punkte
Gesamt: 20 Punkte

Zur Formatierung:
Rücken Sie alles, was zwischen geschweiften Klammern steht,um mindestens zwei Leerzeichen ein und schreiben Sie im Allgemeinen jeden Befehl in eine eigene Zeile. Ausnahme: Schleifen, die nur eine Anweisung wiederholen, können gerne in der Form "while (frontIsClear()) move();" geschrieben werden. Es ist sinnvoll, logisch zusammengehörige Code-Blöcke durch Leerzeilen voneinander zu trennen. Vergeben Sie möglichst "sprechende" / selbsterklärende Variablennamen.

Zur Kommentierung:
Kommentieren Sie kurz jede Methode (Was macht sie? Wie macht sie es?) und Programmabschnitte, die Ihrer Meinung nach erklärungsbedürftig sind (z.B., weil Sie selbst etwas darüber nachdenken mussten). Also beispielsweise Schleifen (insbesondere verschachtelte), komplexere if-Bedingungen und ähnliches. Kommentieren Sie lieber einen Block mit "Der Roboter geht bis zur nächsten Mauer und legt auf jede besuchte Kreuzung zwei Beeper" als jede einzelne Anweisung mit "Der Roboter geht einen Schritt nach vorne". Versuchen Sie, einen Mittelweg zwischen "zu wenig" und "zu viel" zu finden. Die Kommentare dienen dem Zweck, anderen die Funktion Ihres Codes zu erklären (wobei vorausgesetzt werden kann, dass diese anderen halbwegs in KarelJ bewandert sind), sollen aber auch Ihnen selbst helfen, Ihren Code nach einiger Zeit noch zu durchschauen. Wenn Sie daran denken, können Sie eigentlich nicht viel falsch machen.

Aufgabenstellung
Vorgabe-Datei: propro.task

Achtung: neue Version vom 09.12.2007!
- Bei der Berechnung der Kompressionsrate soll der erste Beeperstapel nicht berücksichtigt werden.

WebReg-Anmeldesystem
KarelJIDE-Einstellungsassistent
Plagiat-Infos

Übungen

Übung 1 (Einführung)
Teil 1
Teil 2
karel.task
Übung 2 (KarelJIDE, Fehler, Formatierung)
Aufgabenstellung
uebung02.task
Musterlösung
Übung 3 (Fehler in Programmen, World.placeBeepers, loop)
Aufgabenstellung
Musterlösung
Übung 4 (Eigene Roboterklassen und Methoden)
Aufgabenstellung
uebung04.task
Musterlösung
Übung 5 (while-Schleife)
Aufgabenstellung
Musterlösung
Übung 6 (Polymorphie)
Aufgabenstellung
uebung06-3.task
Musterlösung
Übung 7 (Wiederholung)
Aufgabenstellung
Musterlösung
Übung 8 (Methoden, Attribute, Konstruktoren)
Aufgabenstellung
uebung08-2.task
uebung08-3.task
Musterlösung
Übung 9 (Methoden)
Aufgabenstellung
uebung09-1.task
uebung09-2.task
Musterlösung
Übung 10 (Strafarbeit, Linienalgorithmus)
Aufgabenstellung
uebung10-1.task
uebung10-2.task
Musterlösung
Übung 11 (Rekursion, Arbeit ohne Roboter)
Aufgabenstellung
Musterlösung
Übung 12 (Wiederholung, Anwendung)
Aufgabenstellung
uebung12-2.task
uebung12-4.task
uebung12-5.task
Musterlösung