Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften, IAI, Vorlesungen, WS 2014/2015
Objektorientierte Programmierung mit C++
im Wintersemester 2014/2015
Veranstalter Dr. Andreas Borchert
TypVorlesung mit Übungen
Umfang 2 V + 2 Ü (6 LP)
Termin Mo 16-18 Uhr in der Helmholtzstraße 18, Raum E20 (Vorlesung)
Di 14-16 Uhr in der Helmholtzstraße 18, Raum E20 (Übungen)
(Am 27. Januar 2015 finden die letzten Übungen statt.)
Beginn

Montag, 13. Oktober 2014

Prüfungen

Die Prüfung erfolgt schriftlich über 120 Minuten. Als Hilfsmittel sind nur bis zu fünf handgeschriebene Zettel im A4-Format zugelassen.

Bitte melden Sie sich rechtzeitig für die Prüfung an. Unabhängig davon, für welchen Prüfungstermin Sie sich entscheiden, sollten Sie spätestens am 22. Februar sich im Portal anmelden. Es ist aber ratsam, dies deutlich früher zu tun, um bei Problemen mit dem Portal die Frist noch wahren zu können.

Der zweite Prüfungstermin ist am Mittwoch, den 8. April 2015, in der Zeit von 16:00 bis 18:00 Uhr im Raum E.20 in der Helmholtzstraße 18. Es empfiehlt sich, rechtzeitig vor 16 Uhr bereits da zu sein, da die Prüfung genau um 16:00 Uhr beginnen wird.

Zur Vorbereitung auf die Prüfung steht eine Probeklausur, die am 9. Februar in der Vorlesung besprochen wurde. Eine nicht ganz vollständige Beispiellösung steht zur Verfügung.

Inhalte
  • Einführung in OO-Design, UML und Design by Contract
  • Einführung in C++
  • Dynamischer Polymorphismus in C++
  • Generische Module auf Basis von Templates
  • STL-Bibliothek
  • iostream-Bibliothek
  • Ausnahmebehandlungen
  • Statischer Polymorphismus auf Basis von Templates
  • Metaprogrammierung, Funktionsobjekte und Lambda-Ausdrücke
  • Potentiale und Auswirkungen optimierender Übersetzer bei C++
Skript

Folien der einzelnen Vorlesungen:

Es stehen auch alle bisher veröffentlichten Folien in einer Datei (Stand: 2. Februar 2015) zur Verfügung. In dieser Fassung funktioniert die Navigation innerhalb der PDF-Datei.

Voraussetzungen

Es werden einführende Vorlesungen in die praktische Informatik vorausgesetzt. Denkbar sind entweder Allgemeine Informatik I und II oder Praktische Informatik I und II. Insbesondere hilfreich wären

  • Grundlegende Kenntnisse in Unix/Linux
  • Grundlegende Kenntnisse in einer Programmiersprache
  • Kenntnisse der wichtigsten dynamischen Datenstrukturen wie etwa lineare Listen, Bäume und Hash-Tabellen
Übungen

Bitte melden Sie sich zu den Übungen im SLC an. Insgesamt gibt es 13 Übungsblätter:

Blatt Abgabetermin Angabe Sonstiges Lösung
1 21.10.2014 [PDF]
2 28.10.2014 [PDF] department.mp, Makefile classdiag.mp, classdiag.pdf
3 04.11.2014 [PDF] Nim.tar.gz Makefile, Nim.cpp, NimGame.cpp, NimGame.hpp, NimMove.cpp, NimMove.hpp
4 11.11.2014 [PDF] maze.txt, states.txt Makefile, Location.hpp, Territory.hpp, Walk.cpp
5 18.11.2014 [PDF] words.tar.gz Makefile, TestIt.cpp, Word.cpp, Word.hpp, WordSet.cpp, WordSet.hpp
6 25.11.2014 [PDF] Makefile, HumanNimPlayer.cpp, HumanNimPlayer.hpp, Nim.cpp, NimGame.cpp, NimGame.hpp, NimMove.cpp, NimMove.hpp, NimPlayer.hpp, OptimalNimPlayer.cpp, OptimalNimPlayer.hpp, RandomNimPlayer.cpp, RandomNimPlayer.hpp
7 02.12.2014 [PDF] Makefile, TestTrie.cpp, Trie.hpp
8 09.12.2014 [PDF] Makefile, MemObject.hpp, testit.cpp
9 16.12.2014 [PDF] Makefile, Trie.hpp, testtrie.cpp
10 13.01.2015 [PDF] lambda.tar.gz parser.cpp
11 20.01.2015 [PDF] Makefile, concatenate.hpp, testit.cpp
12 27.01.2015 [PDF] movies (Umfang: 94 Megabyte, abgeleitet von den IMDB-Dateien actors.list.gz und actresses.list.gz unter ftp://ftp.fu-berlin.de/pub/misc/movies/database/; die Datei ist wie die Originale in ISO-8859-1 kodiert)
13 03.02.2015 [PDF] nim.tar (Vorlage) Mex.hpp, Nim.hpp
Weitere Materialien