|
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
|
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-PR1 Programmierung 1
[letzte Änderung 28.11.2024]
|
Als Vorkenntnis empfohlen für Module:
PIB-ASE Automatisierte Softwareentwicklung PIB-PA Projektarbeit PIB-PR3 Programmierung 3 PIB-PRA Praxisphase PIB-RGD Rapid Game Development PIB-SES Softwareentwicklung mit Spring PIB-SWT Softwaretechnik PIB-VS Verteilte Systeme PIB-WEB Grundlagen der Webentwicklung
[letzte Änderung 28.11.2024]
|
Modulverantwortung:
Prof. Dr. Markus Esch |
Dozent/innen: Prof. Dr. Markus Esch (Vorlesung) Dominic Büch (Übung) Moritz Niederer, M.Sc. (Übung) Dipl.-Inf. Regina Piontek (Übung) Andreas Schaffhauser, M.Sc. (Übung)
[letzte Änderung 28.11.2024]
|
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 23: https://docs.oracle.com/en/java/javase/23/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 B.W. KERNIGHAN, D. RITCHIE: The C Programming Language, Prentice Hall, 2nd Edition, 2000 D. Logofatu: Einführung in C: Praktisches Lern- und Arbeitsbuch für Programmieranfänger, Springer, 2. Auflage, 2016
[letzte Änderung 28.11.2024]
|
Modul angeboten in Semester:
SS 2024,
SS 2023,
SS 2022,
SS 2021,
SS 2020,
...
|