I320 – Programming III

Module
Programming III
Programmierung III
Module number
I320 [I-320]
Version: 2
Faculty
Informatics/Mathematics
Level
Bachelor/Diploma
Duration
1 Semester
Semester
Winter semester
Module supervisor

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

Lecturer(s)

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

Course language(s)

German
in "Programmierung III"

ECTS credits

4.00 credits

Workload

120 hours

Courses

4.00 SCH (2.00 SCH Lecture | 2.00 SCH Internship)

Self-study time

60.00 hours

Pre-examination(s)
None
Examination(s)

Written examination
Examination time: 100 min | Weighting: 100%
in "Programmierung III"

Form of teaching

2/0/2  V/Ü/P

Media type
  • 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
Instruction content/structure
  • 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
Qualification objectives

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.
Social and personal skills
No information
Special admission requirements
No information
Recommended prerequisites

Aufbauend auf

Programmierung I (I-120)

Programmierung II (I-121)

Continuation options
No information
Literature
  • 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
Current teaching resources
  • Skript zur Lehrveranstaltung
Notes
No information