Programmierprojekt
Organisatorisches (unbedingt gut durchlesen!)
- Sie mussten sich für das Programmierprojekt anmelden.
Sie können das Projekt in Gruppen bis zu drei Personen bearbeiten - dazu geben Sie bei der
Anmeldung die zusätzlichen RBG-Loginnamen mit ein. Anmeldeschluss war der 17. Juni 2007.
- Abgabeschluss ist Freitag, der 13. Juli 2007.
- Die Bewertung der Abgaben geschieht durch Testate in der letzten Vorlesungswoche
(16. bis 20. Juli 2007).
- Bitte beachten Sie Ihre feste Zuteilung zu einem Testattermin!
- Wenn Sie ein Problem mit Ihrem Termin haben, schreiben Sie
Tobias Hennchen
bis 08.07.2007 eine Mail. Sie können allerdings nur in einen Termin wechseln, an dem mindestens
ein Gruppenmitglied seinen Übungstermin hat.
- Im Poolraum liegt zum Testattermin eine Liste aus, in die Sie sich eintragen. In der Reihenfolge dieser Liste
werden die Testate abgenommen.
- Es kann natürlich sein, dass wir für die Testate mehr als 90 Minuten brauchen -
kommen Sie aber bitte trotzdem pünktlich!
- "Testat" bedeutet: Ihre Gruppe führt einem Tutor das Programm vor und beantwortet Fragen dazu.
- Alle Gruppenmitglieder müssen die Fragen beantworten können (also das Programm verstehen).
Wer das Projekt nicht verstanden hat, bekommt 0 Punkte.
- Wer nicht anwesend ist, bekommt ebenfalls 0 Punkte. Wenn ein Attest nachgereicht wird, ist natürlich eine
Nachprüfung möglich.
- Bringen Sie unbedingt Studenten- und Lichtbildausweis mit!
- Jedes Gruppenmitglied kann mit dem Programmierprojekt bis zu 20 Punkte erreichen, die 20% der
Endnote der Veranstaltung Allgemeine Informatik 2 ausmachen. Die restlichen 80% kommen durch die
Abschlussklausur im September zusammen.
- Vor dem Testat wird Ihre Abgabe nach folgendem Schema bewertet.
Die dabei erreichte Punktzahl ist die Maximalpunktzahl im Testat.
Nicht kompilierbar: |
insgesamt 0 Punkte |
Klasse Num: |
1 Punkt |
Klasse Op: |
3 Punkte (eval 1, *fix 1, nodes+depth 1) |
Tokenizer: |
5 Punkte (Bracket 1, Op 1, Num 3) |
Parser: |
9 Punkte (pre-, in-, postfix je 3) |
JavaDoc-Kommentierung und Formatierung: |
2 Punkte |
- 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."
Aufgabenstellung
(Version 5 vom 30.06.2007)
Es gibt natürlich keine Änderungen in der Aufgabenstellung, allerdings sind einige Abschnitte,
z.B. über das Konstrukt
Vector<Token>
besser erklärt und kleinere
Fehler beseitigt.
Ergänzende Hinweise zur Aufgabenstellung:
- Den Prefix-Parser können Sie auch ohne while-Schleife programmieren.
- Um Fehlererkennung brauchen Sie sich keine Gedanken zu machen: im Tokenizer sollen Sie ungültige Zeichen
im Eingabestring einfach ignorieren, bei nicht wohlgeformten Eingabestrings darf das Programm ruhig abstürzen.
Vorgabe: propro.zip
(Version 2 vom 10.06.2007)
Es gibt natürlich keine Änderungen in der Aufgabenstellung, allerdings wurde der
Deutlichkeit halber in der Klasse
Num
ein leerer Standard-Konstruktor hinzugefügt.
Übungsorganisation
Ab 02.05.2007 finden wöchentlich Poolraumbetreuungen statt (die Termine
finden Sie auf der Seite
Organisation). Die Übungen
werden immer am Tag der Vorlesung
veröffentlicht
.
Die Poolraumbetreuung zu dieser Übung findet dann bis zum jeweils folgenden
Dienstag statt.
Durch Ihre Anmeldung zu den Übungen sind Sie einem Termin fest zugeteilt. Diese Zuteilung
können Sie auf der "Übungsanmeldung"-Seite erfahren.
Ü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 12 |
Exceptions und IO
Bearbeitungszeitraum:
20.07.2007 bis
05.09.2007 |
Übung: |
|
uebung12.zip: |
|
Musterlösung: |
|
|
|
Übung 11 |
Collections, Comparator
Bearbeitungszeitraum:
11.07.2007 bis
17.07.2007 |
Übung: |
|
GolfComparator.java: |
|
Musterlösung: |
|
|
|
Übung 10 |
Interfaces, abstrakte Klassen
Bearbeitungszeitraum:
04.07.2007 bis
10.07.2007 |
Übung: |
|
Musterlösung: |
|
|
|
Übung 9 |
Packages, OpAmp
Bearbeitungszeitraum:
27.06.2007 bis
03.07.2007 |
Übung: |
|
Musterlösung: |
|
|
|
Übung 8 |
Packages
Bearbeitungszeitraum:
20.06.2007 bis
26.06.2007 |
Übung: |
|
Vorgabe: |
|
Musterlösung: |
|
|
|
Übung 7 |
Objekt- und Klassenvariablen, Polynome
Bearbeitungszeitraum:
13.06.2007 bis
19.06.2007 |
Übung: |
|
Musterlösung: |
|
|
|
Übung 6 |
Uhrzeit, Josephus
Bearbeitungszeitraum:
06.06.2007 bis
12.06.2007 |
Übung: |
|
Klasse Circle: |
|
Musterlösung: |
|
|
|
Übung 5 |
Rekursive Datentypen
Bearbeitungszeitraum:
30.05.2007 bis
05.06.2007 |
Übung: |
|
uebung05.zip: |
|
Musterlösung: |
|
|
|
Übung 4 |
Rechtecke, Straßenbahn
Bearbeitungszeitraum:
23.05.2007 bis
29.05.2007 |
Übung: |
|
TramTest.java: |
|
Musterlösung: |
|
|
|
Übung 3 |
Buchstaben zählen reloaded, Caesar-Chiffre
Bearbeitungszeitraum:
16.05.2007 bis
22.05.2007 |
Übung: |
|
Musterlösung: |
|
|
|
Übung 2 |
Buchstaben zählen, Euklid
Bearbeitungszeitraum:
09.05.2007 bis
15.05.2007 |
Übung: |
|
Musterlösung: |
|
|
|
Übung 1 |
Abschied von Karel, Einführung in BlueJ
Bearbeitungszeitraum:
02.05.2007 bis
08.05.2007 |
Übung: |
|
uebung01.task: |
|
Musterlösung: |
|
|
|