Übungsorganisation
Siehe unten auf dieser Seite
Programmierprojekt
Organisatorisches (unbedingt gut durchlesen!)
- Das Programmierprojekt ist in der Gruppe zu bearbeiten, in der Sie sich zu
Beginn des Semesters angemeldet haben (also ein oder zwei Gruppenmitglieder).
- Dieses Programmierprojekt ist mit 20 Punkten angesetzt. Dies entspricht
20% ihrer Endnote im Fach Allgemeine Informatik 1. Die Abschlussklausur wird die
restlichen 80% ausmachen.
- Verwenden Sie als Vorlage unbedingt die Vorgabe-Datei,
die Sie auch noch mal weiter unten finden, und erweitern Sie diese. Fangen Sie keine neue Datei an!
- Tragen Sie als erstes in die Datei Name, Matrikelnummer und
RBG-Login von allen Gruppenmitgliedern ein.
- Die Übung wird per KarelJIDE-Submit-Funktion an uns gesendet (in der KarelJIDE auf
"Submit" klicken), wobei für "Exercise sheet" und "Exercise number"
jeweils "1" angegeben werden muss. Vorher ist allerdings unbedingt der
Einstellungsassistent zu benutzen!
- Bei Zweiergruppen schickt nur eines der Mitglieder das Projekt ein, nicht beide.
- Abgabeschluss ist spätestens der 13. Januar 2007.
- Bitte kommentieren Sie ihren Quellcode hinreichend.
- Wichtig:
"Der Fachbereich Informatik misst der Einhaltung der Grundregeln der
wissenschaftlichen Ethik großen Wert bei. Zu diesen gehört auch die strikte Verfolgung von
Plagiarismus. Mit der Abgabe ihrer Lösung bestätigen Sie, dass Sie der alleinige Autor /
die alleinigen Autoren des gesamten Materials sind. Bei Unklarheiten zu diesem Thema finden Sie
weiterführende Informationen auf
http://www.informatik.tu-darmstadt.de/Plagiarism oder sprechen Sie Ihren Betreuer an."
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: |
2 Punkte |
Aufgabe 2: |
2 Punkte |
Aufgabe 3: |
4 Punkte |
Aufgabe 4: |
5 Punkte |
Aufgabe 5: |
5 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
Achtung: neue Version vom 22.11.2006.
Änderungen seit der Ursprungsversion:
- helfer startet in Aufgabe 5 auf (9, 5) statt (9, 2)
- katrin in Aufgabe 4 auf (6, 1) statt (8, 1).
- Die Klasse ModifiedAdder in Aufgabe 4 erbt von Adder, nicht von ExtendedRobot.
Vorgabe-Datei,
KarelJIDE-Einstellungsassistent,
Plagiat-Infos
Musterlösung
Übungsaufgaben und Musterlösungen
Zum Ansehen der Übungen benötigen Sie den kostenlosen Adobe Reader,
der auf den Poolrechnern schon installiert ist (
acroread
), zum
Entpacken der Musterlösungen ein ZIP-Programm (z.B. WinRAR oder WinZIP,
im Poolraum:
unzip loesungXX.zip
).
Falls sie den Adobe Reader oder WinRAR nicht haben, finden Sie auf der
Material-Seite im Abschnitt
"Wichtige / interessante Links"
entsprechende Verweise.
Übung 13 |
Scope, Zahlensysteme, Arrays, Rekursion
Bearbeitungszeitraum:
05.02.2007 bis
11.02.2007 |
Übung: |
|
Musterlösung: |
|
|
|
Übung 12 |
for-Schleifen, Arrays, Sortieren
Bearbeitungszeitraum:
29.01.2007 bis
04.02.2007 |
Übung: |
|
uebung12-2.task: |
|
uebung12-4.task: |
|
uebung12-5.task: |
|
Musterlösung: |
|
|
|
Übung 11 |
Rekursion, Arbeiten ohne Roboter
Bearbeitungszeitraum:
22.01.2007 bis
28.01.2007 |
Übung: |
|
Musterlösung: |
|
|
Achtung: neue Version vom 19.01.2007! |
Übung 10 |
Strafarbeit, Linienalgorithmus
Bearbeitungszeitraum:
15.01.2007 bis
21.01.2007 |
Übung: |
|
uebung10-1.task: |
|
uebung10-2.task: |
|
Musterlösung: |
|
|
Achtung: neue Version vom 15.01.2007! |
Übung 9 |
Methoden
Bearbeitungszeitraum:
08.01.2007 bis
14.01.2007 |
Übung: |
|
uebung09-1.task: |
|
uebung09-2.task: |
|
Musterlösung: |
|
|
|
Übung 8 |
Methoden, Attribute, Konstruktoren
Bearbeitungszeitraum:
18.12.2006 bis
24.12.2006 |
Übung: |
|
uebung08-2.task (Vorgabe für Aufgabe 2): |
|
uebung08-3.task (Vorgabe für Aufgabe 3): |
|
Musterlösung: |
|
|
Achtung: neue Version vom 13.12.2006 (Tippfehler in Aufgabe 3)! |
Übung 7 |
Wiederholung, Maximumsberechnung
Bearbeitungszeitraum:
11.12.2005 bis
17.12.2005 |
Übung: |
|
Musterlösung: |
|
|
|
Übung 6 |
Polymorphie
Bearbeitungszeitraum:
04.12.2006 bis
10.12.2006 |
Übung: |
|
uebung06-3.task: |
|
Musterlösung: |
|
|
|
Übung 5 |
Benutzung von while
Bearbeitungszeitraum:
27.11.2006 bis
03.12.2006 |
Übung: |
|
Musterlösung: |
|
|
|
Übung 4 |
Eigene Roboterklassen und Methoden
Bearbeitungszeitraum:
20.11.2006 bis
26.11.2006 |
Übung: |
|
uebung04.task: |
|
Musterlösung: |
|
|
|
Übung 3 |
Fehler in Programmen, World.placeBeepers, loop
Bearbeitungszeitraum:
13.11.2006 bis
19.11.2006 |
Übung: |
|
Musterlösung: |
|
|
|
Übung 2 |
KarelJIDE, Fehler, Formatierung, Quadrat
Bearbeitungszeitraum:
06.11.2006 bis
12.11.2006 |
Übung: |
|
uebung02.task: |
|
Musterlösung: |
|
|
|
Übung 1 |
Einführung
Bearbeitungszeitraum:
30.10.2005 bis
05.11.2005 |
Teil 1: |
|
Teil 2: |
|
karel.task: |
|
|
Bitte melden Sie sich (falls noch nicht geschehen) für einen Poolbetreuungstermin (und damit das Programmierprojekt) an. |
Übungsorganisation
Ab 23.10.2006 finden wöchentlich Poolraumbetreuungen statt (die Termine
finden Sie auf der Seite
Organisation). Die Übungen
werden immer am Tag der Vorlesung
veröffentlicht
(die erste am 24.10.2006). Sie haben dann bis mindestens Sonntag der selben Woche
Zeit, die Übung selbständig zu bearbeiten (der Poolraum steht Ihnen
dafür natürlich offen), bei Ihrem Poolbetreuungstermin der folgenden
Woche können Sie dann Fragen stellen, die bei der Bearbeitung der
Übungsaufgaben aufgetreten sind (oder
notfalls
auch dort Ihre
Übungsaufgaben erledigen).
Für die Poolraumbetreuung müssen Sie sich
anmelden
(nur für die
Termine bis einschließlich 01.11.2006 müssen Sie noch nicht angemeldet sein -
beachten Sie aber bitte, dass die Poolräume gerade zu den beliebteren Terminen
sehr voll sein können).
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 angeben) und werden dann
einem Betreuungstermin fest zugeteilt. Sie können bei der Anmeldung auch eine
weitere Matrikelnummern angeben, wenn Sie während der Poolraumbetreuung gerne
mit einem Bekannten zusammen arbeiten. Dieser Student wird dadurch automatisch mit
angemeldet und der selben Gruppe zugeteilt.
Den Link zur Anmeldung finden Sie links im Menü unter dem Punkt
Übungsanmeldung. Sie benötigen für die Anmeldung
(wie auch für das Arbeiten im Poolraum) zwingend einen RBG-Account
(siehe
Organisation
, Abschnitt "Zugangsberechtigung").
Anmeldeschluss war Donnerstag, der 02.11.2006 um 23:00 Uhr, die Zuteilung der Gruppen
zu den Terminen steht seit 06.11.2006 im Netz. Ihre Zuteilung können Sie auf der
"Übungsanmeldung"-Seite erfahren.
Wichtig:
Die Anmeldung für die Poolbetreuung ist gleichzeitig die Anmeldung zum
Programmierprojekt, mit dem Sie 20% der
Gesamtpunkte erreichen können. Sie bearbeiten dieses Projekt in der
gleichen Gruppe, in der Sie sich für die Poolraumbetreuung anmelden
(also alleine oder mit einem Partner). Selbst wenn Sie nicht vorhaben,
die Poolraumbetreuungstermine zu besuchen, müssen Sie sich dafür
anmelden, wenn Sie das Programmierprojekt bearbeiten wollen!