WS 2015/16 edition of OOPM course

Das OOPM-Team

  • Vorlesung: Prof. Dr. Ralf Lämmel
  • Übung: Hakan Aksu und Gerrit Lochmann
  • Tutoren:
    • Dennis Bartschat
    • Hussam Itani
    • Yeliz Makosch
    • Maximilian Meffert
    • Thomas Senkowski
    • Lisa Werner
    • Michel Peltriaux

Alle technischen und inhaltlichen Fragen sollten nach Möglichkeit in der Vorlesung, der Übung bzw. dem Praktikum geklärt werden. Die Benutzung von Emails ist weniger zweckmässig.


Links


Klausuren

  • Klausuren für die aktuelle Ausgabe des Kurses
    • Probeklausur V/Ü: Di. 12.01.2016 (12:15 Uhr, Raum D028)
    • Klausur V/Ü: Do. 11.02.2016 (12:00 Uhr, Raum D028)
    • Nachklausur V/Ü: Mi. 11.05.2016 (12:00 Uhr, Raum D028)
    • Klausur Praktikum: Mi. 24.02.2016 (Gruppe A: 9:50 Uhr, Gruppe B: 11:50 Uhr, Räume F312, F313, F314)
    • Nachklausur Praktikum: Mo. 01.08.2016 (10:00 Uhr, Räume F312, F313, F314)

Klausurzulassungen

Hier finden Sie eine Liste aller Teilnehmer mit Klausurzulassung aus dem Wintersemester 15/16:
Klausurzulassungen zur Theoriepfüfung, erlangt im WS1516
Klausurzulassungen zur Praxispfüfung, erlangt im WS1516

Vorlesung

Die Vorlesung beginnt zu beiden Terminen "ct".

Die Vorlesungsmaterialien werden zeitnah veröffentlicht.

Vorlesungsthemen

  1. Anforderungsspezifikation
  2. Algebraische Spezifikation
  3. Konkrete Syntaxdefinition
  4. Rekursive Funktionen
  5. Der Satz von Böhm-Jacopini
  6. Suchen und Sortieren
  7. Spezifikation abstrakter Datentypen
  8. Implementation abstrakter Datentypen
  9. Beweis von Eigenschaften
  10. Testen von Programmen
  11. Numerische Verfahren
  12. Komplexität von Algorithmen
  13. Weihnachtsvorlesung
  14. Vor- und Nachbedingungen
  15. Das Hoare-Kalkül
  16. Objektorientierung
  17. Modellierung von Struktur
  18. Objektorientierte Verträge
  19. Generizität
  20. Ausnahmen
  21. Modellierung von Verhalten

Übung und Programmierpraktikum

  1. Spezifikation, Eclipse, SVN, Abgabeordner
  2. Syntaxdefinitionen, Abgabe Programmierteil, Java-Programmierung
  3. Rekursion
  4. Abstrakte Datentypen, Such- und Sortieralgorithmen
  5. Java-Programmierung, Schittstellen
  6. Beweis, verkette Listen
  7. Testen, Numerische Verfahren
  8. Hoare-Kalkül, Vor- und Nachbedingungen
  9. Komplexität, Vererbung
  10. UML Klassendiagramm, UML2Java
  11. Q&A, Generizität

Hausaufgaben

  1. Algebraische Spezifikation
  2. Syntaxbäume, iterative Programmierung vorgegebene Klassen-Datei: Functionality.java
  3. Rekursions-Stapel, rekursive Programmierung vorgegebene Klassen-Datei: Functionality.java
  4. Spezifikation Abstrakter Datentypen, Selectionsort vorgegebene Klassen-Datei: Functionality.java
  5. Verkettete Listen, Klassen und Schnittstellen vorgegebene Klassen-Datei: Functionality.java
  6. Beweisen, ToDo-Liste vorgegebene Klassen-Dateien: hier
  7. Glassbox-Testing, Integration mit Trapezregel (letzte Änderung 15.12.2015) vorgegebene Klassen-Dateien: Functionality.java
  8. Hoare-Kalkül, Vor- und Nachbedingungen vorgegebene Klassen-Dateien: Functionality.java
  9. Komplexität, Vererbung vorgegebene Klassen-Dateien: hier
  10. UML Klassendiagramm, UML2Java vorgegebene Klassen-Dateien: hier
  11. Generizität vorgegebene Klassen-Dateien: hier

Prüfung

Teilprüfung "OOPM"

  • Prüfung zu Vorlesungsende
  • Probeprüfung in der Semestermitte
  • Anmeldung zur Klausur via KLIPS
  • Form: Schriftliche Prüfung über etwa 60-90 Minuten
  • Für 2/3 der Hausaufgaben Theorieteil müssen 1 Punkt oder mehr erreicht werden.
  • Für 1/3 der Hausaufgaben Theorieteil müssen 2 Punkte erreicht werden.

Punktesystem für Hausaufgaben Theorieteil

  • 1 Punkt für den Kern der Lösung
  • 1 Punkt für Korrektheit / Vollständigkeit im Sinne der Aufgabenstellung

Weitere Regeln für Abgabe

  • Abgabe als Datei Hausaufgabe.pdf über svn

Teilprüfung "OOPM Programmierpraktikum"

  • Prüfung zu Vorlesungsende
  • Evtl. Probeprüfung in der Semestermitte.
  • Anmeldung zur Klausur via KLIPS
  • Form: Prüfung am Laborrechner über etwa 45 Minuten
  • Für 2/3 der Hausaufgaben Programmierteil müssen 2 oder mehr Punkte erreicht werden.

Punktesystem für Hausaufgaben Programmierteil

  • 1 Punkt für den Kern der Lösung
  • 1 Punkt für Korrektheit / Vollständigkeit im Sinne der Aufgabenstellung
  • 1 Punkt für Form (etwa Beachtung von Programmierregeln)

Regeln für die Aufgabenbearbeitung

  • Jeder Studierende reicht eigene Lösungen ein. Cloning wird als Betrug behandelt.
  • Regeln zur Form der Abgabe werden schrittweise eingeführt.
  • Lösungen werden über das entsprechende SVN-Repo eingereicht.
  • Abgaben nach Verstreichen der Deadline werden nicht gezählt.

Notenbildung

Die Note berechnet sich nach der Gewichtung wie in der Prüfungsordnung angegeben:

  • 70%: Teilprüfung "OOPM" (Theorieteil)
  • 30%: Teilprüfung "OOPM Programmierpraktikum"

Liste der Programmierpraktika

Gruppe Zeit Raum Tutor
1 Mi 8-10 c. t. F 113 Senkowski
2 Mi 14-16 c. t. F 113 Itani
3 Mi 16-18 c. t. F 113 Makosch
4 Do 14-16 c. t. F 113 Peltriaux
5 Do 14-16 c. t. F 112 Werner
6 Do 16-18 c. t. F 113 Meffert wird nicht mehr angeboten

Erläuterungen und Nebenbedingungen

Das Modul gilt nur als bestanden wenn beide Teilprüfungen bestanden sind. Bestandene Teilprüfungen seit WS 2009/10 werden nach Möglichkeit in das aktuelle Semester vererbt. Die Zulassung wird ebenfalls aus den Editionen WS 2014/15, WS 2012/13 und WS 2011/12 vererbt. (Es gab keine Zulassungsbedingungen in der Edition WS 2013/14. Somit müssen Studierende aus dieser Edition die Zulassung erwerben.) Dies gilt vorbehaltlich der Machbarkeit aus Sicht der Prüfungsordnung, des Prüfungsamtes und des Datenstandes.