<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Programmierung 3</title>
<cid>KIB-PRG3</cid>
<sapsubmodule>P222-0031</sapsubmodule>
<bkey>ki2</bkey>
<ctypes>
<hours>2</hours>
<type>V</type>
<hours>2</hours>
<type>P</type>
</ctypes>
<cp>5</cp>
<semester>4</semester>
<mandatory>ja</mandatory>
<language>Deutsch</language>
<exam>Klausur, Dauer 90 min.</exam>
<curriculum>
<curriculum_entry>
<cid>KIB-PRG3</cid>
<branch>Kommunikationsinformatik</branch>
<semester>4</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>KIB-PRG3</cid>
<branch>Kommunikationsinformatik</branch>
<semester>4</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
</curriculum>
<workload>
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtaufwand des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Stunden/ECTS Punkt). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
</workload>
<prerequisites>
<prerequisite>
<pfcid>KIB-PM</pfcid>
<pftitle>Projektmanagement</pftitle>
</prerequisite>
<prerequisite>
<pfcid>KIB-PRG1</pfcid>
<pftitle>Programmierung 1</pftitle>
</prerequisite>
<prerequisite>
<pfcid>KIB-PRG2</pfcid>
<pftitle>Programmierung 2</pftitle>
</prerequisite>
<prerequisite>
<pfcid>KIB-SWT</pfcid>
<pftitle>Softwaretechnik</pftitle>
</prerequisite>
</prerequisites>
<prerequisitesfor>
<prerequisitefor>
<pfcid>KIB-MADA</pfcid>
<pftitle>Mobile Application Development (Android)</pftitle>
</prerequisitefor>
</prerequisitesfor>
<convenor>Prof. Dr.-Ing. Martin Burger</convenor>
<convenor-person-key>mbg</convenor-person-key>
<lecturers>
<lecturer>Dipl.-Inf. Christopher Olbertz</lecturer>
<lecturer-person-key>col</lecturer-person-key>
</lecturers>
<objectives>Die Studierenden können 
- ablauffähige Software mit der Programmiersprache Java entwickeln.
- grundlegende Aufgabenstellungen analysieren und in Java objektorientiert implementieren.
- das Konzept graphisch-interaktiver Benutzeroberflächen in JavaFX abbilden und eine interaktive GUI implementieren.
- eine verteilte Versionsverwaltung nutzen, um als Entwicklungsteam zusammen arbeiten zu können.</objectives>
<content>1. Grundlagen
 2. Programmstruktur
 3. Sprachelemente
 4. Referenzen
 5. Packages
 6. Vererbung und Polymorphie
 7. Interfaces
 8. Ausnahmebehandlung
 9. Versionsverwaltung
 10. Ein-/Ausgabe
 11. Threads
 12. Graphische Oberflächen
 13. Collection API</content>
<media>Vorlesungsfolien, Beispiele, Screencast-Video, Übungen
Vorlesungsunterlagen als PDF-Download zur Verfügung</media>
<literature>J. Goll et al.: Java als erste Programmiersprache, Springer Link 2016
D. Abts: Masterkurs Client/Server-Programmierung mit Java, Springer Link 2015
C. Ullenboom: Java ist auch eine Insel, Rheinwerk 2011
C. Ullenboom: Java - Mehr als eine Insel, Rheinwerk 2011
E. Adams, J. Tormanns: Game Mechanics, Online od. Amazon
W. Muehl, J. Novak: Game Simulation Development, Amazon</literature>
<offered>
<semshort>SS 2025</semshort>
<semshort>SS 2024</semshort>
<semshort>SS 2023</semshort>
<semshort>SS 2022</semshort>
<semshort>SS 2021</semshort>
<semshort>SS 2020</semshort>
<semshort>SS 2019</semshort>
</offered>
<moduldb-query>Sat Mar  7 06:32:13 CET 2026, CKEY=kp3, BKEY=ki2, CID=[?], LANGUAGE=de, DATE=07.03.2026</moduldb-query>
</document>
