<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Programmierung 2</title>
<cid>PRI-PRG2</cid>
<sapsubmodule>P223-0008</sapsubmodule>
<bkey>pri</bkey>
<ctypes>
<hours>2</hours>
<type>V</type>
<hours>2</hours>
<type>P</type>
</ctypes>
<cp>5</cp>
<semester>2</semester>
<mandatory>ja</mandatory>
<language>Deutsch</language>
<exam>Klausur, Dauer 120 min.</exam>
<curriculum>
<curriculum_entry>
<cid>PRI-PRG2</cid>
<branch>Produktionsinformatik</branch>
<semester>2</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>PRI-INF1</pfcid>
<pftitle>Informatik 1</pftitle>
</prerequisite>
<prerequisite>
<pfcid>PRI-PRG1</pfcid>
<pftitle>Programmierung 1</pftitle>
</prerequisite>
</prerequisites>
<prerequisitesfor>
</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 wenden grundlegende Python-Konzepte (Datentypen, Kontrollstrukturen, Listen, Dictionaries, Funktionen, objektorientierte Ansätze) aktiv in eigenen Programmen an.

- Sie planen und implementieren robuste Python-Lösungen und überprüfen deren Funktionalität durch geeignete Testverfahren.

- Während der selbstständigen Erarbeitung des Stoffes reflektieren sie kontinuierlich ihren Lernfortschritt und vertiefen die Inhalte durch eigenständige Übungsphasen.</objectives>
<content>Grundlegende Konzepte von Python: Datentypen (Zahlen, Strings, Booleans), Variablen und Ausdrücke, Umgang mit Ein- und Ausgabe.

Strukturierte Programmierung: Kontrollstrukturen wie Schleifen und Verzweigungen, geschickter Einsatz von Listen und Dictionaries zur Verwaltung komplexer Daten.

Modularität und Funktionen: Klar strukturierte Programme mit Hilfe von Funktionen entwickeln; Code sinnvoll aufteilen und wiederverwenden; Parameter und Rückgabewerte verstehen.

Objektorientierte Programmierung: Klassen und Objekte, Methoden, Attributverwaltung; erste komplexe Anwendungen durch das Zusammenspiel mehrerer Klassen realisieren.

Robuste Softwareentwicklung: Fehlerbehandlung (try-except), Lesen und Schreiben von Dateien, Testverfahren zur Qualitätssicherung und grundlegende Debugging-Techniken.</content>
<media>- Inverted Classroom

- begleitende Aktivitäten in Moodle</media>
<literature>- Matthes, E. (2023). Python Crashkurs: Eine praktische, projektbasierte Programmiereinführung. dpunkt.

- Ramalho, L. (2022). Fluent Python: Clear, Concise, and Effective Programming. O&quot;Reilly Media.

- Shovic, J. (2024). Python All-in-One For Dummies. For Dummies.</literature>
<offered>
</offered>
<moduldb-query>Sun Jun  7 22:06:08 CEST 2026, CKEY=pp2a, BKEY=pri, CID=[?], LANGUAGE=de, DATE=07.06.2026</moduldb-query>
</document>
