Department of Computer Science
Chair of Algorithm Engineering (Ls11)
Home Contact Deutsch English
menu
Günter Rudolph: Vorlesung EINI (WS 2007/08)

Einführung in die Programmierung (EINI)

(Pflichtvorlesung ET/IT/Physik/WiMa)

Wintersemester 2007/08

Prof. Dr. Günter Rudolph



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.



 
Imprint
<webmaster  ls11.cs.tu-dortmund.de>
The university does not accept liability for the contents of linked external internet sites