Praxis des Programmierens (WS 98/99)

(Plichtvorlesung im ersten Studienabschnitt.)

Ort:
Di, 14-16, HS 002, Geb. 45.
Übungen:
Raum 104, Geb. 45. (Nach Vereinbarung, Teilmenge von Mo Mi Do Fr, 14-16; Di Do, 9-11. Beginn vermutlich Mi 28.10.
Erste Vorlesung:
20.10.98
Dozent:
Dr. Peter Sanders, Geb. 46, Raum 315, Tel. 0681 9325 115, sanders@mpi-sb.mpg.de
Vorkenntnisse:
Etwas Stoff von Informatik I/II, Programmieren in C
Scheinvergabe:
Für erfolgreiche Mitarbeit am Projekt und den Vorlesungs- und Projektbegleitenden Übungsblättern (ca. alle 14 Tage)

Vorläufige Inhaltsübersicht

Ein Eintrag in der Aufzählung entspricht grob einer Vorlesung. Es gibt aber mehr Vorlesungen als Einträge, damit Luft für unvorhergesehene Verzögerungen und projektbezogene Einschübe bleibt. Trotz des kunterbunten Hin- und Herspringens der Themen ist die Liste auch halbwegs chronologisch zu verstehen - die Reihenfolge ist dadurch bestimmt was für das Projekt vordringlich ist.

Projekt: Frequenzzuordung für Radiosender

Mögliche Komponenten:

Materialien zur Vorlesung

Die Vorlesungen im Einzelnen:
  1. Überblick. Folien zur Vorlesung 1. Aufgabenblatt 1
  2. C++ die Erste. Folien zur Vorlesung 2. Aufgabenblatt 2
  3. Generische Programmierung; Datenstrukturen. Folien zur Vorlesung 3. Aufgabenblatt 3
  4. Objektorientierte Programmierung; Grobentwurf von FREAK. Folien zur Vorlesung 4. Aufgabenblatt 4
  5. Optimierungsalgorithmen. Folien zur Vorlesung 5. Aufgabenblatt 5. Folien von H. Schmeck zu genetischen Algorithmen (lesen mit acroread).
  6. LEDA. Die Präsentation von Michael Seel aus Vorlesung 6. Beispeilprogramme Aufgabenblatt 6 Programmierkonventionen
  7. Programmierkonventionen. Folien zur Vorlesung 7. Aufgabenblatt 7
  8. Modellierungshilfmittel. Folien zur Vorlesung 8.
  9. Kostenschätzung, Projektplanung und Management Folien zur Vorlesung 9. Aufgabenblatt 9, Folien zum Personal Software Process, Karlsruher Web-Page zum Personal Software Process
  10. Ein Einblick in Programmverifikation. Folien zur Vorlesung 10.
  11. Programming by Contract; Writing Solid Code. Folien zur Vorlesung 11.
  12. Testen; Progammierwerkzeuge. Folien zur Vorlesung 12. Aufgabenblatt 12
  13. Effiziente Programmierung. Folien zur Vorlesung 13. Aufgabenblatt 13
  14. Mehr Effiziente Programmierung. Java Folien zur Vorlesung 14.
  15. Mehr Java. Folien zur Vorlesung 15.
  16. FREAK Demo

Literatur

1
K. Mehlhorn and S. Näher. The LEDA Platform of Combinatorial and Geometric Computing. Cambridge University Press, 1998.

2
S. B. Lippmann and J. Lajoie. C++ Primer. Addisson Wesley, 3rd edition, 1998.

3
B. Stroustrup. The C++ Programming Language. Addison Wesley, 3rd edition, 1998.

4
Scott Meyers. Effective C++ : 50 specific ways to improve your programs and designs. Addison Wesley, 2nd edition, 1998. Guter Programmierstil in kleinen leicht verdaulichen Häppchen (deutsche Version).

5
Scott Meyers. More effective C++ : 35 new ways to improve your programs and designs. Addison-Wesley, Reading, MA, 1996. Zugabe zu ``effective C++''.

6
Stanley B. Lippman, editor. C++ Gems, volume 5 of SIGS reference library. Cambridge University Press, 1998. Kolumne aus dem C++ Report. Tips, Tricks und Erfahrungsberichte für Fortgeschrittene.

7
Bertrand Meyer. Objektorientierte Softwareentwicklung. Hanser, München, 1990. Gut zu lesen. Programming by contract. Objektorientierung am Beispiel der Programmiersprache Eiffel. Englisch: OO Software Const. bei Prentice Hall.

8
W. S. Humphrey. Introduction to the Personal Software Process. SEI series in Software Engineering. Addison Wesley, 1997. Quantitative Ansätze zur Verbesserung des Softwareentwicklungsprozesses. Für Studienanfänger geschrieben. Zeitaufwendig aber vielleicht lohnend.

9
Grady Booch. Object-oriented analysis and design with applications. Addison-Wesley, Menlo Park, CA, 2nd edition, 1994. Gut geschrieben. Viele Beispiele.

10
P. Jalote. An integrated approach to software engineering. Springer, 2nd edition, 1997. Für Studienanfänger geschrieben. Leicht lesbar aber etwas langweilig.

11
Helmut Balzert. Lehrbuch der Software-Technik : Software-Entwicklung [Band 1]. Spektrum Akademischer Verlag, 1996. gut strukturiert, > 1000 Seiten.


Peter Sanders
Tue Feb 9 10:57:10 MET 1999