"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
    • Clemens Steinmann

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 Praktikum: Do. 20.02.20 (Gruppe A: 13:30 - 15:45 Uhr, Gruppe B: 15:30-17:45 Uhr, Räume F312, F313, F314)
    • Klausur V/Ü: Fr. 28.02.20 (12:00 Uhr, Raum D028)
    • Klausur Informatik für IM I (B. IM Alt): Fr. 28.02.20 (12:15 Uhr, Raum F313)
    • Nachklausur Praktikum: Di. 07.04.20 (9:15 Uhr (bis ca. 11:30), Räume F312, F313, F314)
    • Nachklausur Informatik für IM I (B. IM Alt): Di. 07.04.20 (9:15 Uhr (bis ca. 11:30), Räume F312, F313, F314)
    • Nachlausur V/Ü: Mo. 06.04.20 (12:00 Uhr, Raum D028)
      • Für alle Nachklausuren gilt der An- und Abmeldezeitraum 29.02.20 - 05.04.20

Die Nachklausuren am 06.04.20 und 07.04.20 fallen aufgrund der Corona-Epidemie aus
Die neuen Termine werden hier verkündet. Sehen Sie wöchentlch hier herein.
Folgende NEUE Termine stehen fest:

  • Nachlausur V/Ü: Mo. 15.06.20 (08:00 Uhr, Raum D028) (Anmeldung bis 11.06.20, Abmeldung bis 14.06.20, Für Master IM (Auflage) An- und Abmeldung nur per Mail an Hakan Aksu möglich)
  • Nachklausur Informatik für IM I (B. IM Alt): Fr. 10.07.20 ca. 7:40-10:30 (Anmeldung bis 07.07.20, Abmeldung bis 09.07.20)
  • Nachklausur Praktikum: Mo. 17.08.20 ca. 7:40-12 Uhr (Anmeldung bis 13.08.20, Abmeldung bis 16.08.20)
    • Info zur Nachklausur Praktikum: Da wir in mehreren Räumen zu versetzten Zeiten schreiben, werden nach der Anmeldephase Gruppen festgelegt und per E-Mail benachrichtigt. Bei weniger als 48 Anmeldungen reicht der Vormittag aus. Bei mehr als 48 (Bei der Doodle-Umfrage waren es 52) benötigen wir evtl. noch einen Nachmittagstermin. Meine Empfehlung ist es den kompletten Tag erstmal freizuhalten. Eine E-Mail bekommen Sie dann am 14.08.20 mit dem zugewiesenem Zeitslot.

  • Klausuranmeldung ab 07.01.2020 freigeschaltet
    • Klausur V/Ü: An- und Abmeldung bis zum 24.02.2020 über Klips
    • Klausur Praktikum: An- und Abmeldung bis zum 17.02.2020 über Klips
      • Bei der Anmeldung über Klips wählen Sie selbst den ersten (Gruppe A) oder zweiten (Gruppe B) Termin.
      • Pro Termin stehen 110 Plätze zur Verfügung.
      • Sollten insgesamt mehr als 220 Anmeldungen gemacht werden, wird ein dritter bzw. vierter Durchgang hinzugefügt. Dieser ist dann zeitlich etwas versetzt zur Gruppe A bzw. Gruppe B.
      • Beim Wechsel der Klausur-Teilnehmer von Gruppe A zu Gruppe B, wird es für die Studenten keine Möglichkeit des Informationsaustausches geben!
      • Die Schreibdauer beträgt 60min. Jedoch müssen ihre Lösungen nach den 60 Minuten noch gedruckt und von Ihnen Unterschrieben werden, so dass Sie mit ca. 120 min. Aufenthalt rechnen müssen.

Musterlösungen

Probeklausur Theorie (ungelöst) (gelöst)

Probeklausur Praxis (ungelöst) (gelöst)

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 (F)
Kapitel 9: Abstrakte Datentypen und Generics (F)
Kapitel 10: Komplexitätsabschätzung (F)
Kapitel 11: Rekursive Funktionen (F)
Kapitel 12: Ausnahmebehandlung (F)
Kapitel 13: Testen von Programmen (F)
Kapitel 14: Verifikation von Algorithmen (F)

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)
09. Implementation von Klassendiagrammen (Präsenzaufgaben: Praesenz08.pdf)
10. Implementation von Zustandsdiagrammen (Präsenzaufgaben: Praesenz09.pdf)
11. Implementation von ADTs (Präsenzaufgaben: Praesenz10.pdf)
12. Exception (Präsenzaufgaben: Praesenz11.pdf)
13. Rekursion (Präsenzaufgaben: Praesenz12.pdf)
14. Testen (Präsenzaufgaben: Praesenz13.pdf Stack.java Node.java)

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.