|
|
| Modulbezeichnung (engl.):
Programming 2 |
|
| Code: PIB-PR2 |
|
|
4V+2P (6 Semesterwochenstunden) |
|
8 |
| Studiensemester: 2 |
| Pflichtfach: ja |
Arbeitssprache:
Deutsch |
Studienleistungen (lt. Studienordnung/ASPO-Anlage):
Studienbegleitende Übungen als Zulassungsvoraussetzung zur Klausur |
Prüfungsart:
Klausur, Dauer 120 min.
[letzte Änderung 26.07.2024]
|
DFIW-PRG2 (P610-0190) Informatik und Web-Engineering, Bachelor, ASPO 01.10.2019
, 4. Semester, Pflichtfach
PIB-PR2 (P221-0032) Praktische Informatik, Bachelor, ASPO 01.10.2022
, 2. Semester, Pflichtfach
PIB-PR2 (P221-0032) Praktische Informatik, Bachelor, SO 01.10.2026
, 2. Semester, Pflichtfach
|
|
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 90 Veranstaltungsstunden (= 67.5 Zeitstunden). Der Gesamtumfang des Moduls beträgt bei 8 Creditpoints 240 Stunden (30 Std/ECTS). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 172.5 Stunden zur Verfügung.
|
Empfohlene Voraussetzungen (Module):
PIB-INF1 Informatik 1 PIB-LIN Linux / Unix Einführung PIB-PR1 Programmierung 1
[letzte Änderung 29.04.2026]
|
Als Vorkenntnis empfohlen für Module:
PIB-ASE Automatisierte Softwareentwicklung PIB-ATEC Automobiltechnik PIB-BCI Gehirn-Computer-Schnittstelle PIB-C C für Java-Entwickler PIB-CBAU Compilerbau PIB-CCOM Cloud Computing PIB-CUDA Einführung in die parallele Programmierung mit CUDA PIB-CVIS Computervision PIB-DB Datenbanken PIB-EISP Einführung in sichere Programmierung PIB-EJB Enterprise Java Beans PIB-EPDA Entwicklung plattformunabhängiger Desktop-Anwendungen PIB-EWM Entwurfsmuster PIB-FISC Future Internet and Smart City with Software Defined Networking PIB-FSDN Future Internet: Software Defined Networking PIB-GDEV Game Design and Development PIB-GKI Einführung in die Grundlagen der Künstlichen Intelligenz PIB-HCI Human Computer Interaction PIB-INET Internet-Technologien PIB-IOTA IoT-Anwendungen
[letzte Änderung 30.04.2026]
|
Modulverantwortung:
Prof. Dr. Markus Esch |
Dozent/innen: Prof. Dr. Markus Esch Moritz Niederer, M.Sc. Dipl.-Physiker Michael Meßner Andreas Schaffhauser, M.Sc.
[letzte Änderung 29.04.2026]
|
Lernziele:
Aufbauend auf dem Modul Programmierung 1 vertiefen die Studierenden ihre Kenntnisse und ihr Verständnis der objektorientierten Programmierung. Nach erfolgreichem Abschluss dieses Moduls können die Studierenden fortgeschrittene Konzepte der objektorientierten Programmierung in Java erklären und anwenden. Sie sind in der Lage, objektorientierte Lösungen zu entwerfen und zu implementieren sowie bestehende Lösungen zu analysieren und zu erweitern. Darüber hinaus sind die Studierenden in der Lage, Konzepte der funktionalen Programmierung in Java, insbesondere unter Verwendung des Collections-Frameworks, anzuwenden. Aufbauend auf den im Modul Informatik 1 erworbenen theoretischen Kenntnissen über Datenstrukturen können die Studierenden verschiedene Datenstrukturen implementieren und anwenden. Darüber hinaus sind sie in der Lage, für gegebene Anforderungen die geeignete Datenstruktur auszuwählen. Neben der Vertiefung der objektorientierten Programmierung erlernen die Studierenden die Grundkonzepte der Programmiersprache C. Die Studierenden können Konzepte und Besonderheiten der imperativen Programmierung in C benennen. Sie können Unterschiede sowie Vor- und Nachteile zu objektorientierten und typsicheren Sprachen erläutern und sind in der Lage, diese Kenntnisse bei der Implementierung von C-Programmen anzuwenden. Im Rahmen der praktischen Übungen lernen die Studierenden in Kleingruppen zusammenzuarbeiten.
[letzte Änderung 28.11.2024]
|
Inhalt:
- Fortgeschrittene Konzepte objektorientierter Programmierung in Java o Rekursion o Generics o Annotations o Reflection o Lambda-Ausdrücke o Implementierungsaspekte von Bäumen, Graphen und Listen o Java Collections Framework o Streams - C-Programmierung o Struktur eines C-Programms o Ausdrücke, Operatoren, Kontrollstrukturen und Funktionen o Einfache- und strukturierte Datentypen o Pointer und Pointer-Arithmetik o Speicherverwaltung o Präprozessor, Compiler, Linker, Debugger, make o Nutzung von Bibliotheken o Komplexe Datenstrukturen in C
[letzte Änderung 15.09.2017]
|
Weitere Lehrmethoden und Medien:
Vorlesungsfolien, Programmbeispiele, vorlesungsbegleitende Übungen
[letzte Änderung 28.11.2024]
|
Literatur:
B. WEIDIG: A Functional Approach to Java: Augmenting Object-Oriented Java Code with Functional Principles, O´Reilly, 2023 R-G. URMA, M. FUSCO, A.MYCROFT: Modern Java in Action: Lambdas, streams, functional and reactive programming, Manning Pubn, 2018 M. NAFTALIN, P. WADLER: Java Generics and Collections, 2nd Edition, O´Reilly, 2025 Java® Platform, Standard Edition & Java Development Kit API Specification, Version 26: https://docs.oracle.com/en/java/javase/26/docs/api/index.html A. SOLYMOSI, U. GRUDE: Grundkurs Algorithmen und Datenstrukturen in JAVA: Eine Einführung in die praktische Informatik, 6. Auflage, Springer, 2017
[letzte Änderung 29.04.2026]
|