<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Programmierung 1</title>
<cid>DFIW-PRG1</cid>
<sapsubmodule>P610-0182</sapsubmodule>
<bkey>dfi3</bkey>
<ctypes>
<hours>4</hours>
<type>V</type>
<hours>2</hours>
<type>P</type>
</ctypes>
<cp>8</cp>
<semester>3</semester>
<mandatory>ja</mandatory>
<language>Deutsch</language>
<admission>Studienbegleitende Übungen als Zulassungsvoraussetzung zur Klausur</admission>
<exam>Klausur, Dauer 180 min.</exam>
<curriculum>
<curriculum_entry>
<cid>DFIW-PRG1</cid>
<branch>Informatik und Web-Engineering</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>PIB-PR1</cid>
<branch>Praktische Informatik</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>PIB-PR1</cid>
<branch>Praktische Informatik</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
</curriculum>
<workload>
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 90 Veranstaltungsstunden (= 67.5 Zeitstunden). Der Gesamtaufwand des Moduls beträgt bei 8 Creditpoints 240 Stunden (30 Stunden/ECTS Punkt). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 172.5 Stunden zur Verfügung.
</workload>
<prerequisites>
</prerequisites>
<prerequisitesfor>
<prerequisitefor>
<pfcid>DFIW-PRG2</pfcid>
<pftitle>Programmierung 2</pftitle>
</prerequisitefor>
</prerequisitesfor>
<convenor>Prof. Dr.-Ing. Martin Burger</convenor>
<convenor-person-key>mbg</convenor-person-key>
<lecturers>
<lecturer>Prof. Dr.-Ing. Martin Burger</lecturer>
<lecturer-person-key>mbg</lecturer-person-key>
</lecturers>
<objectives>- Die Studierenden schreiben Java-Code, der verschiedene Datentypen, Ausdrücke und Kontrollstrukturen verwendet, um einfache Berechnungen durchzuführen.

- Die Studierenden erstellen Klassen in Java, instanziieren Objekte und wenden grundlegende Vererbungskonzepte an, um Beziehungen zwischen Klassen zu modellieren.

- Die Studierenden setzen die Funktionalität ausgewählter Java-API-Klassen wie String, ArrayList und Exception-Klassen in eigenen Programmen ein.

- Die Studierenden beurteilen die Qualität von Java-Code und schlagen Verbesserungen zur Steigerung der Lesbarkeit und Effizienz vor.

- Die Studierenden entwickeln eigene Algorithmen und Lösungen für komplexe Programmieraufgaben.

- Die Studierenden arbeiten an einem Softwareprojekt, in dem sie objektorientierte Prinzipien anwenden, um eine voll funktionsfähige Anwendung zu erstellen.

- Die Studierenden entwickeln ihre Kompetenz zum lebenslangen Lernen weiter, indem sie Lernstrategien und Methoden zum selbstorganisierten Wissenserwerb anwenden und deren Wirksamkeit reflektieren.

- Die Studierenden entwickeln ihre Kollaborationskompetenz weiter, indem sie sich in 2er-Teams organisieren, um gemeinsam an einem Softwareprojekt zu arbeiten.</objectives>
<content>Der Schwerpunkt liegt auf der objektorientierten Programmierung und ihrer sinnvollen Anwendung. Die folgenden Inhalte werden anhand der Programmiersprache Java vermittelt und in praktischen Übungen gefestigt:

- Klassen und Objekte
- Elementare Datentypen und Referenzen
- Methoden und Instanzvariablen
- Ein Programm schreiben
- Kennenlernen der Java API und anderer APIs
- Vererbung und Polymorphie
- Interfaces und abstrakte Klassen
- Konstruktoren und Garbage Collection
- Zahlen und Statisches
- Ausnahmebehandlung
- Serialisierung und Datei-I/O

Darüber hinaus gehören folgende Inhalte zu den überfachlichen Kompetenzen dieses Moduls:

- Gehirngerechtes Lernen
- Notizen machen
- Lernen, wie man lernt
- Teamentwicklung
- Pair Programming
- Arbeitsvereinbarungen</content>
<media>- Folien
- Beamer
- Tafel
- vorlesungsspezifische Website</media>
<literature>- Bloch, J. (2018). Effective Java: Best Practices für die Java-Plattform. dpunkt.

- Burd, B. (2023). Java für Dummies. Wiley-VCH.

- Lang, H. (2026). Vorkurs Informatik für Dummies. Wiley-VCH.

- Lorig, D. (2025). Programmieren lernen für Dummies. Wiley-VCH.

- Sierra, K., Bates, B., Gee, T. (2023). Java von Kopf bis Fuß: Eine abwechslungsreiche Entdeckungsreise durch die objektorientierte Programmierung. O&quot;Reilly.

- Thomas, D., Hunt, A. (2021). Der Pragmatische Programmierer: Ihr Weg zur Meisterschaft. Carl Hanser Verlag GmbH &amp; Company KG.

- Ullenboom, C. (2025). Java ist auch eine Insel: Einführung, Ausbildung, Praxis. Rheinwerk.</literature>
<offered>
</offered>
<moduldb-query>Sun Jun  7 23:02:45 CEST 2026, CKEY=pp1, BKEY=dfi3, CID=[?], LANGUAGE=de, DATE=07.06.2026</moduldb-query>
</document>
