Einführung in die Informatik II
Priv.-Doz. Dr. Lothar Schmitz
Wintertrimester 2004
[Termine] [Fragen] [Folien] [Übungen] [Literatur] [Software] [Vorlesung des letzten Trimesters]
Klausur
Die Trimestralklausur "Einführung in die Informatik" findet
am 07.04.2004von 08:00 Uhr bis 10:00 Uhr
im Raum 35/1210B
statt. Es sind keine Hilfsmittel erlaubt, ausser nicht-elektronischen Schreibgeräten. Bringen Sie einen Lichtbildausweis zur Klausur mit.
Termine
Es handelt sich um eine Vorlesung mit vier Vorlesungsstunden und drei Übungsstunden wöchentlich (4 V + 3 SÜ TWS).
Die Vorlesungen finden jeweils
- Montags 08:30 Uhr bis 10:00 Uhr im Raum 33/0301 und
- Dienstags 08:30 Uhr bis 10:00 Uhr im Raum 33/0301
statt (es handelt sich jeweils um die genauen Anfangs- und Endzeiten).
Die Übungen finden jeweils Donnerstags statt (die genauen Anfangs- und Endzeiten ergeben sich aus direkten Absprachen mit den Übungsleitern):
- Gruppe 1 (WINF): Donnerstags, 13:00 Uhr bis 16:00 Uhr, Raum 33 / 0301 Übungsleiter Lutz Bichler,
- Gruppe 2 (INF/WINF): Donnerstags, 13:00 Uhr bis 16:00 Uhr, Raum 41 / 0501 (Electronic Classroom) Übungsleiter Peter Aschenbrenner,
- Gruppe 3 (INF): Donnerstags, 13:00 Uhr bis 16:00 Uhr, Raum 33 / 2401 Übungsleiter Volker Renneberg,
- Gruppe 4 (INF): Donnerstags, 13:00 Uhr bis 16:00 Uhr, Raum 33 / 2331 Übungsleiter Jan Scheffczyk.
Fragen
Wir möchten Sie an dieser Stelle explizit dazu auffordern, sich aktiv Ihrem Studium zu widmen und nachzufragen falls Sie etwas nicht verstanden haben. Prinzipiell gibt es keine "dummen Fragen". Es kommt jedoch darauf an, wie Sie Ihre Fragen formulieren und ob Sie sich schon einmal eigene Gedanken zu Ihrer Frage gemacht haben.
Sicher werden Sie auch auf andere "Ressourcen" als auf Übungsleiter oder Dozenten zurückgreifen. Eine schöne Einführung über das Stellen von Fragen finden Sie unter folgendem Link:
Folien zur Vorlesung
Die Folien werden auf dieser Seite (soweit möglich) jeweils ein paar Tage vor der entsprechenden Vorlesung veröffentlicht.
- Kapitel 1 [] Handzettel [] [abzaehlen.adb], [kPerm.adb]
- Kapitel 2 [] Handzettel [] Fallstudie Damen [] (Programme) Fallstudie Warshall []
[heapsort.adb] [indexSimpleAndKMPandBM.adb] [Merge.adb] [quicksort.adb] [Warshall.adb] - Exkurs Ausnahmebehandlung [] Handzettel []
- Kapitel 3 [] Handzettel [] Fallstudie Lambda-Interpreter [] [lambda.adb]
- Kapitel 4 [] Handzettel []
- Kapitel 5 [] Handzettel []
- Kapitel 6 [] Handzettel [] [Menge.hs], [MengeOrd.hs]
- Kapitel 7 [] Handzettel []
- Kapitel 8 [] Handzettel [] Optimale Suchbäume [] [optimalsearchtree.adb]
- Kapitel 9 [] Handzettel []
- Kapitel 10 [] Handzettel []
Übungsblätter
Die Übungsblätter werden am Montag oder Dienstag vor der Übung in der Vorlesung ausgeteilt. Es empfiehlt sich, die Folien der Vorlesung sowie eigene Aufzeichnungen mit in die Übung zu nehmen.
Wir erwarten, dass Sie Aufgaben, die nicht in der Übung behandelt werden konnten, selbständig nacharbeiten. Lösungsvorschläge zu den Übungsaufgaben werden jeweils Donnerstag Nachmittag auf dieser Seite veröffentlicht. Wir empfehlen jedoch dringend, dass Sie sich selbst Gedanken machen und nur im Notfall auf die Lösungsvorschläge zurückgreifen.
Fragen zum Übungsbetrieb richten Sie bitte an Jan Scheffczyk.
- Blatt 1 [, ] Lösungsvorschlag 1 [, ] gegenwind.adb kassenzettelpreis.adb linearealgebra.ads linearealgebra.adb testlinearealgebra.adb linearealgebra_daten.txt linearealgebra_erg.txt meineea.ads meineea.adb
- Blatt 2 [, ] Lösungsvorschlag 2 [, ] ketten.adb ketten2.adb permutationcode.adb permutationlexikalisch.adb
- Blatt 3 [, ] Lösungsvorschlag 3 [, ] springer.adb xxfreiezeichenketten.adb
- Blatt 4 [, ] Lösungsvorschlag 4 [, ] QuickSuche.hs quicksuche.adb kuerzestewegebacktracking.adb
- Blatt 5 [, ] Lösungsvorschlag 5 [, ] integerlistpack.adb integerlistpack.ads insertionsort.adb listendurchschnitt.adb polynome.adb
- Blatt 6 [, ] Lösungsvorschlag 6 [, ] matrix.adb
- Blatt 7 [, ] Lösungsvorschlag 7 [, ] lambda.adb Lambda.hs
- Blatt 8 [, ] Lösungsvorschlag 8 [, ] Huffman.hs Heap.hs
- Merkblatt zum Hoare Kalkül [, ]
- Blatt 9 [, ] Lösungsvorschlag 9 [, ] SprechendeZahl.hs listen_packet.ads listen_packet.adb bignat_list.adb
- Blatt 10 [, ] Lösungsvorschlag 10 [, ] li_pack.ads li_pack.adb li_main.adb avl_tree.adb
- Blatt 11 [, ] Lösungsvorschlag 11 [, ] coterie.ads coterie.adb Equiv.hs
Literatur & Links
- Allgemeines
- Peter Rechenberg (Hrsg.), Gustav Pomberger (Hrsg.), Informatik-Handbuch, Carl Hanser Verlag, 2002, 1192 S., ISBN 3-446-21842-4
- Haskell
- Helium Prelude Tour []
- Simon Thompson, Haskell - the craft of functional programming, Addison-Wesley, 1999, 487 p. (erhältlich in der Lehrbuchsammlung)
- Antony J.T. Davie, An Introduction to Functional Programming Systems Using Haskell, Cambridge University Press, 1992, ISBN 0-521-27724-8
- Greg Michaelson, An Introduction to Functional Programming through Lambda Calculus, Addison Wesley, 1989, ISBN 0-201-17812-5
- Richard Bird, Introduction to Functional Programming using Haskell, second edition, Prentice Hall Europe, 1998, ISBN 0-134-84346-0
- Paul Hudak, The Haskell School of Expression - Learning Functional Programming through Multimedia, Cambridge University Press, 2000, ISBN 0-521-64408-9
- Lambda-Kalkül: [Tutorial] [Folien]
- Programm-Verifikation:
- Ada:
- N. Cohen, Ada as a second Language, second edition, Addison Wesley 1996
- M. Ben-Ari, Ada for Software Engineers, Wiley 1998
Software
- Haskell
- Haskell 98 Report
- Haskell Interpreter: Helium (Windows, Unix, Linux, MacOS X, MacOS 9, FreeBSD)
- Haskell Interpreter: Hugs (Windows, Unix, Linux, MacOS X, MacOS 9, FreeBSD)
- Haskell Compiler: GHC (Windows, Unix, Linux, MacOS X, FreeBSD, OpenBSD)
- Haskell IDE: jcreator light (Windows)
- Ada
- Ada Language Reference Manual
- Ada Compiler: GNAT
- Ada IDEs: AdaGIDE (Windows), GRASP (Windows, Unix/Linux)
- Viewer
- Editoren mit Syntaxhighlighting
- ConText (Windows), Syntaxhighlighting für Haskell, (Installationshinweise),
- TextPad (Windows), Syntaxhighlighting u.a. für Haskell
- XEmacs (Windows, Unix, Linux, FreeBSD, NetBSD)
- Dokumentationstools
- Ada: adadoc
- Haskell: HDoc haddock HaskellDoc