(Dieser Plan kann Änderungen unterliegen.
Letzte Änderung: 15.Febr. 2004)
KW |
LEHRVERANSTALTUNG |
ZEIT: VL Mi 11:45h - 13:15h (BCN 133) Üb.A Di 10:00h - 11:30h (BCN 202) Üb.B Di 11:45h - 13:15h (BCN 202) Beginn der Vorlesung Mi 12.3. |
|
11 |
C++-Umgebung; Arrays und Strings; Referenz-Variablen und Dynamisches Speichermanagement |
12 |
Wegen Grippe keine LV |
13 |
Wegen Krankheit keine Übung am Di; VL am Mi findet statt!! |
14 |
|
15 |
|
16 |
|
17 |
|
18 |
Keine Vorlesung wegen Stud.Vollversammlung |
19 |
|
20 |
|
21 |
Abstrakte Klassen und Polymorphie durch Vererbung |
22 |
Abstrakte Klassen und Polymorphie durch parametrisierte Klassen (Templates 1) |
23 |
|
24 |
|
25 |
TUTORIUM |
26 |
KLAUSUR - Mi, 25.Juni, 11:45h , zugelassene Hilfsmittel: Schreibzeug; Ergebnisse der Klausur.NACHKLAUSUR - Aufgaben, NACHKLAUSUR - Ergebnisse |
Der bisherige Lehrplan liefert die Stichworte "Grundprinzipien rekuriver Prozeduren, Komplexe Datentypen wie Felder - Strukturen - Pointer, Realisierung grundlegender Datenstrukturen: Rekursive Strukturen allgemein - Listen - Stacks - Queus - Warteschlangen - Bäume, Realisierung grundlegender Algorithmen: Sortieralgorithmen, Suchalgorithmen, Algorithmen für binäre Bäume, Backtracking-Verfahren, Bemerkungen zur Programmentwicklung, Bemerkungen zur Programmqualität."
Die Themen "Komplexe Datentypen wie Felder - Strukturen - Pointer" wurden schon in Programmieren1 behandelt und werden daher als bekannt vorausgesetzt. Die Themen "Realisierung grundlegender Datenstrukturen: Rekursive Strukturen allgemein - Listen - Stacks - Queus - Warteschlangen - Bäume" sowie "Realisierung grundlegender Algorithmen: Sortieralgorithmen, Suchalgorithmen, Algorithmen für binäre Bäume, Backtracking-Verfahren" werden in der parallelen Lehrveranstaltung Algorithmen und Datenstrukturen behandelt werden. Der Schwerpunkt der Vorlesung Programmieren2 wird sich daher auf Themen konzentrieren wie: Das Objektkonzept aus Sicht der Theorie und aus Sicht von UML; die Realisierung des Objketkonzeptes innerhalb von C++; Beispiele von Objekten in C++; der Aufbau von objektorintierten Programmen in C++; einige elementare Bibliotheken; Templates; Fehlerbehandlung in C++ sowie Testumgebungen; Problemanalyse aus Objektorientierter Sicht und die Umsetzung von Analysemodellen in Quellcode. Es ist beachsichtigt, die Vorlesung Programmieren2 mit der Vorlesung Algorithmen und Datenstrukturen möglichst weitgehend aufeinander abzustimmen.
ISO/IEC 2382: Information Technology - Vocabulary
ISO/IEC 14882 First edition 1998-09-0: Programming languages C++ Langages de programmation C++
Nicolai M. JOSUTTIS [2001, 2nd ed.], "Objektorientiertes Programmieren in C++. Ein Tutorial für Ein- und Umsteiger", Addison-Wesley, München - Boston - San Francisco et. al
Nicolai M. JOSUTTIS [1999], "The C++ Standard Library. A Tutorial and Rference", Addison-Wesley, München - Boston - San Francisco et. al
Danny Kalev [1999], "The ANSI/ISO C++ Professional Programmer's Handbook", Que Corporation, Indianapolis (Indiana)
Stanley B.LIPPMANN [1996],"Inside the C++ Object Model", Addison-Wesley, Reading (MA) et al.
James MARTIN/ James J.ODELL [1995], "Object Oriented Methods. A Foundation", PTR Prentice Hall, Englewood Cliffs (NJ); in Deutsch mit Aktualisierung: James MARTIN/ James J.ODELL [1999], "Objektorientierte Modellierung mit UML: Das Fundament", München - London et al.
Ch.E.MORTIMER [1996, 6.rev.ed.], "Chemie", Georg Thieme Verlag, Stuttgart - New York
OMG Unified Modeling Language Specification, Version 1.3, March 2000 (siehe: OMG Documents)
H.PENZLIN [1996, 6.rev.ed.], "Lehrbuch der Tierphysiologie", Gustav Fischer Verlag, Jena - Stuttgart
G,M.SHEPHERD [1994, 3.rv.ed.], "Neurobiology", Oxford University Press, New York - Oxford
ISO/IEC 14882 First edition 1998-09-0: Programming languages C++ Langages de programmation C++
C/C++-Link: http://cplus.kompf.de/index.html
Software
(Wir verwenden ausschliesslich 'freie'
Software!)
Während der Vorlesung wird möglicherweise noch zusätzliche Software bekannt gegeben.
Name |
Kurzbeschreibung |
---|---|
SuSe 7.2/ 7.3 / 8.0/ 8.1 SuSe Linux Distribution |
Freie Version des Betriebssystems GNU-Linux |
GNU xemacs |
Mehr als ein Editor |
GNU g++ ab Vers. 2.95.3 |
C/C++-Compiler |
GNU make |
Tool zum Verwalten von Dateien eines SW-Projektes |
GNU gdb ab Vers. 5.0 |
Tool zum Debuggen von Objekt-Code |
XFree86 ab Version 3.3.5 |
Freies X-Wondow-System mit Unterstützung von Hardwarebeschleunigung im Fenster |
Konzeptualisierungstool für die Methoden SA (Structured Analysis) und UML |
|
cpp2html |
c++/Java-zu-HTML-Konverter |
quanta |
HTML-Editor |
GNU gimp |
GNU Image Manipulation Program, zum Editieren und Umformatieren von 2D-Bildern |
Für solche, die den Übergang zu Linux aus irgendwelchen Gründen nicht schaffen, aber dennoch mit einem freien Compiler arbeiten wollen, hier ein Hinweise auf einen guten freien Compiler unter Windows. |
|
Gute Übersicht über freie Compiler und Compiler-Werkzeuge |
Für die Prüfungsleistung werden Noten von 1-5 vergeben:
NOTE |
PUNKTE |
---|---|
1 |
>70 |
2 |
55-69 |
3 |
40-54 |
4 |
25-39 |
5 |
<25 |
Diese Punkte kann man erlangen, wenn man am Ende des Semesters an einer Klausur teilnimmt (Termin siehe oben). Mit Blick auf ein vertieftes Verständnis des Stoffs wird dringend empfohlen, während des Semesters regelmässig an den Übungen teilzunehmen. Die Erfahrungswerte belegen eindeutig, dass aktive Beteiligung die Chancen in der Klausur erheblich verbessert. 'Learning by Doing'... Die Bildung von Lerngruppen wird empfohlen.