Programmieren II für Juristen (KV)

339.931 Programmieren II 2KV Rabiser Do 08:30-10:00 Raum: Loft C Beginn: 11.3.2021

Ziele

Grundlagen der objektorientierten Programmierung und dynamische Datenstrukturen verstehen und anwenden lernen.

Inhalt

  • Klassen
    Klassen und Objekte, Beispiele, Klassen und Arrays
  • Objektorientierung
    Methoden, Konstruktoren, static, Beispiele, Vererbung, Dynamische Bindung, Klasse Object, final, Abstrakte Klassen, Interfaces, Anonyme Klassen, Pakete, Generische Typen
  • Dynamische Datenstrukturen
    Objekte und Referenzen, Listen, Stacks, Queues, Mengen
  • Bäume
    Begriffe, Binäre Suchbäume, Balancierte Bäume, Topdown-234-Bäume, Rot-Schwarz-Bäume, B-Bäume
  • Graphen
    Begriffe, Depth-First-Search, Breadth-First-Search, Kleinster spannender Baum, Kürzester Pfad, Transitive Hülle, Serialisierung von Graphen
  • Prinzipien von graphischen Benutzeroberflächen
  • Java-Klassenbibliothek
    java.lang, java.util, java.io, javax.swing
  • Objektorientierter Entwurf
  • Programmierstil

Methoden

Die Behandlung der Implementierungen erfolgt in Java. Manche Lehrinhalte werden durch Vorführungen (Demo-Videos) veranschaulicht. Manche Algorithmen werden auch an der Tafel/am Whiteboard gemeinsam konstruiert.

Die Übungen dienen zur Vertiefung der Inhalte und werden teilweise gemeinsam im Hörsaal (als Gruppenarbeiten an der Tafel) durchgeführt und teilweise als Hausübungen. Studierende sollen unter Verwendung der weitverbreiteten objektorientierten Programmiersprache Java den Entwurf und die Implementierung von einfachen Programmen anhand einfacher aber realitätsnaher Beispiele üben. Beispiellösungen werden präsentiert und diskutiert.

Leistungsnachweis

Beurteilung von Übungsaufgaben (in der Stunde und als Hausübungen) und Klausur am Ende des Semesters.

Unterlagen

Die Vorlesung wird foliengestützt abgehalten. Die Folien und ergänzende Unterlagen werden zum Download im PDF-Format bereitgestellt.

Literatur (primär)

  • Hanspeter Mössenböck: Sprechen Sie Java? 5. Auflage, dpunkt-Verlag, 2014.
  • Reinhard Schiedermeier: Programmieren mit Java. Pearson, 2010.
  • Reinhard Schiedermeier: Programmieren mit Java II. Pearson, 2013.
  • Ken Arnold, James Gosling: The Java Programming Language. Pearson, 2005.

Literatur (weiterführend/Grundlagen)

  • Aho A.V., Hopcroft J.E., Ullman J.D.: Data Structures and Algorithms. Addison-Wesley 1983.
  • Goodrich, M. T., Tamassia, R., and Goldwasser, M. H.: Data structures and algorithms in Java. John Wiley & Sons. 2014.
  • Knuth D.E.: The Art of Computer Programming. Addison-Wesley 1973.
    Band 1: Fundamental Algorithms.
    Band 2: Seminumerical Algorithms.
    Band 3: Sorting and Searching.
  • Pomberger G., Dobler H.: Algorithmen und Datenstrukturen. Pearson 2008.
  • Saake G., Sattler K.: Algorithmen und Datenstrukturen. dpunkt 2006.
  • Sedgewick R.: Algorithmen in Java. Pearson 2014.
  • Wirth N.: Algorithmen und Datenstrukturen. Teubner Studienbücher Informatik 1986.