htw saar Piktogramm QR-encoded URL
Zurück zur Hauptseite Version des Moduls auswählen:
Lernziele hervorheben XML-Code



Programmierung 2

Modulbezeichnung:
Bezeichnung des Moduls innerhalb des Studiengangs. Sie soll eine präzise und verständliche Überschrift des Modulinhalts darstellen.
Programmierung 2
Modulbezeichnung (engl.): Programming 2
Studiengang:
Studiengang mit Beginn der Gültigkeit der betreffenden ASPO-Anlage/Studienordnung des Studiengangs, in dem dieses Modul zum Studienprogramm gehört (=Start der ersten Erstsemester-Kohorte, die nach dieser Ordnung studiert).
Praktische Informatik, Bachelor, ASPO 01.10.2022
Code: PIB-PR2
SAP-Submodul-Nr.:
Die Prüfungsverwaltung mittels SAP-SLCM vergibt für jede Prüfungsart in einem Modul eine SAP-Submodul-Nr (= P-Nummer). Gleiche Module in unterschiedlichen Studiengängen haben bei gleicher Prüfungsart die gleiche SAP-Submodul-Nr..
P221-0032
SWS/Lehrform:
Die Anzahl der Semesterwochenstunden (SWS) wird als Zusammensetzung von Vorlesungsstunden (V), Übungsstunden (U), Praktikumsstunden (P) oder Projektarbeitsstunden (PA) angegeben. Beispielsweise besteht eine Veranstaltung der Form 2V+2U aus 2 Vorlesungsstunden und 2 Übungsstunden pro Woche.
4V+2P (6 Semesterwochenstunden)
ECTS-Punkte:
Die Anzahl der Punkte nach ECTS (Leistungspunkte, Kreditpunkte), die dem Studierenden bei erfolgreicher Ableistung des Moduls gutgeschrieben werden. Die ECTS-Punkte entscheiden über die Gewichtung des Fachs bei der Berechnung der Durchschnittsnote im Abschlusszeugnis. Jedem ECTS-Punkt entsprechen 30 studentische Arbeitsstunden (Anwesenheit, Vor- und Nachbereitung, Prüfungsvorbereitung, ggfs. Zeit zur Bearbeitung eines Projekts), verteilt über die gesamte Zeit des Semesters (26 Wochen).
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]
Verwendbarkeit / Zuordnung zum Curriculum:
Alle Studienprogramme, die das Modul enthalten mit Jahresangabe der entsprechenden Studienordnung / ASPO-Anlage.

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
Arbeitsaufwand:
Der Arbeitsaufwand des Studierenden, der für das erfolgreiche Absolvieren eines Moduls notwendig ist, ergibt sich aus den ECTS-Punkten. Jeder ECTS-Punkt steht in der Regel für 30 Arbeitsstunden. Die Arbeitsstunden umfassen Präsenzzeit (in den Vorlesungswochen), Vor- und Nachbereitung der Vorlesung, ggfs. Abfassung einer Projektarbeit und die Vorbereitung auf die Prüfung.

Die ECTS beziehen sich auf die gesamte formale Semesterdauer (01.04.-30.09. im Sommersemester, 01.10.-31.03. im Wintersemester).
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, ...
[Fri Dec 27 02:09:37 CET 2024, CKEY=pp2, BKEY=pi2, CID=PIB-PR2, LANGUAGE=de, DATE=27.12.2024]