Veranstaltungen im
Wintersemester 2001/2002
Vorlesung "Compilerbau"
Compilerbau ist eine klassische Informatik-Disziplin,
die sich bis in die 80er Jahre rasant entwickelt hat, und ist sicher eines
der am besten erforschten Gebiete in der Informatik. Solide theoretische
Grundlagen, brauchbare formale Beschreibungen, effiziente Algorithmen und
Implementierungstools stehen zur Verfügung.
In dieser Vorlesung befassen wir uns mit dem generellen Problem,
wie ein Computerprogramm, das in einer höheren Programmiersprache vorliegt,
in ein auf einer konkreten Hardware ablauffähiges Maschinenprogramm übersetzt
werden kann. Das Anwendungsspektrum des Stoffs geht allerdings über
die Implementierung von Compilern hinaus. Die hier entwickelten Techniken
können auf vielfältige Weise eingeestzt werden, z. B. für
Assembler, Steuerung von Editoren und Textverarbeitungsprogrammen, Abfragen
von Datenbanken, Aufbereitung strukturierter Daten, Druckausgabesprachen bzw.
allgemein zur automatisierten Analyse hierarchisch strukturierter Dokumente.
Der Aufbau eines Compilers selbst ist ein gutes Musterbeispiel für die
Konzeption eines grossen Softwareprojekts durch Zerlegung in Teilaufgaben
und Spezifikation von Schnittstellen zwischen den entsprechenden Modulen.
Themen der Vorlesung sind Formale Sprachen, Lexikalische Analyse,
Syntaxanalyse, Semantische Analyse, Codegenerierung und Codeoptimierung.
Die Vorlesung wendet sich an Studierende im Hauptstudium. Kenntnisse
aus den Grundvorlesungen Informatik werden vorausgesetzt.
Termin: Di 9-11, Do 9-11, Raum: INF 368 Raum 432, Beginn:
18.10.2001
Übungen zur Vorlesung "Compilerbau"
Die zur Vorlesung angebotenen Übungen dienen der Vertiefung des Stoffes. Es kann ein Schein erworben werden.Termin: Dienstags, 14:00 - 16:00, INF 368, Raum 220, Beginn: 06.11.2001
Seminar "Online-Algorithmen"
Im Gegensatz zu herkömmlichen
Algorithmen, bei denen die Eingabedaten a priori feststehen und die wir in
diesem Zusammenhang auch "Offline"-Algorithmen nennen, geht man bei sogenannten
"Online"-Algorithmen davon aus, dass Eingabedaten erst während der Berechnung
nach und nach bekannt werden. Ein Online-Algorithmus muss also auf Basis
bereits gemachter Eingaben und ohne Wissen um zukünftige Eingaben verfahren.
Die Güte eines Online-Algorithmus wird gemessen, indem seine Ergebnisse
in Relation zu denen des bestmöglichen Offline-Algorithmus gesetzt werden.
Es existiert eine Fülle von Aufgabenstellungen, die einer solchen Online-Anforderung
unterliegen, z.B. Paging- und Schedulingaufgaben, Routen von Verbindungen
in einem Netzwerk, etc.
Im Rahmen dieses Seminars werden wir eine Auswahl von Online-Algorithmen
studieren und deren Vorgehensweise und Komplexität untersuchen. Grundlage
für das Seminar ist das Buch "Online Computation and Competitive Analysis"
von A. Borodin und R. El-Yaniv, Cambridge Universiy Press, 1998.
Anmeldung: ab sofort bei {Dino.Ahr|Marcus.Oswald}{at}informatik.uni-heidelberg.de
Vorbesprechung: Montag 15.10.01 15:00 Uhr INF 368,
Raum R432
Software-Praktika "Informatik" für Anfänger und "Informatik" für Fortgeschrittene
In den Software-Praktika werden Projekte
mit Informatikinhalten bearbeitet. Die Arbeit im Praktikum umfasst die Implementierung
entsprechender Algorithmen, ihre ausführliche Dokumentation und einen
Kurzvortrag über das bearbeitete Thema. Der Schwierigkeitsgrad ist davon
abhängig, ob es sich um ein Anfänger- oder um ein Fortgeschrittenenpraktikum
handelt. Für die Anfängerpraktika sind Grundkenntnisse in Informatik
ausreichend, im Fortgeschrittenenpraktikum werden in der Regel Kenntnisse
zu Effizienten Algorithmen vorausgesetzt.
Praktikumsthemen können jederzeit ausgegeben werden.
Gruppenarbeit ist möglich, bzw. erwünscht.
Diplomandenseminar
Dieses Seminar ist für Studenten gedacht, die eine Diplomarbeit im Bereich Informatik und Algorithmische Optimierung schreiben. Es wird über die laufenden bzw. abgeschlossenen Arbeiten berichtet. Vorträge werden jeweils durch Aushang angekündigt.
Sprechstunde
während der Vorlesungszeit Di 11 - 12, weitere Termine bitte über das Sekretariat vereinbaren (Tel. 54 57 48)Erstellt am Wed Aug 13 15:37:11 2008
comopt{at}informatik.uni-heidelberg.de