Übersicht - C++ und GUI

Lehrender: Prof. R. Salomon
Semester: Wintersemester
SWS: 3 Vorlesungen, 3 Projekt
LP: 6
Prüfung: mündlich, Referat/Präsentation
Voraussetzungen: erfolgreiche Bearbeitung eines praktischen Programmierprojektes
LSF-Nummer: 24524
Systemnummer: 1301040
Aktuelle Informationen: Projektseite im WS 2018/19

Ziel

Durch die Lehrveranstaltung werden Techniken und Methoden der objektorientierten Softwareentwicklung vermittelt. Die praktischen Übungen erfolgen anhand der Programmiersprache C++.

Inhalt

  • Von C zu C+: Eine erste Einführung
    • Warum C++?
    • Vergleich von C und C++
    • Objektorientierte Techniken in C: Pseudo-virtuelle Funktionen, Funktionszeiger und Attribute als Structs
    • Technische Begriffe und Konzepte: Klasse, Subklasse, Superklasse, Attribute, Operatoren, Vererbung, Nachrichten, Polymorphismus
    • C++-Programme und Funktionen
  • Elementare Programmiertechniken in C++
    • C++: Typen, Literale, Deklarationen und Initialisierung
    • C++-Klassen: von Struct zu Class, Objekte, Member, this-Zeiger, public und private, constructor, new, Initialisierungsliste, einfache Vererbung
    • C++-Sprach-Features
    • C++-Funktionen, Funktionsüberladung, Default-Argumente
  • Fortgeschrittene Design- und Implementierungstechniken
    • Nutzung von Deklarationen/Direktiven
    • Templates in C++
    • Namespaces in C++
    • Ergänzungen zu Grundlagen: enumerations, const class members, Eingabe und Ausgabe, Referenzen und Funktionen (Call-by-Value, Call-by-Reference, Call-by-Const-Reference)
    • Speicherlecks
    • Klassen: destructor, constructors mit einem oder mehreren Argumenten, default constructor, copy constructor, copy assignment
    • Operatorenüberladung
    • Abstrakte Klassen mit protected/pure virtual Funktionen
    • Standard Template Library
    • Generische Programmierung und grundlegende Modelle: Algorithmen, Container und Iteratoren
    • Predicates: Funktionen, Funktionsobjekte, Lambdas und Inline-Code
    • Automatische und range-basierte Schleifen
  • Aufbau und Funktionsweise grafischer Systeme
    • die freie Bibliothek Qt und deren wichtigsten Programmierkonzepte
    • Grundlagen eines benutzerfreundlichen Oberflächen Designs

Literatur

  • Goldberg, Adele: Smalltalk-80., Reading (Mass.): Addison-Wesley 1984
  • Brian W. Kernighan, Denis M. Ritchie: Programmieren in C, Hanser/Prentice Hall, Wien/London 1990
  • Meyer, Bertrand: Objektorientierte Softwareentwicklung., München, London: Carl Hanser und Prentice-Hall 1990
  • Stroustrup, Bjarne: The C++ Programming Language, Addison-Wesley 2001
  • Helmut Balzert: Lehrbuch der Software-Technik (Software-Entwicklung), Spektrum Akademie Verlag, 2001
  • Stroustrup, Bjarne: Einführung in die Programmierung mit C++,  Pearson, 2010
  • Salomon, Ralf: Praktische Informatik und die Programmiersprache C, 2013

Material zur Vorlesung und Übung

Bei Fragen wenden Sie sich bitte an Herrn Prof. Ralf Salomon

LSF-Server

LSF-Server