htw saar
Zurück zur Hauptseite

Version des Moduls auswählen:

Programmierung 4

Modulbezeichnung: Programmierung 4
Modulbezeichnung (engl.): Programming 4
Studiengang: Praktische Informatik, Bachelor, ASPO 01.10.2011
Code: PIBWI50
SWS/Lehrform: 3V+1P (4 Semesterwochenstunden)
ECTS-Punkte: 5
Studiensemester: 5
Pflichtfach: nein
Arbeitssprache:
Deutsch
Prüfungsart:
Klausur
Zuordnung zum Curriculum:
PIBWI50 Praktische Informatik, Bachelor, ASPO 01.10.2011, 5. Semester, Wahlpflichtfach, informatikspezifisch
PIB-PRG4 Praktische Informatik, Bachelor, ASPO 01.10.2017, 5. Semester, Wahlpflichtfach, informatikspezifisch
Arbeitsaufwand:
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Stunden. Der Gesamtumfang des Moduls beträgt bei 5 Creditpoints 150 Stunden. Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 90 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. Helmut Folz
Dozent:
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 28.07.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]
Lehrmethoden/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 2017/18 (voraussichtlich), WS 2016/17, WS 2015/16, WS 2014/15, WS 2013/14, ...
[Mon Sep 25 04:18:36 CEST 2017, CKEY=pprog4, BKEY=pi, CID=PIBWI50, LANGUAGE=de, DATE=25.09.2017]