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


Systemnahe Programmierung

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, SO 01.10.2026
Code: TIB-PRG2
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 Technische Informatik, Bachelor, SO 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-SWT Softwaretechnik
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]
[Wed Apr 29 15:02:13 CEST 2026, CKEY=tp2, BKEY=tib, CID=TIB-PRG2, LANGUAGE=de, DATE=29.04.2026]