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

Programmierung 4

Modulbezeichnung:
Bezeichnung des Moduls innerhalb des Studiengangs. Sie soll eine präzise und verständliche Überschrift des Modulinhalts darstellen.
Programmierung 4
Modulbezeichnung (engl.): Programming 4
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.2011
Code: PIBWI50
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.
3V+1P (4 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).
5
Studiensemester: 5
Pflichtfach: nein
Arbeitssprache:
Deutsch
Prüfungsart:
Klausur

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

PIBWI50 Praktische Informatik, Bachelor, ASPO 01.10.2011 , 5. Semester, Wahlpflichtfach, informatikspezifisch
PIB-PRG4 (P221-0123) Praktische Informatik, Bachelor, ASPO 01.10.2022 , 4. Semester, Wahlpflichtfach, informatikspezifisch
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 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtumfang des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Std/ECTS). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
Empfohlene Voraussetzungen (Module):
PIB120 Programmierung 1
PIB210 Programmierung 2
PIB320 Softwaretechnik 1
PIB413 Programmierung 3


[letzte Änderung 05.11.2016]
Als Vorkenntnis empfohlen für Module:
PIBWI63 GUI-Programmierung mit Qt


[letzte Änderung 13.02.2015]
Modulverantwortung:
Prof. Dr.-Ing. Matthias Jung
Dozent/innen:
Prof. Dr. Helmut Folz


[letzte Änderung 05.11.2016]
Lernziele:
Die Studierenden
• beherrschen die grundlegenden Sprachkonzepte (Datentypen, Ausdrücke, Kontrollstrukturen, Funktionen, Ausnahmebehandlung) von C++ sicher.
• beherrschen die speziellen C++-Konzepte der Objektorientierung (Klassen, Objekte, Vererbung, Polymorphismus) und können sie programmtechnisch umsetzen.
• können der Funktions- und Klassen-Templates in Programmen nutzbringend anwenden.
• 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, auch zu schwierigeren Problemstellungen Lösungen zu entwickeln und diese gut strukturiert zu implementieren.


[letzte Änderung 02.10.2017]
Inhalt:
Die Veranstaltung führt in die strukturierte, objektorientierte und generische Programmierung mit C/C++ ein. Ausgehend von den in den Modulen Programmierung 1-3 vermittelten Kenntnissen werden die Sprachelemente von C/C++ eingeführt und in Übungen vertieft. Besonderen Wert wird auf den Einsatz der C/C++-Standardbibliothek gelegt.
  
1. Einführung
    - Historie
    - Verwendung
    - Entwicklung von C/C++-Programmen
    - Gegenüberstellung C++ und Java
2. Elementares
    2.1 Grundlagen und Datentypen
    2.2 Arithmetik
    2.3 Typumwandlungen
    2.4 Kontrollstrukturen
3. Funktionen und Strukturen
    3.1 Funktionen und Referenzen
    3.2 Strukturen
    3.3 Präprozessordirektiven
4. Datentypen
    4.1 Enums und Felder
    4.2 C-Strings
    4.3 Die Klasse string
    4.4 Zeiger
5. Ein-Ausgabe
    5.1 Ein-Ausgabe
    5.2 Ein-Ausgabe-Formatierung
    5.3 Dateiverarbeitung
6. Klassen
    6.1 Aufbau von Klassen
    6.2 Verwendung von Doxygen
    6.3 Kopierkonstruktor und Zuweisungsoperator
    6.4 Klassenattribute und –methoden
    6.5 Friends
7. Überladen von Operatoren
    7.1 Überladbare Operatoren
    7.2 Eine Rationalzahlklasse
    7.3 Verschiedene Anwendungen
    7.4 Smart Pointer
8. Vererbung
    8.1 Einführung
    8.2 Virtuelle Funktionen
    8.3 Koperkonstruktor und Zuweisungsoperator
    8.4 Abstrakte Klassen
    8.5 Mehrfachvererbung
    8.6 Der Operator dynamic_cast
9. Ausnahmebehandlung
10. Templates
    10.1 Funktions-Templates
    10.2 Klassen-Templates
11. Standard Template Library
    11.1 Einführung
    11.2 Sequentielle Container
    11.3 Iteratoren und Algorithmen
    11.4 Assoziative Container
12. Runtime Type Information (RTTI)

[letzte Änderung 22.01.2013]
Weitere Lehrmethoden und Medien:
Folien, Beamer, Vorlesungsspezifische Website

[letzte Änderung 05.11.2016]
Literatur:
Breymann, Ulrich: Der C++ Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen., Hanser-Verlag
Stroustrup, Bjarne: Einführung in die Programmierung mit C++, Pearson Studium
Eckel, Bruce: Thinking in C++; Second Edition; Prentice Hall: www.bruceeckel.com
Grimm, Rainer: C++11: Der Leitfaden für Programmierer zum neuen Standard Addison-Wesley
Will, Torsten T.: C++11 programmieren: 60 Techniken für guten C++11-Code  Galileo Computing;
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
Bjarne Stroustrup´s C++ Style and Technique FAQ: http://www.stroustrup.com/bs_faq2.html
The C++ Resources Network:  http://www.cplusplus.com/
C++ Reference: http://www.cppreference.com
Boost-Library: http://www.boost.org/
 


[letzte Änderung 05.11.2016]
Modul angeboten in Semester:
WS 2018/19, WS 2017/18, WS 2016/17, WS 2015/16, WS 2014/15, ...
[Thu Nov 21 15:38:28 CET 2024, CKEY=pprog4, BKEY=pi, CID=PIBWI50, LANGUAGE=de, DATE=21.11.2024]