The language was changed to English.

Course Type (SWS)
Lecture: 2 │ Exercise: 1 │ Lab: 0 │ Seminar: 0
Exam Number: ZKD 41014
Type of Lecture:

Presence lecture with MS Powerpoint slide presentation by beamer and service of e-learning platform Moodle, additionally voluntary computer exercises/tutorials.

Language: German
Cycle: WS
ECTS: 3
Exam Type

Written examination (90 minutes duration).

Written Exam (90 min.)
assigned Study Courses
assigned People
assigned Modules
Information
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:
allgemein: Einführung in Konzepte und Methoden der objektorientierten Software-Entwicklung - Objekt, Attribut, Identität, Zustand, Verhalten, Nachricht, Nachrichtenaustausch, Klasse, Operation, Abstraktion, Generalisierung, Datenkapselung, setter- und getter-Methoden, Modularität, ist-ein- und Teil-von-Hierarchie, Typisierung, Polymorphismus, Konkurrenz und Existenz, UML-Klassen- und -Sequenz-Diagramme.
C++: Klasse, Objektvariable, Member, Zugriffsschutzmechanismen, Konstruktoren, Destruktoren, dynamische Speicherreservierung, Überladen von Funktionen und Operatoren, Datenströme, einfache und mehrfache Vererbung, statisches und dynamisches Binden, virtuelle Funktion, virtuelle Basisklasse, Ausnahmebehandlung, Namensräume, Einführung in die generische Programmierung über Templates für Funktionen und Klassen, Anwendungsbeispiele.

Lernziele:

Die Studierenden kennen und verstehen die grundlegenden Konzepte und Methode der objektorientierten Softwareentwicklung, deren Umsetzung in C++, und können kleinere Aufgaben selbständig objektorientiert in C++ modellieren und programmieren.

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.
  • Stephen Prata. C++ Primer Plus. Addison-Wesley Longman. 6. Edition. 2011. ISBN-13: 978-0321776402.
  • 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:
generell: introduction into concepts and methods of the object oriented software development: object, attribute, identity, status, behaviour, message, message exchange, class, operation, abstraction, generalisation, encapsulation, setter and getter operations, modularity, is-a- and part-of-hierarchy, typing, polymorphism, concurrency and existence, UML class and sequence diagrams.
C++: class, object variable, member, access protection, constructors, destructors, dynamic memory allocation, overloading of functions and operators, streams, single and multiple inheritance, static and dynamic binding, virtual function, virtual base class, exception handling, name spaces, introduction into generic programming by functions and class templates, application examples.

Learning Targets:

The students know and understand the concepts and methods of the object-oriented software development, their realisations in C++, and can model and program smaller tasks 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.
  • Stephen Prata. C++ Primer Plus. Addison-Wesley Longman. 6. Edition. 2011. ISBN-13: 978-0321776402.
  • 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 and pointers, dynamic memory management and simple dynamic data structures.

Info Link:
Notice: