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

Systemnahe Programmierung


Lernergebnisse des Moduls

ID Lernergebnis
L3 Sie können algorithmische Probleme analysieren und effiziente Lösungen entwerfen und implementieren.
L4 Sie beherrschen aktuelle Programmiersprachen und können diese sicher und zielgerichtet zur Entwicklung von Softwarelösungen einsetzen.
L5 Sie können Softwareprojekte unter Berücksichtigung von Aspekten wie Modultests, Fehlerbehandlung und Codequalität planen, durchführen und dokumentieren.

Modulbezeichnung:
Bezeichnung des Moduls innerhalb des Studiengangs. Sie soll eine präzise und verständliche Überschrift des Modulinhalts darstellen.
Systemnahe Programmierung
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).
Technische Informatik, Bachelor, Ordnung 01.10.2026
Code: TIB-PRG2
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..
P222-0138
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+2U (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
Prüfungsart:
Klausur, Dauer 90 min.

[letzte Änderung 27.11.2025]
Verwendbarkeit / Zuordnung zum Curriculum:
Alle Studienprogramme, die das Modul enthalten mit Jahresangabe der entsprechenden Studienordnung / ASPO-Anlage.

TIB-PRG2 (P222-0138) Technische Informatik, Bachelor, Ordnung 01.10.2026 , 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):
TIB-PRG1 Hardwarenahe Programmierung


[letzte Änderung 29.04.2026]
Als Vorkenntnis empfohlen für Module:
TIB-ES Embedded Systems
TIB-KI Künstliche Intelligenz
TIB-PA Projektarbeit
TIB-VS Verteilte Systeme


[letzte Änderung 28.04.2026]
Modulverantwortung:
Prof. Dr.-Ing. Martin Burger
Dozent/innen:
Dipl.-Inf. Christopher Olbertz


[letzte Änderung 14.04.2026]
Lernziele:
Die Studierenden
• beherrschen die grundlegenden Sprachelemente (Datentypen, Ausdrücke, Kontrollstrukturen, Funktionen, Ausnahmebehandlung) von C++ sicher.
• haben die Konzepte der Objektorientierung (Klassen, Objekte, Vererbung, Polymorphismus) begriffen und können sie programmtechnisch umsetzen.
• haben das Konzept der Templates verstanden und sind in der Lage es in Programmen nutzbringend anzuwenden.
• können sicher mit grundlegenden Klassen und Algorithmen der C++-Standardbibliothek (z. B. Zeichenketten, Ein-/Ausgabe, Containerklassen, Generische Algorithmen) umgehen.
• sind in der Lage in kleinen Teams, zu einfachen bis mittelschweren Problemstellungen Lösungen zu entwickeln und diese gut strukturiert zu implementieren.
* können sicher mit modernen C++-Elementen wie Smart-Pointern und Lambda-Ausdrücken umgehen und sie nutzbringend einsetzen.

[letzte Änderung 29.04.2026]
Inhalt:
1.  Einführung und Motivation
2.  Elementare Sprachelemente von C++
3.  Einführung in die objektorientierte Programmierung
   - Allgemeiner Überblick
   - Einführung Klassen und Objekte
   - Einsatz des Dokumentationsgenerators Doxygen
4. Trennung von Benutzerdialog und Anwendungskern
        - Definition Anwendungskern
        - Vorteile einer sinnvollen Trennung
        - Umsetzung der Trennung in C++
        - Einführung Ausnahmebehandlung
5. Methodik
        - Schrittweises Programmieren
        - Entwicklung von Klassen aus einer Aufgabenstellung heraus
        - Strukturierung von Programmen
        - Grundlagen des Testens
6.  Vertiefung Datentypen
   - Geltungsbereiche, Typkonvertierungen
   - Referenzen und Pointer
   - Enums
   - Smart Pointer
   - Templates
7. Überladen von Operatoren und Friend-Klassen
8. Einführung in die Standard Template Library (STL)
        - Aufbau der STL
        - Vector als Beispiel für eine Datenstruktur der STL
        - Wichtige Algorithmen der STL
        - Das Schlüsselwort auto
        - Lambda-Ausdrücke
9. Klassen und Objekte Teil 2
   - Kopierkonstruktor, Zuweisungsoperator
   - Klassenattribute, Klassenmethoden
   - Grundlagen der move-Semantik
   - Das Schlüsselwort noexept
10.  Vererbung
   - Grundlegendes
   - Dynamisches Binden
   - Abstrakte Klassen
   - Mehrfachvererbung
11.  Ein-Ausgabe und Dateiverarbeitung

[letzte Änderung 29.04.2026]
Weitere Lehrmethoden und Medien:
Folien, Beamer, Code-Beispiele, Live-Programmierung

[letzte Änderung 29.04.2026]
Literatur:
Stroustrup, Bjarne
Einführung in die Programmierung mit C++
Pearson Studium, 2019
 
Thels, Thomas
Einstieg in C++: Ideal für Programmiereinsteiger
Programmierung mit C++ und Übungsaufgaben
Rheinwerk Computing, 2020
 
Wolf, Jürgen; Guddat, Martin
Grundkurs C++: Kompaktes Wissen im Taschenbuchformat.
Ideal für Studium und Beruf. Aktuell zu C++23
Rheinwerk Computing, 2025
 
Will, Torsten
C++: Das umfassende Handbuch zu Modern C++.
Über 1.000 Seiten Profiwissen, aktuell zum Standard C++23
Rheinwerk Computing
 
C++ Reference
http://www.cppreference.com
 
Bjarne Stroustrup´s C++ Style and Technique FAQ
https://www.stroustrup.com/C++.html

[letzte Änderung 29.04.2026]
[Sat Oct 17 13:03:09 CEST 2026, CKEY=tp2, BKEY=tib, CID=TIB-PRG2, LANGUAGE=de, DATE=17.10.2026]