Veranstaltungen im Winter-
semester 2011
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 eingesetzt werden,
z. B.
für Assembler, Steuerung von Editoren und Textverarbeitungs-
programmen,
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 großen 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 der Informatik und Mathematik in Haupt- oder Nebenfach sowie an Lehramtsstudenten. Kenntnisse aus den Grundvorlesungen Informatik werden vorausgesetzt.
Termin: Mo 9-11, Mi 9-11, Raum: U 013, INF 350
Beginn: Mi. 12.10.11
Übungen zur Vorlesung "Compilerbau" (Reinelt, Hildenbrandt, 2 SWS)
Der Stoff der Vorlesung wird in den Übungen durch
Bearbeitung von Aufgaben vertieft und ergänzt. Zum erfolgreichen Bestehen dieser Veranstaltung ist der Erwerb von 50% der zu den
Aufgaben vergebenen Punkte erforderlich. Die persönliche Teilnahme an den Übungsveranstaltungen ist obligatorisch.
Für Studierende in Diplomstudiengängen kann ein Schein über die
erfolgreiche Teilnahme ausgestellt werden. ECTS Leistungspunkte
können nur durch Bestehen der schriftlichen Abschlussprüfung zur
Vorlesung erworben werden.
Termin: Di 14-16, Raum: U013, INF 350
Beginn: Di. 25.10.11
Vorlesung und Übung bilden zusammen das Modul "Compilerbau". Zum Bestehen des Moduls ist die erfolgreiche Teilnahme an den Übungen (persönliche Anwesenheit und Erreichen von 50% der Übungspunkte) sowie das Bestehen der schriftlichen Abschlussprüfung erforderlich.
Das Modul wird mit 8 LP gewertet.
Ganzzahlige und kombinatorische Optimierung ist ein relativ junges Gebiet.
Die ersten grundlegenden Arbeiten stammen aus den 50er und 60er Jahren
des vorigen Jahrhunderts. Danach hat sich das Gebiet, nicht zuletzt auch
durch die enorme Leistungssteigerung der Computer, stürmisch weiterentwickeltund stellt heute wesentliche Methoden zur Modellierung und Lösung
praktischer Probleme bereit.
In diesem Seminar soll anhand des Buches "50 Years of Integer Programming 1958-2008: From the Early Years to the State-of-the-Art" ein Teil der ersten bahnbrechenden Arbeiten vorgestellt und aus heutiger Sicht diskutiert werden.
Zur erfolgreichen Teilnahme am Seminar sind ein Vortrag und eine schriftliche
Ausarbeitung erforderlich. Die Teilnahme wird mit 4 ECTS-Leistungspunkten
bescheinigt. Die Veranstaltung richtet sich an Studierende in Mathematik
oder Informatik. Notwendige Voraussetzung zur Teilnahme ist die erfolgreiche
Absolvierung der Module "Effiziente Algorithmen 1" oder "Effiziente Algorithmen 2".
Vorbesprechung: Di. 19.07.2011, 13 Uhr, Raum: U013, INF 350
.
Termin: Do. 14-16, Raum: U013, INF 350
Beginn: Do. 13. oder 20.10.2011
Hauptseminar "Kombinatorische Optimierung" (Reinelt, 2 SWS)
Dieses Seminar ist für
Mitarbeiter sowie die Studenten gedacht, die eine Abschlussarbeit
im Bereich Informatik und Algorithmische Optimierung
schreiben. Es wird über die laufenden bzw. abgeschlossenen
Arbeiten berichtet. Vorträge werden jeweils durch Aushang
angekündigt.
Termin: Do. 16-18, Raum: 248, INF 368
Softwarepraktikum Optimierung für Anfänger (4 SWS)
Softwarepraktikum Optimierung für Fortgeschrittene (6 SWS)
(Wiesberg/Hildenbrandt/Reinelt)
In den Software-Praktika werden Projekte aus dem Bereich Optimierung
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 Praktikum für Fortgeschrittene werden in der Regel
Kenntnisse zu Effizienten Algorithmen vorausgesetzt.
Die erfolgreiche Teilnahme wird durch einen Nachweis über 6 (Anfängerpraktikum) bzw. 8 LP
(Fortgeschrittenenpraktikum) bestätigt.
Praktikumsthemen können jederzeit ausgegeben werden. Gruppenarbeit
ist möglich bzw. erwünscht. Es können auch eigene Themen
vorgeschlagen werden.
Sprechstunde Prof. Dr. Gerhard Reinelt
Während der Vorlesungszeit Di 10-11 und nach den Vorlesungen. Weitere Termine bitte auch über das Sekretariat vereinbaren (Tel. 54 57 48).
Sprechstunde für Prüfungsangelegenheiten, siehe Seite von Prof. Dr. Gerhard Reinelt.
mod. 12.10.11, CP
comopt{at}informatik.uni-heidelberg.de