Veranstaltungsarten (SWS)
Vorlesung: 2 │ Übung: 1 │ Praktikum: 0 │ Seminar: 0
Prüfungsnummer: ZKD 41014
Lehrform:

Präsenzveranstaltung mit Beamer und Einsatz der elektronischen Lernplattform Moodle, zusätzlich freiwillige Rechnerübung/Tutorium.

Sprache: Deutsch
Turnus: WS
ECTS: 3
Prüfungsleistung Klausur (90 min.)
zugeordnete Studiengänge
zugeordnete Personen
zugeordnete Module
Informationen
Beschreibung:

Die Vorlesung vermittelt die grundlegenden Konzepte und Methoden der objektorientierten Programmierung (OOP). Eine beispielhafte Umsetzung wird mittels der objektorientierten Programmiersprache C++ (als Erweiterung von C) vorgestellt. Im Einzelnen werden behandelt:
Einführung in Konzepte und Methoden der objektorientierten Software-Entwicklung: Objekt, Attribut, Nachricht, Identität, Zustand, Klasse, Operation, Abstraktion, Generalisierung, Datenkapselung, Modularität, ist-ein- und Teil-von-Hierarchien, Typisierung, Konkurrenz und Existenz, Klassen, Zugriffsschutzmechanismen, Konstruktoren und Destruktoren, setter- und getter-Methoden, dynamische Speicherreservierung, Überladen, Polymorphismus, Datenströme, einfache und mehrfache Vererbung, statisches und dynamisches Binden über virtuelle Funktionen, virtuelle Basisklassen, Ausnahmebehandlung, Grundlagen zu Templates für Funktionen und Klassen, Namensräume, Anwendungsbeispiele.

Lernziele:

Die Studierenden kennen und verstehen die grundlegenden Konzepte und Methode der objektorientierten Softwareentwicklung und können diese auf kleinere Beispiele in C++ selbständig anwenden.

Literatur:
  • Breymann, Ulrich. Der C++-Programmierer: C++ lernen – professionell anwenden – Lösungen nutzen. Aktuell zu C++17. Carl Hanser Verlag. 5. Auflage, 2017. ISBN-13: 978-3446448841.
  • Heide Balzert. Lehrbuch der Objektmodellierung: Analyse und Entwurf mit der UML2. Spektrum Akademischer Verlag. 2. Auflage. 2011. ISBN-13: 978-3827429032.
  • Bjarne Stroustrup. The C++ Programming Language. Addison-Wesley Longman. 4. Edition. 2013. ISBN-13: 978-0321563842.
  • Tony Gaddis. Judy Walters. Godfrey Muganda. Starting Out With C++. Pearson Education Limited. 9. Edition. 2016.ISBN-13: 978-1292157276.
  • Bjarne Stroustrup. Bjarne Stroustrup. Die C++-Programmiersprache. Carl Hanser Verlag. 2015. ISBN-13: 978-3446439610.
  • Bjarne Stroustrup. A Tour of C++ (C++ In Depth SERIES). Addison-Wesley. 2. Edition. 2018. ISBN-13: 978-0134997834.
  • Bernd Oestereich. Analyse und Design mit UML 2.1: Objektorientierte Softwareentwicklung. Oldenbourg Verlag. 9. Auflage. 2009. ISBN 978-3486588552.
  • Robert Sedgewick. Algorithmen in C++. Teil 1-4. Addison-Wesley Longman Verlag. 3. Auflage. 2002. ISBN 978-3827370266.
  • Nicolai M. Josuttis. The C++ Standard Library: A Tutorial and Reference. Addison-Wesley Longman, Amsterdam. 2nd edition. 2012. ISBN-13: 978-0321623218.
  • http://www.open-std.org/jtc1/sc22/wg21/
  • http://www.uml.org/
  • http://www.cplusplus.com/
  • https://www.cppreference.com/
Vorleistung:

Kenntnisse über Algorithmen und prozedurale Programmierung in der Programmiersprache C; Grundkenntnisse zu Adressen und Zeigern, dynamischer Speicherverwaltung und einfachen dynamischen Datenstrukturen.

Infolink:
Bemerkung:
Description:

The lectures introduces the basic concepts and methods of object oriented programming (OOP). Example implementations are done in the programming language C++ (as an extension to C). The following topics are presented:
introduction into concepts and methods of the object oriented software development: object, attribute, message, identity, status, class, operation, abstraction, generalisation, encapsulation, modularity, is-a- and part-of-hierarchies, typing, concurrency, and existence, access protection, constructors and destructors, setter and getter methods, dynamical memory allocation, overloading, polymorphism, streams, simple and multipe inheritance, static and dynamic binding by virtual functions, virtual base classes, exception handling, introduction into templates of functions and classes, name spaces, application examples.

Learning Targets:

The students know and understand the concepts and methods of the object-oriented software development and can apply smaller examples in C++ on their own.

Literature:
  • Breymann, Ulrich. Der C++-Programmierer: C++ lernen – professionell anwenden – Lösungen nutzen. Aktuell zu C++17. Carl Hanser Verlag. 5. Auflage, 2017. ISBN-13: 978-3446448841.
  • Heide Balzert. Lehrbuch der Objektmodellierung: Analyse und Entwurf mit der UML2. Spektrum Akademischer Verlag. 2. Auflage. 2011. ISBN-13: 978-3827429032.
  • Bjarne Stroustrup. The C++ Programming Language. Addison-Wesley Longman. 4. Edition. 2013. ISBN-13: 978-0321563842.
  • Tony Gaddis. Judy Walters. Godfrey Muganda. Starting Out With C++. Pearson Education Limited. 9. Edition. 2016.ISBN-13: 978-1292157276.
  • Bjarne Stroustrup. Bjarne Stroustrup. Die C++-Programmiersprache. Carl Hanser Verlag. 2015. ISBN-13: 978-3446439610.
  • Bjarne Stroustrup. A Tour of C++ (C++ In Depth SERIES). Addison-Wesley. 2. Edition. 2018. ISBN-13: 978-0134997834.
  • Bernd Oestereich. Analyse und Design mit UML 2.1: Objektorientierte Softwareentwicklung. Oldenbourg Verlag. 9. Auflage. 2009. ISBN 978-3486588552.
  • Robert Sedgewick. Algorithmen in C++. Teil 1-4. Addison-Wesley Longman Verlag. 3. Auflage. 2002. ISBN 978-3827370266.
  • Nicolai M. Josuttis. The C++ Standard Library: A Tutorial and Reference. Addison-Wesley Longman, Amsterdam. 2nd edition. 2012. ISBN-13: 978-0321623218.
  • http://www.open-std.org/jtc1/sc22/wg21/
  • http://www.uml.org/
  • http://www.cplusplus.com/
  • https://www.cppreference.com/
Pre-Qualifications:

Knowledge about algorithms and procedural programming in C programming language; basic knowledge about addresses, pointers, dynamic memory management and simple dynamic data structures.

Info Link:
Notice: