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):
Keine.
Als Vorkenntnis empfohlen für Module:
Modulverantwortung:
Prof. Dr.-Ing. Martin Burger
Dozent/innen:
Dipl.-Inf. Christopher Olbertz


[letzte Änderung 27.11.2025]
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.


[letzte Änderung 27.11.2025]
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
    - Einführung Ausnahmebehandlung
4.  Grundlegende Konzepte
    - Geltungsbereiche, Typkonvertierungen
    - Funktionen und Referenzen
    - Einsatz des Dokumentationsgenerators Doxygen
5.  Klassen und Objekte Teil 2
    - Kopierkonstruktor, Zuweisungsoperator
    - Klassenattribute, Klassenmethoden
6.  Überladen von Operatoren
7.  Ein-Ausgabe und Dateiverarbeitung
8.  Vererbung
    - Grundlegendes
    - Dynamisches Binden
    - Abstrakte Klassen
    - Mehrfachvererbung
9.  Ausnahmebehandlung Teil 2
10. Templates
    - Funktions-Templates
    - Klassen-Templates
11. Standard Template Library
    - Konzepte
    - Container, Algorithmen, Iteratoren


[letzte Änderung 27.11.2025]
Weitere Lehrmethoden und Medien:
Folien, Beamer

[letzte Änderung 27.11.2025]
Literatur:
Breymann, Ulrich
Der C++ Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen.
Carl Hanser Verlag GmbH & CO. KG
   
Stroustrup, Bjarne
Einführung in die Programmierung mit C++
Pearson Studium
   
Grimm, Rainer
C++11: Der Leitfaden für Programmierer zum neuen Standard
Addison-Wesley, München;
  
Will, Torsten T.
C++11 programmieren: 60 Techniken für guten C++11-Code
Galileo Computing
   
Eckel, Bruce
Thinking in C++
Prentice Hall, http://www.BruceEckel.com
   
Meyers, Scott
Effektiv C++ programmieren: 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern
Addison-Wesley
   
Schäling, Boris
The Boost C++ Libraries
Xml Press
  
C++ Reference
http://www.cppreference.com
  
Bjarne Stroustrup´s C++ Style and Technique FAQ
www.stroustrup.com/C++11FAQ.html


[letzte Änderung 27.11.2025]
[Thu Mar  5 14:02:38 CET 2026, CKEY=tp2, BKEY=tib, CID=TIB-PRG2, LANGUAGE=de, DATE=05.03.2026]