I320 – Programmierung III
Programming III
Version: 2
PD Prof. Dr. rer. nat. Marco Block-Berlitz
marco.block-berlitz(at)htw-dresden.de
PD Prof. Dr. rer. nat. Marco Block-Berlitz
marco.block-berlitz(at)htw-dresden.de
Deutsch
4.00 Credits
120 Stunden
4.00 SWS (2.00 SWS Vorlesung | 2.00 SWS Praktikum)
60.00 Stunden
Schriftliche Prüfungsleistung
Prüfungsdauer: 100 min | Wichtung: 100 %
2/0/2 V/Ü/P
- 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
- 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
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.
Aufbauend auf
Programmierung I (I-120)
Programmierung II (I-121)
- 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
- Skript zur Lehrveranstaltung