|
Modulbezeichnung (engl.):
Programming 4 |
|
Code: PIBWI50 |
3V+1P (4 Semesterwochenstunden) |
5 |
Studiensemester: 5 |
Pflichtfach: nein |
Arbeitssprache:
Deutsch |
Prüfungsart:
Klausur
[letzte Änderung 30.10.2010]
|
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
|
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. [OE+0+0+3+0+0+0=3]
[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,
...
|