Objektorientierte Programmierung
Informationen
zur Prüfung (Modulleistung)
Die Prüfung wird als Klausur erfolgen,
die Nachprüfung als Klausur oder mündlich
(je nach Teilnehmerzahl).
Die Klausur ist im Moment für den 19. März 2013
geplant,
der Termin ist aber noch nicht endgültig.
Beispiele für frühere Klausuren
finden Sie unten.
Als Voraussetzung zur Klausurteilnahme
(Modulvorleistung)
müssen mindestens 50% der Punkte für Hausaufgaben
erreicht werden,
und außerdem mindestens einer von zwei praktischen
Programmiertests am Rechner bestanden werden.
Auch dazu gibt es
mehr Informationen.
Hier finden Sie einige Beispiele für Klausuren
aus früheren Semestern.
Bisher wurde in meinen Vorlesungen die Programmiersprache C++
verwendet,
insofern eignen sich diese Klausuren nur noch bedingt
als Probeklausur zum Üben.
Sie sollten aber dennoch einen guten Eindruck
von der Art der Aufgaben geben,
die Sie erwarten.
Die Programmieraufgaben sollten Sie
(eventuell mit kleinen Änderungen in den Schnittstellen)
natürlich auch in Java lösen können.
- Wintersemester 2006/2007, 1. Termin:
[PDF]
[Postscript, verkleinert]
- Wintersemester 2006/2007, 2. Termin:
[PDF]
[Postscript, verkleinert]
- Wintersemester 2008/2009, 1. Termin:
[PDF]
[Postscript, verkleinert]
- Wintersemester 2008/2009, 2. Termin:
[PDF]
- Probeklausur I (Lernkontrolle in Vorlesung WS 2006/07):
[Postscript]
[PDF]
Musterlösung dazu:
[Postscript]
[PDF]
- Probeklausur II (Lernkontrolle in Vorlesung WS 2006/07):
[Postscript]
[PDF]
Musterlösung dazu:
[Postscript]
[PDF]
- Probeklausur III (Lernkontrolle in Vorlesung WS 2006/07):
[Postscript]
[PDF]
Musterlösung dazu:
[Postscript]
[PDF]
- Um an der Klausur teilnehmen zu können,
müssen zwei Bedingungen erfüllt sein
("Modulvorleistung"):
- Sie müssen 50% der Hausaufgabenpunkte erreicht haben.
- Sie müssen mindestens einen von zwei Programmiertests
am Rechner bestehen.
- Während die erste Bedingung wohl niemanden ausschliesst,
der die Vorlesung ernsthaft mitmacht,
hat die zweite Bedingung in der Vergangenheit
durchaus als Filter vor der Klausur gewirkt.
Wir glauben aber, dass
- Wer den Programmiertest nicht besteht,
die Klausur auch nicht bestanden hätte.
- Wer den Programmiertest nicht besteht,
sehr wahrscheinlich bei den Hausaufgaben gemogelt hat:
Ein großer Teil der Hausaufgaben sind Programmieraufgaben
am Rechner,
oft sogar länger und schwieriger als der Programmiertest.
Natürlich kann man sich bei den Hausaufgaben Hilfe holen,
was beim Programmiertest nicht
(oder nur bei wirklich unverständlichen Fehlermeldungen)
möglich ist.
Aber wenn man die Hausaufgaben immer selbst bearbeitet hat,
sollte der Programmiertest keine ernsthafte Hürde sein.
- Hausaufgaben können in Gruppen aus maximal drei Personen
bearbeitet werden.
Man würde Gruppenarbeit aber total falsch verstehen,
wenn
- Einer alles macht,
und die anderen ihren Namen mit draufschreiben.
- Man sich die Aufgaben aufteilt,
so dass jeder ein Drittel macht.
Richtig macht man es so:
- Der Idealfall ist,
dass jeder alle Aufgaben löst,
bzw. es zumindest ernsthaft versucht,
und man sich dann in der Gruppe trifft,
die Lösungen vergleicht,
und das Beste aus allen Ansätzen kombiniert.
- Weniger gut
(aber ab und zu möglich) ist,
sich zusammen vor den Rechner zu setzen,
und die Aufgabe gemeinsam zu lösen.
Achten Sie aber darauf,
dass nicht immer der gleiche alles macht,
und die anderen nur zuschauen.
Jeder muß die Chance haben,
selbst auf die Lösung zu kommen.
Wenn einer schneller ist als die anderen,
muß er sich zurücknehmen,
sonst fallen die anderen beim Programmiertest durch,
oder bekommen in der Klausur eine schlechte Note
(schlechter, als wenn sie die Hausaufgaben
wirklich genützt hätten).
Bei dieser Variante sollte insbesondere nicht immer der gleiche
am Rechner sitzen,
bzw. eher der Schwächste der Gruppe,
und die anderen solltem ihm die Zeit geben,
die er braucht.
- Ganz selten ist es vielleicht möglich,
dass einer die Aufgabe löst
und die anderen sich die Lösung genau durchlesen
und wirklich verstehen.
Häufig darf man es aber nicht so machen,
denn das Verstehen fertiger Lösungen
ist nicht die gleiche Fähigkeit,
wie selbst Lösungen zu erarbeiten.
- Sie können auch eine Einer-Gruppe bilden,
Sie müssen nicht unbedingt mit anderen zusammenarbeiten.
Gruppenarbeit kann aber sehr hilfreich sein,
sowohl für schwächere Teilnehmer,
wie auch für stärkere:
Erklären will auch gelernt sein.
- Wir erlauben Gruppenarbeit hauptsächlich deswegen,
weil wir keine abgeschriebenen Lösungen bekommen wollen:
Unsere Kontrolleure sind stark ausgelastet,
und kopierte Aufgaben zu kontrollieren,
ist wirklich sinnlose Arbeit.
Um es ganz klar zu machen:
Wenn wir abgeschriebene Lösungen erwischen,
werden wir sauer,
und geben z.B. allen zu ähnlichen Lösungen
(einschliessch des Originals) 0 Punkte.
Ausserdem könnten wir jemanden aus der Gruppe
in Vorlesung oder Übung an die Tafel holen.
- Um es schwerer zu machen,
dass einzelne Teilnehmer nur ihren Namen mit auf eine Lösung
von jemand anders setzen,
machen wir in jeder Übung Stichproben:
Einige Studierende müssen die Lösung
ihrer Gruppe erklären
(ohne Hilfe der anderen Gruppenmitglieder).
Es ist auch geplant,
dass zu einzelnen Übungsterminen unsere Kontrolleure kommen,
und jeder einzeln die Lösung seiner Gruppe erklären muss.
Wer es nicht kann,
bekommt beim ersten Mal 0 Punkte für
das Aufgabenblatt.
Beim zweiten Mal ist außerdem eine mündliche Prüfung
beim Professor angesetzt,
über die man sämtliche Hausaufgabenpunkte verlieren kann,
und dann natürlich nicht an der Klausur teilnehmen kann.
- Solchen Druck aufzubauen,
sollte aber eigentlich überflüssig sein:
Wer vernünftig ist,
versteht,
dass die Hausaufgaben eine wichtige Vorbereitung
auf die Klausur sind.
- Damit die Regelung mit dem Vorrechnen/Erklären
der Lösung greift,
gilt Anwesenheitspflicht für die Übung:
Wenn Sie mehr als einmal fehlen,
können Ihnen Punkte für
das jeweilige Blatt entzogen werden
(Sie brauchen aber insgesamt nur 50% der Punkte).
- Die Hausaufgaben werden über die Übungsplattform
in StudIP ausgegeben
und die Lösungen dort eingereicht:
Direkter Link.
Beim Programmiertest ist ein kleines Programm
(bzw. eine einzelne Klasse)
innerhalb von ca. einer Stunde
am Computer zu entwickeln
(ohne Hilfe).
Die beiden Programmiertests finden zu regulären
Übungszeiten statt,
und zwar am 17./18. Dezember
und voraussichtlich am 22./23. Januar
(bitte achten Sie wegen möglicher Verschiebungen
auf weitere Ankündigungen).
Hier ein Beispiel für den Programmiertest:
- LKWs beladen mit Gewichtsbeschränkung:
Einige Tests vom ersten Termin
(zur Vorbereitung auf den zweiten Versuch):
- Verschlüsselung von Texten:
- Sortieren von Buchstaben:
- Zählen ausgewählter Buchstaben:
Weitere Beispiele für frühere
Programmiertests (allerdings in C++):
- Zweiter Programmiertest in WS 2010/11, Variante A:
Groesste Elemente speichern
- Programmiertest 1 aus WS 2008/09:
Menge ohne Duplikate speichern
- Programmiertest 2 aus WS 2008/09:
64-Bit Binärzahlen
Stefan Brass
(brass@informatik.uni-halle.de),
24. September 2012
Original URL:
http://dbs.informatik.uni-halle.de/~brass/oop12/pruefung.html
[XHTML 1.0 Checked]
[CSS Checked]
[Links Geprüft]
[Impressum]