Günter Rudolph: Vorlesung EINI (WS 2007/08)
Termin: |
|
|
Dienstag |
12:15 - 14:00 |
HG II / HS 6 |
Donnerstag |
14:15 - 16:00 |
HG II / HS 6 |
Beginn: |
Dienstag, 16.10.2007 |
Zusatzklausur Einführung in die Programmierung (aka EINI) im SS 2008.
Die Klausurergebnisse finden sich unter Punkt 3 (siehe unten).
Klausurtermine:
1. |
Dienstag, |
26.02.2008, |
Klausurergebnisse: Download (endgültiges Ergebnis: 25.03.08) |
|
|
|
Klausureinsicht: Dienstag, 25. März 2008, 14:00 - 15:30 Uhr, OH14, Raum 2.02 |
|
2. |
Montag, |
31.03.2008, |
Klausurergebnisse: Download (Stand: 08.04.08) |
|
|
|
Klausureinsicht: Mittwoch, 16. April 2008, 14:30 - 16:00 Uhr, OH14, Raum 2.02 |
3. |
Freitag, |
19.09.2008, |
Klausurergebnisse: Download (Stand: 20.10.08) |
|
|
|
Klausureinsicht: Freitag, 24. Oktober 2008, 13:30 - 14:30 Uhr, OH14, 2. Etage. |
Anmerkung:Die Ergebnislisten 1 und 2 enthalten Daten für die 3-std. Klausur (max. 75 Pkt.) und 4-std. Klausur (max. 100 Pkt.).
Ergebnisliste 3 enthält Daten für eine 3-std. Klausur (max. 60 Pkt.).
Beschreibung:
Diese Veranstaltung führt in die Programmierung in C++ sowie in wesentliche Datenstrukturen und Algorithmen ein.
Begriffsklärungen: Informatik allgemein, Teilgebiete der Informatik, Algorithmus;
Abgrenzung zu anderen Wissenschaften;
Überblick: Rechnerarchitektur und Programmiersprachen; Darstellung von Information.
Programmierung in C++: grundlegende Datentypen und -strukturen, Kontrollstrukturen, Zeiger, Funktionen,
Klassenkonzept, Vererbung, Polymorphie, Ausnahmebehandlung, Schablonen, Überblick STL.
Abstrakte Datentypen: Keller, Schlange, Listen, Binärbaum, Graphen, Komplexe Zahlen.
Algorithmen: Suchen, Sortieren, Hashing, Rekursionsprinzip, einfache Graphalgorithmen.
Formale Konzepte: Endliche Automaten, Grammatiken.
Einführung in die GUI-Programmierung (mit Qt).
Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, Algorithmen aus unterschiedlichen
Bereichen strukturiert zu entwerfen und in der objektorientierten Programmiersprache C++ umzusetzen. Dabei wählen sie
jeweils geeignete Datentypen aus. Sie kennen die Sprachkonstrukte von C++ und beherrschen die Grundkonzepte von
objektorientierten Programmiersprachen. Sie können verschiedene Softwarewerkzeuge zur Unterstützung der Programmierung
und der Fehlersuche einsetzen.
Übungen und Praktikum:
Siehe Webseiten zur Übung
und zum Praktikum.
Foliensätze:
Erscheinen an dieser Stelle nach jeder Vorlesung.
0. |
Präludium |
|
|
|
|
1. |
Einleitung |
|
|
|
|
2. |
Darstellung von Information (Teil A) |
|
|
|
|
|
Organisatorisches (Nachtrag) |
|
|
|
|
3. |
Darstellung von Information (Teil B) |
|
|
|
|
4. |
Darstellung von Information (Teil C) |
|
|
|
|
5. |
Kontrollstrukturen Teil 1 + 2 |
|
|
|
|
6. |
Zeiger Teil 1 |
|
|
|
|
7. |
Zeiger Teil 2 |
|
|
|
|
8. |
Funktionen Teil 1 |
|
|
|
|
9. |
Funktionen Teil 2 |
|
|
|
|
10. |
Funktionen Teil 3 |
|
|
|
|
|
Datei DEA.cpp |
11. |
Funktionen Teil 4 |
|
|
|
|
12. |
Gültigkeitsbereiche |
|
|
|
|
13. |
Rekursion |
|
|
|
|
|
Datei Lineal.cpp |
14. |
Elementare Datenstrukturen (Teil A) |
|
|
|
|
15. |
Elementare Datenstrukturen (Teil B) |
|
|
|
|
16. |
Elementare Datenstrukturen (Teil C) |
|
|
|
|
17. |
Elementare Datenstrukturen (Teil D) |
|
|
|
|
18. |
Einführung in die objektorientierte Sichtweise |
|
|
|
|
19. |
Klassen (Teil A) |
|
|
|
|
20. |
Klassen (Teil B) |
|
|
|
|
21. |
Vererbung |
|
|
|
|
22. |
Virtuelle Methoden |
|
|
|
|
23. |
Ausnahmebehandlung |
|
|
|
|
24. |
Exkurs: Hashing |
|
|
|
|
25. |
Schablonen |
|
|
|
|
26. |
GUI Programmierung |
|
|
|
|
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.
|