I320 – Programmierung III

Modul
Programmierung III
Programming III
Modulnummer
I320 [I-320]
Version: 2
Fakultät
Informatik/Mathematik
Niveau
Bachelor/Diplom
Dauer
1 Semester
Turnus
Wintersemester
Modulverantwortliche/-r

PD Prof. Dr. rer. nat. Marco Block-Berlitz
marco.block-berlitz(at)htw-dresden.de

Dozent/-in(nen)

PD Prof. Dr. rer. nat. Marco Block-Berlitz
marco.block-berlitz(at)htw-dresden.de

Lehrsprache(n)

Deutsch
in "Programmierung III"

ECTS-Credits

4.00 Credits

Workload

120 Stunden

Lehrveranstaltungen

4.00 SWS (2.00 SWS Vorlesung | 2.00 SWS Praktikum)

Selbststudienzeit

60.00 Stunden

Prüfungsvorleistung(en)
Keine
Prüfungsleistung(en)

Schriftliche Prüfungsleistung
Prüfungsdauer: 100 min | Wichtung: 100%
in "Programmierung III"

Lehrform

2/0/2  V/Ü/P

Medienform
  • Vorlesungsmaterialien stehen als Videos und die Folien als PDFs zur Verfügung
  • Neben dem Vorlesungsfragenkatalog, der am Ende jeder Vorlesung bereit steht, werden freiwillige praktische und theoretische Übungsaufgaben angeboten
  • Die aktuelle Programmsammlung zum Buch Java-Intensivkurs wird bereitgestellt
Lehrinhalte/Gliederung
  • Motivation zu Programmierparadigmen
  • Javagrundlagen und Programmierprinzipien
  • Einführung in UML und Zustandsdiagramme
  • Operationen auf Binärebene am Beispiel Kryptographie
  • Arrays ein- und mehrdimensional, literale Erzeugung
  • Debuggen, Assertations und Fehlerbehandlungen, Fehlerklassen
  • Formatierte Ausgaben
  • Logische Fehler aufspüren (Debugging)
  • Logische Fehler aufspüren (Hoare-Kalkül)
  • Objektorientierte Programmierung in Java
  • Vererbung rund um Object
  • Alles ist in Java objektorientiert
  • Logische Fehler aufspüren (Test-Driven-Development)
  • Graphische Benutzerschnittstellen
  • Algorithmen und Datenstrukturen in Java - Laufzeitanalysen
  • Algorithmen und Datenstrukturen in Java - Graphentheorie
  • Zeit- und Datenmanagement
Qualifikationsziele

Mit "sie" werden im weiteren Verlauf die Studierenden abgekürzt, um die Ziele kompakter zu halten.

  • Die Studierenden können Java und andere Programmiersprachen in Programmierparadgimen zerlegen und einordnen
  • Sie beherrschen die Javagrundlagen und verstehen die allgemeinen Programmierprinzipien, die für imperative Programmiersprachen gelten.
  • Sie Erlernen mit Java eine objektorientierte Programmiersprache und entwickeln ein Verständnis für die Objektorientierte Programmierung.
  • Am Ende der Veranstaltung können sie Aktivitäts- und Zustandsdiagramme aus der UML lesen, entwerfen und im Softwareerstellungsprozess einsetzen.
  • Sie können logische Operationen in Java auf Binärebene verstehen und anwenden.
  • Weiterhin können kennen sie Techniken (Debugging, Assertions, Exceptions,  Verifikation (z.B. Hoare-Kalkül), Unit-Tests (Test-Driven-Development)) zur Behandlung der drei Fehlerklassen (Syntax, Laufzeit, Logik) und können diese einsetzen.
  • Sie entwickeln über eine Einführung in graphische Benutzerschnittstellen Kompetenzen im Bereich Mensch-Maschine-Interaktion.
  • Mit Hilfe der entwickelten Fähigkeiten, können sie Algorithmen und Datenstrukturen in Java programmieren und durch die Kenntnisse der Laufzeitanalysen Lösungsansätze bewerten und vergleichen.
  • Sie verstehen die Graphentheorie als nützliches Werkzeug informatischer Denk- und Entwicklungsprozesse und können Graphen und deren Algorithmen implementieren und im Lösungsprozess einsetzen.
  • Einüben wissenschaftlicher Arbeitsweisen (Erkennen, Formulieren, Lösen von Problemen, Schulung des Abstraktionsvermögens),
  • Training der mündlichen Kommunikationsfähigkeit in den Übungen durch Einüben der freien Rede vor einem Publikum und bei der Diskussion.
Sozial- und Selbstkompetenzen
Keine Angabe
Besondere Zulassungsvoraussetzung
Keine Angabe
Empfohlene Voraussetzungen

Aufbauend auf

Programmierung I (I-120)

Programmierung II (I-121)

Fortsetzungsmöglichkeiten
Keine Angabe
Literatur
  • Block, Marco: Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren, Springer-Verlag, 2009
  • Martin, Rovert C.: Clean Code: A Handbook of Agile Software Craftmanship, Prentice Hall, 2009
  • Block-Berlitz M.: Warum sich der Dino furchtbar erschreckte - Lehrbuch zu Beleuchtung und Rendering mit Java, LWJGL, OpenCV und GLSL, vividus Wissenschaftsverlag, 3. Auflage, 2021
  • Schöning, Uwe: Algorithmen kurzgefasst, Spektrum Akademischer Verlag, 1997
  • Hoffmann, Dirk W.: Theoretische Informatik, Hanser Verlag, 2009
Aktuelle Lehrressourcen
  • Skript zur Lehrveranstaltung
Hinweise
Keine Angabe