<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Programming 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>yes</mandatory>
<language>German</language>
<exam>Written exam</exam>
<curriculum>
<curriculum_entry>
<cid>KIB-PRG3</cid>
<branch>Computer Science and Communication Systems</branch>
<semester>4</semester>
<mandatory_tag>mandatory course</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>KIB-PRG3</cid>
<branch>Computer Science and Communication Systems</branch>
<semester>4</semester>
<mandatory_tag>mandatory course</mandatory_tag>
</curriculum_entry>
</curriculum>
<workload>
60 class hours (= 45 clock hours) over a 15-week period.The total student study time is 150 hours (equivalent to 5 ECTS credits).There are therefore 105 hours available for class preparation and follow-up work and exam preparation.</workload>
<prerequisites>
<prerequisite>
<pfcid>KIB-PM</pfcid>
<pftitle>Project Management</pftitle>
</prerequisite>
<prerequisite>
<pfcid>KIB-PRG1</pfcid>
<pftitle>Programming 1</pftitle>
</prerequisite>
<prerequisite>
<pfcid>KIB-PRG2</pfcid>
<pftitle>Programming 2</pftitle>
</prerequisite>
<prerequisite>
<pfcid>KIB-SWT</pfcid>
<pftitle>Software Engineering</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>After successfully completing this module, students will: 
- be able to develop executable software with the programming language Java.
- be able to analyze basic tasks and implement them object-oriented in Java.
- be able to map the concept of graphical-interactive user interfaces in JavaFX and implement an interactive GUI.
- be able to use distributed version control to work together as a development team.</objectives>
<content>1. Basics
 2. Program structure
 3. Language elements
 4. References
 5. Packages
 6. Inheritance and polymorphism
 7. Interfaces
 8. Exception handling
 9. Version control
 10. In/output
 11. Threads
 12. Graphical user interfaces
 13. Collection API</content>
<media>Lecture slides, examples, screencast video, exercises
Lecture script available as a PDF download</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 07:22:32 CET 2026, CKEY=kp3, BKEY=ki2, CID=[?], LANGUAGE=en, DATE=07.03.2026</moduldb-query>
</document>
