![]() ![]() |
|
|
_ |
Die klassische Anwendung des Compilerbaus ist die Übersetzung höherer Programmiersprachen in Maschinensprache und damit die Implementierung solcher Sprachen. Dies ist ein grundlegendes Problem der Informatik, das schon sehr früh intensiv studiert wurde. Deshalb gibt es seit langem eine gut verstandene Theorie zu formalen Sprachen und Maschinen, die sie akzeptieren; die Techniken der Syntaxanalyse und ihre Verbindungen mit Übersetzungsaktionen sind ausgefeilt, und es gibt eine klare Zerlegung der Gesamtaufgabe des Übersetzungsprozesses in Teilaufgaben, welche die Grundlage für eine entsprechende Modularisierung von Übersetzern bilden. Das Verständnis der Implementierung von Programmiersprachen gehört (zweifellos) zur Allgemeinbildung eines Informatikers - ebenso wie man Grundlagen der Hardware oder Betriebssysteme verstehen sollte. Nun gibt es nur ein paar weitverbreitete höhere Programmiersprachen, und nur wenige Informatiker werden heute an der Entwicklung von Compilern für solche Sprachen (z.B. C++, Java) mitarbeiten. Es stellt sich die Frage: Ist die Beschäftigung mit dem Thema Compilerbau daher nur von akademischen Interesse bzw. soll sie den wenigen Spezialisten vorbehalten bleiben? Keineswegs! Die Grundlagen und Techniken des Compilerbaus sind so umfassend, dass die Konzepte, die in der Vorlesung vorgestellt werden im Leben eines Informatikers immer wieder eine Rolle spielen.
Kenntnisse von Algorithmen und Datenstrukturen sind ein Grundbaustein des Informatikstudiums. Die Vorlesung behandelt diese Thematik, insbesondere die praktische Umsetzung in Verbindung mit der Programmiersprache Java. Die Algorithmen werden zunächst abstrakt beschrieben, um dann konkret in Java umgesetzt zu werden. Nach der Einführung stehen Sortierverfahren im Mittelpunkt. Einen weiteren Schwerpunkt bilden Datenstrukturen wie Listen, Bäume, Graphen und Hash-Tabellen. Die Vorlesung ADS ist eng verzahnt mit der Vorlesung GDI. Die in GDI vergestellen Spachkonstrukte werden in ADS für die Formulierung (Programmierung) der Algorithmen und die Darstellung der Datenstrukturen eingesetzt. Deshalb sind die gleichzeitige Teilnahme an GDI erforderlich, um auch ADS erfolgreich bestehen zu können.
Anders
als viele
Modethemen der Informatik ist das
Software Engineering seit der berühmten Garmisch-Konferenz
1968
(hier wurde der
Begriff Software-Krise geprägt) ein Dauerbrenner. Erst durch
die
Schaffung
einer eigenen Teildisziplin in der Informatik wurde es
möglich,
die Komplexität
der verlangten Softwaresysteme zu beherrschen. Neue Technologien, die
aus der
Annäherung von Computern und Kommunikationssystemen entstanden
sind, stellen
neue Anforderungen an die Softwareentwickler. Aus diesem
Grund und weil
viele
Firmen die Techniken des Software Engineering nicht effektiv anwenden,
gibt es bei der Softwareentwicklung noch immer Probleme. Methoden und
Verfahren des Software Engineering leisten bereits einen
großen
Beitrag zur
Bewältigung aktueller Softwareentwicklunsg- probleme.
Die
Disziplin wird weiter
reifen und noch viel Positives zur Entwicklung von Software beitragen. In der Vorlesung werden die Themengebiete des Software Engineering vorgestellt. Dabei werden die wichtigsten Methoden und Verfahren und deren Einsatzbereiche ausführlich behandelt.
In der
Vorlesung Techniken der Programmentwicklung werden
fortgeschrittene Konzepte der
objektorientierten
Programmentwicklung am Beispiel von
Java vermittelt. Besonderer Wert wird gelegt auf den sinnvollen Einsatz
der Konzepte und den systematischen Programmentwurf (vertieft durch die
Übungen). Dabei spielt die Zerlegung komplexer Aufgaben eine
große Rolle, ebenso wie die Auswahl geeigneter
Implementierungstechniken.
TPE baut auf GDI und ADS auf und ist eng verzahnt mit
der
Vorlesung
OOT.
Deshalb sind die erfolgreiche Teilnahme an GDI und
die Teilnahme an OOT Voraussetzung, um auch TPE erfolgreich bestehen zu
können.
|
©