"Programmierung und Modellierung" WS 2019/20

Das PM-Team

  • Vorlesung: Dr. Thorsten Weyer (Vertretungsprofessor)
  • Übung: M.Sc., M.Ed. Hakan Aksu
  • Tutoren:
    • Lukas Christmann
    • Maximilian Breibach
    • Marius Meyer
    • Tobias Frisch
    • Leonardo Malzacher

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

  • Klausurtermine
    • Klausur V/Ü: Fr. 28.02.20 (12 Uhr, Raum D028)
    • Klausur Praktikum: Do. 20.02.20 (Gruppe A: 13:30 - 15:45 Uhr, Gruppe B: 15:30-17:45 Uhr, Räume F312, F313, F314)

Musterlösungen

Assigments mit Lösungsvorschlägen zu Vorlesung und Übung
Assigments mit Lösungsvorschlägen zum Praktikum

Die beiden Dokumente werden wöchentlich erweitert.

Vorlesung und Übung

Vorlesungstermin:
Zeit Raum Tutor
Fr 12-14 c. t. D 028 Thorsten Weyer
Übungstermine:
Gruppe Zeit Raum Tutor
1 Mo 12-14 c. t. E 414 Hakan Aksu
2 Mo 14-16 s. t. E 414 Hakan Aksu
3 Di 10-12 c. t. E 414 Hakan Aksu
4 Di 14-16 c. t. K 101 Hakan Aksu

Die ersten Übungen beginnen am 21./22.10.19
Materialien zur Übung befinden sich im Autokorrektor
Inhaltsbezogen werden einige der Übungstermine von Thorsten Weyer gehalten.

Vorlesungsthemen

Die Folien sind in S/W. Für die farbige Version klicken Sie auf das "F".

Kapitel 1: Einführung (F)
Kapitel 2: Strukturierte Programmierung (F)
Kapitel 3: Suchen und Sortieren (F)
Kapitel 4: Grundlagen der Modellierung und Programmentwicklung (F)
Kapitel 5: Objektorientierung I (F)
Kapitel 6: Objektorientierung II (F)
Kapitel 7: Klassendiagramme (F)
Kapitel 8: Verhaltensdiagramme
Kapitel 9: Abstrakte Datentypen und Generics
Kapitel 10: Komplexitätsabschätzung
Kapitel 11: Rekursive Funktionen
Kapitel 12: Ausnahmebehandlung
Kapitel 13: Testen von Programmen
Kapitel 14: Verifikation von Algorithmen

Die Reihenfolge der Kapitel kann während des Semesters geändert werden.

Teilprüfung "Vorlesung und Übung"

  • Prüfung zu Vorlesungsende
  • Probeklausur in der Semestermitte
  • Anmeldung zur Klausur via KLIPS
  • Form: Schriftliche Prüfung über etwa 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

Regeln für die Aufgabenbearbeitung

  • Die Abgabe erfolgt in 2er-Gruppen
  • Jede Gruppe reicht eigene Lösungen ein. Cloning wird als Betrug behandelt.
  • Regeln zur Form der Abgabe werden schrittweise eingeführt.
  • Lösungen werden über den Autokorrektor eingereicht.
  • Abgaben nach Verstreichen der Deadline sind nicht möglich.

Programmierpraktikum

Gruppe Zeit Raum Tutor
1 Mi 8:30-10 c. c. t. F 113 Leonardo Malzacher
2 Mi 14-16 c. t. F 113 Tobias Frisch
3 Mi 16-18 s. t. F 113 Lukas Christmann
4 Do 10-12 c. t. F 112 Maximilian Breibach
5 Do 10-12 c. t. F 113 Marius Meyer
6 Do 16-18 s. t. F 113 Lukas Christmann

Die ersten Programmierpraktika beginnen am 23./24.10.19

Praktikumsthemen

01. Einführung
02. Grundlagen der Programmierung (Präsenzaufgaben: Praesenz01.java)
03. Arrays (Präsenzaufgaben: Praesenz02.java)
04. Strings (Präsenzaufgaben: Praesenz03.java)
05. Suchen und Sortieren (Präsenzaufgaben: Praesenz04.java)
06. Programmentwicklung + Date (Präsenzaufgaben: Praesenz05.java)
07. Objektorientierung I (Präsenzaufgaben: Praesenz06.java)
08. Objektorientierung II (Präsenzaufgaben: Praesenz07.pdf)

Teilprüfung "Programmierpraktikum"

  • Prüfung zu Vorlesungsende
  • Evtl. Probeprüfung in der Semestermitte.
  • Anmeldung zur Klausur via KLIPS
  • Form: Prüfung am Laborrechner (Eclipse 09/2019 + Java 8) über etwa 60 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 Beachtung von Form/Programmierregeln, von Sonderfällen/Randfällen oder von weiteren Bedingungen
  • Bei Compiler-Fehlern gibt es 0 Punkte.
    • Compiler-Fehler beim Autokorrektor enstehen z.B. durch Syntax-Fehler, kein UTF-8 als Textkodierung, Verwendung von Packages oder nicht Einhaltung von vorgegebenen Namen für Klassen oder Methoden.

Public- und ExtraTests

  • Die abgegebenen Java-Dateien werden im Autokorrektor mithilfe von JUnit Tests getestet.
  • Die Tests werden zur automatischen Vorkorrektur verwendet. Ein Korrektor schaut sich die Lösung abschließend an und vergibt die Punkte.
  • Die PublicTests werden in der Regel bereits bei Assignment-Ausgabe veröffentlicht.
  • Die ExtraTests werden in der Regel nach der Abgabe-Deadline veröffentlicht.
  • Die Public- und ExtraTests sind ein freiwilliger Service von uns und können jederzeit entfallen.
  • Die Tests stellen keine Anforderung auf komplette Testabdeckung gemäß Aufgabenstellung. Wenn die Tests also erfolgreich waren, dann heißt es immer noch nicht, dass Sie die vollständige Aufgabe abgedeckt haben. Eventuell werden einzelne Testfälle weggelassen, die später manuell überprüft werden müssen.
  • Die Tests können während der Woche verändert oder ergänzt werden. Dadurch können sich ihre Testergebnisse nach Ihrer Abgabe nachträglich ändern. Für Sie sollte entsprechend die Erfüllung der Aufgabe im Vordergrund stehen und nicht das Bestehen der Tests.

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 den Autokorrektor eingereicht.
  • Abgaben nach Verstreichen der Deadline sind nicht möglich.

Zulassungen aus den Vorjahren

Die Zulassung für den Theorie- und/oder Programmierteil wird aus den Editionen WS2017/18, WS2018/19, WS2016/17 und WS 2015/16 von OOPM vererbt. Dies gilt vorbehaltlich der Machbarkeit aus Sicht der Prüfungsordnung, des Prüfungsamtes und des Datenstandes.