Günter Rudolph: Vorlesung EINI
Termin: |
|
|
Dienstag |
12:15 - 14:00 |
HG II / HS 6 |
Donnerstag |
14:15 - 16:00 |
HG II / HS 6 |
Beginn: |
Dienstag, 17.10.2006 |
Zu den Webseiten der Übung.
Zu den Webseiten des Praktikums.
Beschreibung:
Diese Veranstaltung führt in die Programmierung in C++ sowie in wesentliche Datenstrukturen und Algorithmen ein.
Zunächst werden elementare Datentypen und Datenstrukturen besprochen. Das Konzept des Zeigers ermöglicht dann die
Implementierung von verketteten Listen und Bäumen, die in wesentlichen Ausprägungen (wie Warteschlange, binäre
Suchbäume und Heaps) behandelt werden. Dabei werden die Grundideen zur Modellierung mit Hilfe abstrakter Datentypen
eingeführt. Als etwas größeres Beispiel werden hierzu ungerichtete Graphen implementiert.
Im zweiten Teil werden als
wesentliche Hilfsmittel zum Einsatz von Objektorientierung Klassen mit Vererbung und generische Klassen behandelt.
Ergänzt wird dies durch die Einführung von Ausnahmen. Algorithmisch werden Beiträge zu Hashing und Matrixalgorithmen
geliefert. Die Betonung liegt dabei darauf, das Verständnis für den gesamten Ablauf vom Algorithmenentwurf bis zur
Realisierung in einem lauffähigen Programm weiter zu vertiefen. Dies hat im Rahmen der zugehörigen Übungen (2Ü) und
Praktikumsversuche (4P) zu geschehen.
Klausurtermine:
-
20.02.2007 (Dienstag)
Orte: HG2 / HS1 und EF50 / HS2
Klausurergebnisse:
Download
-
28.03.2007 (Mittwoch)
Ort: HG II (Campus Nord) / HS1
Klausurergebnisse:
Download
Klausureinsicht: Freitag, 11.05.2007, 13:30 - 14:30 Uhr: OH 14, Raum 202
Übung & Praktikum:
Literatur
-
S.B. Lippmann, J. Lajoie und B.E. Moo: C++ Primer, 4. Auflage (dt. Ausgabe), Addison-Wesley, München, 2006.
-
D. May: Grundkurs Software-Entwicklung mit C++, Vieweg, Wiesbaden, 2003.
-
B. Stroustrup: Die C++ Programmiersprache, 4. Auflage, Addison-Wesley, München, 2000.
Foliensätze:
Sie können sich an den Foliensätzen der Vorlesung vom WS 2005/06 orientieren.
Diese befinden sich hier.
Die Foliensätze zur aktuellen Vorlesung werden an dieser Stelle zeitnah bereit gestellt.
0. |
Präludium |
|
|
|
|
1. |
Einleitung |
|
|
|
|
2. |
Darstellung von Information (Teil 1) |
|
|
|
|
3. |
Darstellung von Information (Teil 2) |
|
|
|
|
4. |
Darstellung von Information (Teil 3) |
|
|
|
|
5. |
Kontrollstrukturen (Teil 1 + 2) |
|
|
|
|
6. |
Zeiger |
|
|
|
|
7. |
Funktionen (Teil 1) |
|
|
|
|
8. |
Funktionen (Teil 2) |
|
|
|
|
9. |
Funktionen (Teil 3) |
|
|
|
|
10. |
Gültigkeitsbereiche |
|
|
|
|
11. |
Rekursion |
|
|
|
|
12. |
Abstrakte Datentypen (Teil 1) |
|
|
|
|
13. |
Abstrakte Datentypen (Teil 2) |
|
|
|
|
14. |
Abstrakte Datentypen (Teil 3) |
|
|
|
|
15. |
Abstrakte Datentypen (Teil 4) |
|
|
|
|
16. |
Einführung in die objektorientierte Sichtweise |
|
|
|
|
17. |
Klassen (Teil 1) |
|
|
|
|
18. |
Klassen (Teil 2) |
|
|
|
|
19. |
Vererbung |
|
|
|
|
20. |
Virtuelle Funktionen |
|
|
|
|
21. |
Ausnahmebehandlung |
|
|
|
|
22. |
Exkurs: Hashing |
|
|
|
|
23. |
Schablonen |
|
|
|
|
24. |
Fallstudien (Teil 1) |
|
|
|
|
|
|