Meine Vorlesungen

Hier erst eine kurze Erläuterung zu den Abkürzungen:

(GS) = gehört zum Grundstudium
(GS/N) = gehört zum Grundstudium, Nebenfach (Mathe)
(HS) = gehört zum Hauptstudium
(HS/Pr) = gehört zum Hauptstudium, Kategorie Praxis
(HS/Te) = gehört zum Hauptstudium, Kategorie Technik
(HS/Th) = gehört zum Hauptstudium, Kategorie Theorie
(HS/NF) = gehört zum Hauptstudium, Nebenfach (Physik)

Von mir gehörte Vorlesungen

Diplomarbeit

(HS) Um was geht es bei meiner Diplomarbeit? Das läßt sich am einfachsten erklären, wenn man sich zunächst meine Studienarbeit zu Gemüte führt. Diese wird nämlich im wesentlichen um einige Punkte erweitert.
 In meiner Studienarbeit ging es um die Verwaltung hochauflösender (MPF-)Texturen, um deren Einsatz unter OpenGL mit wenig Programmieraufwand zu ermöglichen. In der Diplomarbeit wird dieses System nun stark erweitert: Zum einen kommt die Möglichkeit hinzu, nur einen Teil eines bestehenden Meshes mit einer Textur zu belegen. Dafür gibt es verschiedene Anwendungen: Beispielsweise kann ein kleiner Teil einer Fläche ein wichtiges Detail enthalten, welches hochauflösend wiedergegeben werden soll, den Rest (eventuell lediglich eine weiße Wand) kann man jedoch platzsparend mit niederer Auflösung in einer anderen Textur halten. Daher bezeichne ich diese Technik auch als "Detail-Texturen". Ein anderes Beispiel aus der Praxis: Wird in "FlyAway", einem Tool zur Geo-Visualisierung, das Höhenmodell einer Landschaft mit einem Luftbild kombiniert, so passen beide nicht immer sauber aufeinander - Detailtexturen schneiden die "überstehenden" Teile einfach ab; man erhält ein verkleinertes, aber perfekt passendes Geländemodell.
 Die zweite Erweiterung besteht in der Möglichkeit, auf dem Bitmap, welches als Vorlage für die Textur dient, ein Quadrilateral (ein konvexes Viereck) zu definieren, dessen Inhalt dann als eigentliche Textur verwendet wird. Der unter Umständen stark verzerrte Definitionsbereich (das Quadrilateral) wird dabei mittels einer projektiven Abbildung in den quadratischen Texturraum abgebildet. Mit dieser Technik, die ich als "Textur-Segmente" bezeichne, ist es möglich, selbst stark verzerrte Teile einer Photographie direkt, ohne zusätzliches Resampling, als Textur einzusetzen. Es wurde auch schon verwendet, um Landkarten, welche aufgrund der Erdkrümmung ebenfalls nie exakte Rechtecke / Quadrate sind, ohne Resampling direkt für das Texturemapping einzusetzen.
 Natürlich wurden obige Erweiterungen auch für einfache OpenGL-Texturen implementiert, aber eben auch für meine hochauflösendenden Texturen. Und richtig knifflig wird es, wenn man dann ein stark verzerrtes Textur-Segment einer hochauflösenden MPF-Textur in eine Detail-Textur hinein abbilden möchte. Die diversen Transformationen zwischen den Koordinatenräumen nehmen dabei recht unangenehme Dimensionen an. Es ist selbst mit recht kleiner Schrift kaum möglich, die Matrix zur Berechnung der projektiven (vierdimensionalen) Texturkoordinaten, ohne Vereinfachungen / Abkürzungen, auf einer Din A4 - Seite unterzubringen... (In meiner Diplomarbeit definiere ich mir auf einer Seite die notwendigen Abkürzungen, damit die Matrix dann ganz klein und handlich wird.)
Der offizielle Abgabetermin der Diplomarbeit war der 12.5.2000.

Seminar: Grundlagen der Bilddatenkompression

(HS/Pr) Ursprünglich wollte ich ja in das Seminar "Verarbeitung von Bildsequenzen", aber da war ich der einzige. Im Seminar "Grundlagen der Bilddatenkompression" war aber auch nur einer, so daß man uns zusammenlegte. Einige Tage später meldete sich noch ein dritter, aber wir waren natürlich immernoch zu wenige, weshalb wir dann an das Seminar "Physically based modelling" angehängt wurden.
Tja, um was geht es nun hier? Mein Thema, soweit ich das schon überblicken kann, beschäftigt sich mit den Grundlagen der Wavelets, also so einer Art lokal funktionierender Fourier-Analyse. Im Prinzip hat fast jeder Computerfreak tagtäglich damit zu tun, denn das bekannte JPEG-Kompressionsverfahren beruht auf einer vereinfachten Diskreten-Cosinus-Transformation. Diese ist aber eine nahe Verwandte der Fourier-Transformation. Und auf dieser beruhen die meisten Verfahren zur Wavelet-Transformation. (Übrigens genau jenes, um das es bei meinem Seminarbeitrag geht, benötigt keine Fourier-Transformation...)
Ich brauche übrigens den Schein lediglich, um einen Seminarschein nachweisen zu können, Stunden müßte ich genug haben. 

Microcontroller Praktikum

(HS/NF) Den Schein brauche ich, da für mein Nebenfach Physik ein Praktikumsschein notwendig ist.
In diesem Praktikum geht es darum, mittels eines Microcontrollers, also einer Art umgebauten Prozessors, welchen man natürlich erst einmal korrekt programmiert, diverse Größen zu messen und dann irgendetwas damit anzustellen. Beispiel: Man mißt eine Spannung und sendet das Meßergebnis an eine Anzeige. Man kann natürlich auch Regeln und Steuern, etwa den Ladevorgang eines Akkus oder die Drehzahl eines Lüfters. Auf jeden Fall macht das ganze einen heiden Spaß. 

Rechnerarchitektur 2

(HS/TI) Zugegeben, diese Vorlesung habe ich bereits einmal gehört, aber ich brauche noch den zugehörigen Schein und nebenbei liegt das ganze schon drei Jahre zurück, so daß es durchaus Sinn macht, den Stoff nocheinmal zu wiederholen, bevor ich im Sommer dann die Prüfung mache. Um was es geht, kann also jeder Interessierte bei den alten Vorlesungen nachlesen. 

Elektronik II

(HS/NF) Die Fortsetzung von Elektronik I...
Nun insbesondere alles zu Transistorschaltungen, Dioden, etc. und etwas Digitalelektronik mit Speichern und Logikschaltungen... 

Elektronik Praktikum

(HS/NF) Man löte beispielsweise ein RC-Glied zusammen und vermesse es über das Frequenzspektrum hinweg... oder bastelt einen NF-Verstärker oder ein Mittelwellenradio oder ...
Naja, die üblichen Praktikumsberichte waren etwas lästig, aber ansonsten machte das ganze doch gehörigen Spaß. Mein Radio hat leider nie so ganz richtig getan, die Endstufe ging über den Jordan, als ich versehentlich den Ausgang über einen 10 Ohm Widerstand kurz schloß - Immerhin ein echter "Hingucker", als das Bauteil sich mit einer Rauchfahne und einem lauten Zischen verabschiedete... Danach war es dann natürlich etwas schwierig, im Radio noch etwas zu verstehen, schließlich ist das ganze um einige dB leiser geworden... 

Informatik und Gesellschaft Seminar

(HS/IuG) über "angewandte Informatik"...
Ich will ja nicht all zu enthusiastisch klingen, aber das ganze war genial: Die Idee bestand darin, daß die Studenten selbst die Seminar-Termine organisierten und durch die Workshops führten. Ganz abgesehen davon, daß es dadurch nie wirklich langweilig wurde, hatten wir auch noch verabredet, daß in den immer vierstündigen Treffen jeweils eine halbe Stunde Pause untergebracht wird - wobei die jeweils zuständigen Organisatoren für was zum Essen und Getränke sorgten. Für den Fall, daß irgendjemand kein Gefallen an den vermittelten Inhalten / der Präsentation fand, am Essen hatte keiner was zu meckern!
Fazit: Wirklich zu empfehlen. 

Studienarbeit an der GRIS

(HS) In den Semesterferien Sommer '97 habe ich eine Studienarbeit bei der GRIS begonnen, welche (dummerweise) noch lange gebraucht hat. Eigentlich wollte ich zu Semesterbeginn fertig werden, aber es waren doch Semesterferien, d.h. die Motivation zum konzentrierten Arbeiten hielt immer nur ganz kurze Zeit an... Jetzt mußte ich das Teil eben neben dem(den) Semester fertig machen. (Selber schuld!!) Inzwischen habe ich in den Semesterferien Frühjahr '98 den Rest programmiert und es fehlt eigentlich nur noch ein kleiner Teil der Ausarbeitung. Demnächst habe ich dann auch meinen Vortrag.
(Vortrag war Mai '98, letztendlich fertig wurde ich Sebtember '98 - nach über einem Jahr!)
Um was geht es dabei eigentlich? Naja, grob gesagt soll ich eine C++ Klasse implementieren, welche unter OpenGL1.1 die Verwendung immens großer Texturen ermöglicht. Dazu wird die Textur in ein Array von kleineren Texturen (samt Mipmapping) zerlegt, welche dann je nach Bedarf an das System geliefert werden können. Das ganze macht natürlich nur dann Sinn, wenn nicht alle Teil-Texturen zugleich in der maximalen Auflösung benötigt werden, da man dann die Textur ja gleich komplett einladen kann - was allerdings auch nie vorkommen dürfte.
Möglicherweise kommt jetzt die Frage auf: Wozu zum Geier eine derartig große Textur, die normalen im Bereich von wenigen Pixeln bis eventuell 512x512 reichen doch locker aus - ja NORMALERWEISE SCHON!!! Aber in bestimmten Fällen eben nicht, wie etwa bei diesem Projekt: Es sollen Satellitenaufnahmen (und andere Karten bzw. noch ganz andere Informationen) auf ein 3d Relief-Modell einer Landschaft gemappt werden - in Realtime. Im konkreten Fall soll auf das Höhenraster von Badenwürttemberg die zugehörige Satelittenkarte gemappt werden, welche in einer Größenordnung von mehreren bis vielen Gigabyte liegt. So, und jetzt will ich denjenigen sehen, dessen 3Dfx-Karte 2000MB Texturspeicher zur Verfügung stellt - selbst die meisten Hauptspeicher dürften das kaum mehr schaffen. 

Randomisierte Algorithmen

(HS/Th) Bei randomisierten Algorithmen geht es darum, daß sich manche Probleme deterministisch nur sehr schwer bzw. mit ungeheurem Rechenaufwand lösen lassen, es aber für die gleichen Probleme Lösungsansätze gibt, welche mit einer gewissen (hoffentlich hohen) Wahrscheinlichkeit die selbe Lösung in wesentlich kürzerer Zeit liefern. Dabei gehen Zufallszahlen in die Rechnung mit ein, was sich sehr unterschiedlich auswirken kann: Nehmen wir eine Ja/Nein-Frage, etwa ob es sich bei einer sehr großen Zahl um eine Prinzahl handelt. Ein deterministischer Algorithmus würde so lange rechnen, bis er es definitv sagen kann, ein randomisierter könnte z.B. so lange rechnen, bis er mit einer Wahrscheinlichkeit von 90% diese Zahl als Primzahl erkennt oder bis er mit 85% diese als nicht Primzahl identifiziert. Manche Algorithmen sagen auch: Also ich werde zwar manche Primzahlen nicht als solche erkennen, ansonsten mache ich aber garantiert keine Fehler. Für das Aufspüren von genügend großen Primzahlen, wie man sie in der Kryptologie benötigt, reicht diese Aussage allemal. Daneben gibt es Probleme, die sich nur mit Randomisierung lösen lassen, wenn auch oft eine einzige Zufallszahl reicht - etwa bei der Deadlock-Vermeidung im Netzwerk. 

Optimierung

(HS/Th) Die zweite Theorievorlesung, die ich mir dieses Semester antue. (Und das auch noch vierstündig!) Naja, um was geht es also? Es wird ein gewisser Teil aus dem großen Spektrum von Lösungsverfahren für Optimierungsprobleme behandelt. Zunächst wurde das SIMPLEX-Verfahren eingeführt, dazu kam dann das duale Verfahren, dann die Ellipsoid-Methode, Approximationen des TSP (Traveling Salesman Problem), Scheduling, Branch and Bound und so weiter. 

Medienrecht

(HS/I&G) Noch eine Vorlesung aus dem Spektrum "Informatik und Gesellschaft", zumindest wird sie dafür anerkannt. Im Vorlesungsverzeichnis findet man sie allerdings unter der Kategorie "Juravorlesungen für fortgeschrittene Juristen" - immerhin hat der Prof. gemerkt, daß viele nicht-Juristen im Saal sitzen (zumal letzterer völlig überfüllt war) und versprach, kein juristisches Spezialwissen vorauszusetzen. Schon in der zweiten Woche war dann ein Ersatzmann da, der genau davon keine Ahnung hatte und ständig mit dem Satz kam "..., aber das wissen Sie ja alles aus den Grundvorlesungen...". Nachher habe nicht nur ich mich gefragt, warum eigentlich keiner den Mann aufgeklährt hat.
Um was geht es überhaupt? Nun ja, eben alles was so mit dem Presserecht zu tun hat. (Ich habe übrigens die Scheinprüfung (mündlich, ca.10 Min.) bestanden.) 

Elektronik 1

(HS/NF) Ja, tatsächlich eine Nebenfachvorlesung in PHYSIK! Damit kann ich mich nun entgütig als Nebenfach-Physiker bezeichnen und mein altes "Nebenfach-Mathematiker" abstreifen. Um was es in dieser Vorlesung geht ist ja offensichtlich: Elektronik. Angefangen bei den einfachsten linearen Bauelementen wie einem Widerstand oder einem Kondensator bis hin zu ... (Das wird sich noch herausstellen, ich habe auch hier die Einführungsveranstaltung verpaßt!) Eine Neuigkeit habe ich schon gelernt: Man sollte niemals diese einfachen Bauteile unterschätzen, z.B. wußte ich bis zur zweiten Elektronikstunde nicht, daß ganz normale Kohle-Widerstände bei ganz regulärer Benutzung relativ rasch ihren Wert ändern... 

Konzepte von Programmiersprachen

(HS/Pr) Hier werden fein säuberlich die verschiedenen Konzepte hinter den Programmiersprachen untersucht. Dabei wird schnell klar, daß es schon länger keine wirklich neuen Ideen mehr gab.
Wer das nicht glaubt: Nehmen wir Java. An sich nichts anderes als ein etwas aufgebohrtes C++. Dieses wiederum entstand, als ein dänischer Programmierer sich C erweiterte - um diejenigen Teile von Simula '67, die er als praktisch ansah. Für C wurden Teile des Konzeptes sowie einige komplette Konstrukte von Algol '68 abgekupfert. Die besten Teile waren ihnen jedoch zu kompliziert zu implementieren. Ergo: Die Java zugrundeliegenden Konzepte stammen von 1967 und 68...
Auch funktionale Sprachen gibt es seit den Fünfzigern (LISP), logische Ansätze fast genauso lang (PROLOG). OO-Sprachen fingen in den Sechzigern an, allerdings wurden diese erst mit Smalltalk (1980) so richtig implementiert. Man kann daher sagen, daß spätestens seit 1980 nichts neues mehr aufgekommen ist.
Übrigens: Um einem Mißverständnis vorzubeugen - wenn jemand stolz berichtet er beherrsche Java, C++, Pascal, Algol, Basic und Assembler, so hat er zwar viel gelernt, aber eigentlich immer wieder das selbe in Grün. D.h. so jemand soll sich lieber einmal eine Sprache wie Haskell, Scheme, LISP oder Prolog antun, anstatt mit Fortran die siebte imperative (und damit wieder prinzipiell gleiche) Sprache zu lernen. 

Information Retreaval

(HS/Pr) Wie findet man in einer großen Datenbasis die benötigten Informationen, wenn man vom Benutzer nur vage oder unvollständige Suchkriterien erhält. Überhaupt kann einfach die Datenmenge viel zu groß sein, etwa wenn man 30 Millionen Internetseiten nach einem Begriff durchstöbern soll...
Das ganze war leider derart ätzend, daß ich nach wenigen Wochen das Handtuch geschmissen habe - nicht weil es zu schwer war, sondern weil ich mich nicht überwinden konnte, extra früh aufzustehen, nur um die sechste winzig kleine Abwandlung des Boyer-Moore-Algorithmus kennen zu lernen... 

Inforecht

(HS) Gehört zu den 6 SWS Informatik und Gesellschaft, über welche wir benotete Scheine vorlegen müssen.
Die Vorlesung (welche auf "Einführung in das Recht" aufbaut, nicht verraten, daß ich die noch gar nicht gehört habe...) vermittelt einem einen knappen Überblick über die diversen (Kauf-)Vertragstypen, die im Hard- und Softwarebereich relevant sind, sowie gebräuchliche (Arbeits-)Verträge, ... Außerdem behandeln wir die für uns relevanten Teile des Strafrechtes, z.B. für wie lange jemand hinter schwedischen Gardinen verschwinden kann, wenn er den Rechner einer Konkurrenz-Firma sabotiert, o.ä. Natürlich wird auch das niegel- nagel- neue IuKDG (=Multimediagesetz) behandelt, inklusive Signaturverordnung. Um das ganze zu lernen bekommen wir haufenweise Fälle vorgesetzt und besprechen dann, was für Verstöße vorliegen und was für Strafen zu erwarten sind... 

Experimental-Physik Praktikum

(??/NF) Eigentlich hätte ich dieses Praktikum ja irgendwann in den ersten 4 Semestern ablegen sollen, aber da ich erst jetzt im Nebenfach auf Physik gewechselt habe, muß ich es mir eben nun antun. (Das war lustig: "Was für Semester seid Ihr denn so?","3.","3.","3.","1.","3.","9."?????)
Was man hier tut? Nun ja, man macht 10 relativ einfache physikalische Versuche quer über den Acker hinweg, d.h. über Wellen, Schwingungen, Elektrizität, Schall, Wärmelehre, Teilchenzerfall, etc. - wertet diese elend aufwendig schriftlich aus und muß zu guter letzt sogar noch eine Klausur schreiben. Und das alles für einen einzigen mickrigen Schein, von dem ich nicht einmal sicher bin, daß ich ihn brauche!!
PS: Ich brauche ihn tatsächlich nicht!! 

Geometrische Modellierung 2:

(HS/Pr) Es geht in diesem Semester nun u.a. um geometrische Stetigkeit. Der Gedanke dahinter ist einfach: Um einen Gegenstand zu modellieren, interessiert es mich reichlich wenig, ob die Oberfläche nun überall mathematisch differenzierbar ist, sondern schön rund und glatt soll das ganze aussehen. Dafür gibt es den Begriff der geometrischen Stetigkeit, der eben diese "optische Stetigkeit" erfaßt. Dann geht es um diverse Probleme des dreidimensionalen Modellierens, denn dummerweise kann man nicht einfach die 2D-Methoden nehmen und 'mal eben 'ne Dimension hinzufügen - Da muß man sich schon Gedanken machen, wie man die Daten repräsentieren will, was für Operationen man gestattet/braucht und wie man dafür sorgt, daß nur tatsächlich realisierbare Körper entstehen... 

Rechnerarchitektur 2:

(HS/Te) Ganz grob kann man sagen: Es geht um Parallelität. Aber damit kein falscher Eindruck entsteht: Ich spreche nicht nur von Parallelrechnern und Workstationclustern, sondern auch der Parallelität auf der Prozessorebene, also etwa die Ausführung mehrerer Maschinenbefehle in mehreren Verarbeitungseinheiten gleichzeitig. Um solche parallelen Einheiten besser mit Befehlen füttern zu können, muß man einen z.T. beträchtlichen Aufwand treiben: Reorderbuffer, Branchprediction, Registerfiles, Recover-Mechanismen und vieles anderes mehr müssen entstehen... 

Formale Sprachen:

(HS/Th) Oh je, also diese Vorlesung ist nicht mein Fall. Wenn man einen Studienanfänger vom Studium der Informatik fernhalten will, gibt einem das zur Vorlesung gehörende Skript genügend Stoff zur Hand um jeden Abzuschrecken. Aber vielleicht sehe ich das zu eng, Theorie lag mir noch nie so besonders... 

Funktionale Programmierung:

(HS/Th) Funktionale Programmiersprachen wie ML, Haskell, Scheme, etc. werden immer wichtiger und sind deutlich leistungsfähiger als konventionelle Sprachen wie C++,Pascal oder Java. Vor allem die Entwicklungszeit für Programme verkürzt sich häufig um einen Faktor größer 5, was schon erheblich viel ausmacht!!!
Keine Ahnung, was das sein soll - Funktionale Programmiersprachen? OK, also :
1. Die Funktionen benehmen sich wie mathematische Funktionen.
2. Funktionen sind sogenannte Objekte erster Ordnung, d.h. man kann Sie wie Integer an andere Funktionen übergeben, sie zurückgeben, sie in Arrays oder Bäumen ablegen und so weiter.
Naja, daß der zweite Punkt ein Vorteil ist, leuchtet ein, der erste Teil scheint auf den ersten Blick eine gewaltige Einschränkung zu sein, ist er aber nicht: Durch den (mehr oder minder kompletten) Verzicht auf globale Variablen und andere Dreckeffekte, lassen sich Funktionen unglaublich kompakt definieren.
Nach ca. der Hälfte der Zeit wechselt die Vorlesung von der Praxis auf die Theorie, was im Klartext eine langwierige Behandlung des Lambda-Kalküs und allem was dazu gehört zur Folge hat. Dieser Teil liegt mir wirklich nicht, was aber wieder an meiner Theorieabneigung liegen dürfte. 

Datenbanksysteme 2:

(HS/Pr) Die Fortsetzung des ersten Teils. Jetzt geht es hauptsächlich um die Probleme beim Mehrbenutzerbetrieb, die Datenrestaurierung (Nach einer Panne) und änliches. Diese Vorlesung habe ich wegen Terminprobleme nicht komplett verfolgen können. 

Geometrische Modellierung 1:

(HS/Pr) Schon einmal probiert einen Kotflügel eines Autos am Computer zu modellieren? Oder ein Waschbecken, einen Schiffsrumpf, ein Flugzeug, etc. ? Das Hauptproblem bei diesen Objekten sind die gewölbten Oberflächen, die sich alles andere als leicht beschreiben lassen. Natürlich kann man alles aus Polygone zusammensetzen, nur werden dies bei kritischen Beschreibungen, wie etwa einem Auto, sehr schnell viel zu viele oder die Beschreibung wird beim heranzoomen zu ungenau. Daher benutzt man andere Beschreibungen, sprich Bezierflächen, Nurbs-Flächen, etc. Um solche geht es in dieser Vorlesung. Dabei geht es logischerweise viel um Mathematik, aber auch gelegentlich um konkrete Implementationen, welche wir in Java vornehmen dürfen - d.h. demnächst werden an dieser Stelle auch ein paar Java-Applets erscheinen... (PS: Idee gestorben, die Applets sind so besch...eiden, daß ich das wirklich niemandem antun will.) 

Rechnerarchitektur 1:

(HS/Te) Naja, irgendjemand muß doch festlegen, wieviel Register ein Prozessor bekommt, wie breit sein Adressbus sein soll, wie er mit den anderen Hardwarekomponenten kommuniziert,... Das könnte man einfach auf's geradewohl festlegen, jedoch wäre es deutlich sinnvoller, wenn man vorher wüßte, ob der breitere Datenbus etwas bringt, oder ob wohlmöglich die ganze Performance durch einen falschen Cache vor die Hunde geht... Auch ganz Interessant: Wann ist eine Cisc Architektur vorzuziehen, wann eine Risk? Das ist gar nicht so eindeutig, wie manche glauben, denn beide haben unbestreitbare Vor- aber auch Nachteile. 

VLSI Design:

(HS/Te) Für alle Normalsterblichen: VLSI ist die Bezeichnung des aktuellen IC-Standarts in Bezug auf die Strukturgröße. (VLSI = Very Large Structure Integration) Deshalb handelt diese Vorlesung auch ganz einfach über das weite Gebiet des Chip-Designs. Beispielsweise: Wie ordne ich die Transistoren möglichst platzsparend auf dem IC an, wie verkürze ich die Signalwege? Oder noch viel primitiver: Wie baut man überhaupt einen Transistor auf einem Siliziumwaver auf, wie verdrahtet man, wie verstärke ich zu schwache Signale und wann bekomme ich überhaupt zu schwache Signale? Oder komplizierter: Wie kann ich komplexe Strukturen zusammenstöpseln - es muß ja nicht gerade ein Pentium mit 5,5 Millionen Transistoren sein, schon 100.000 dürften die Gedult eines Menschen reichlich strapazieren, wenn man alle von Hand zusammentüfteln wollte. Oder wie baut man 'selbstreparierende' IC's, denn nicht jeder kleine Defekt sollte schließlich gleich den Stillstand des Herzschrittmachers bewirken... Auch hochaktuelle Themen werden behandelt bzw. erwähnt - wie etwa die neuen Java-Chip's. Alles im allem eine hochinteressante Vorlesung, die nur zu empfehlen ist!!!

Datenbanksysteme 1:

(HS/Pr) Wie verhindert man, daß nach einem Rechnerausfall von der getätigten Überweisung nur die Gutschrift aber nicht die Lastschrift ausgeführt wurde? Oder umgekehrt? Und wie hält man die Daten für die enorm lange Lebensdauer fit? (Die aktuellen Daten z.B. einer Lebensversicherung werden locker 40-50 Jahre benötigt - da liegen unzählige Hard- und Softwaregenerationen dazwischen, also wie alles kompatibel halten?) Wie sorgt man dafür, daß keine Inkonsistenzen entstehen? Z.B. Muß verhindert werden, daß im Werk in Bremen eine viel größere Lieferung eingeplant wird, nur weil der Abruf aus dem Werk Stuttgart zwar schon bestätigt, aber noch nicht in den Lagerdaten eingetragen worden war. Oder noch einfacher: Es waren zwar die aktuellen Lagerbestände in der Datenbank in Stuttgart aktualisiert, jedoch war der Rechner in Bremen darüber noch nicht informiert. Ausserdem wird SQL ausführlich eingeführt, die Gefahren bei diversen Abhängigkeiten werden erleutert, usw. etc. ... 

Neuronale Netze (in der Robotik):

(HS/Te) Wenn man einen Roboter gebaut hat und ihm nun die notwendige Software verpassen will, läuft das meist ungefähr so: (Bsp. Der Robi soll eine Wand entlang fahren - ganz einfach!!!) Prog. schreiben, einspielen, Robi an die Wand stellen - er crashed sofort hinein ??? Naja, also etwas ändern, einspielen, Robi fährt ungeruehrt in die Pampa ??? Und so geht das eine ganze (lange) Weile. Es ist ein langer Lernprozess, bis der Programmierer gelernt hat, wie er es anstellen soll, daß der Robi das tut, was er soll... - Also, warum nicht den Robi selber lernen lassen, anstatt den Programmierer zu trainieren? Vorsicht: Hier gibt es keinen kleinen Robbi zum herumspielen, dafür gibt es das Robotik-Praktikum - hier geht es nur um die diversen Lernverfahren und die dahinterstehende Theorie.
Es handelt sich also um ein Gebiet, in dem man mit der Hilfe simulierter Neuronaler Netzwerke versucht, einen kleinen Teil der Lernfähigkeit und der Flexibilität natürlicher Gehirne anzunähern. Die enorme Rechenleistung der natürlichen Vorbilder sind dabei, da es sich ja nur um eine Simulation handelt, nicht einmal annähernd zu erreichen. Aber selbst die kleinen tatsächlich realisierbaren Teile sind schon wirklich überraschend. Man sollte allerdings keine Intelligenzleistungen erwarten, denn ab welcher Netzgröße man von Intelligenz sprechen kann, bleibt wohl eine Frage für Philosophen. 

Ana3 die zweite...

(GS/N) Naja, ich habe die Prüfung verbockt, also frische ich den Stoff nocheinmal auf !! (PS: Es hatte Erfolg, wenn auch sehr knapp) 

GDV 2:

(HS/Pr) Hier dreht es sich unter anderem um das weite Gebiet der Fraktale, in dem sich auch Beschreibungsmethoden für Pflanzen u.ä. verbergen. Dann werden Texturen behandelt, dabei natürlich vor allem das Problem, wie bekomme ich mein Bild auf das Objekt. Als nächstes kam rekursives Raytracing an die Reihe, mit allen Vor- und Nachteilen. Und zum Schluß noch Radiosity, welches zwar eine viel realistischere Beleuchtungsrechnung ermöglicht, aber dafür auf anderen Gebieten wieder schwere Schwächen aufweist. Der Weisheit letzter Schluß ist daher die Kombination: Mit Radiosity wird im ersten Schritt die diffuse Beleuchtung errechnet, im zweiten Schritt folgt dann der ganz normale Raytracer...

Compilerbau 2:

(HS/Pr) Nur teilweise gehört, weil es mit Bildverarbeitung kollidierte. Es geht darum, aus dem Zwischencode, den der Scanner und der Parser aus Compilerbau 1 ausgeben, einen brauchbaren Maschinencode zu bauen. Dazu muß(bzw. sollte) zunächst der Zwischencode optimiert werden. Dann eventuell ein Virtueller Assemblercode, der wieder optimiert wird und schließlich wird dann der Maschinencode erzeugt und eventuell dieser dann wieder optimiert. 

Bildverarbeitung

(HS/Pr) Bei der Bildverarbeitung geht es darum, Bildinformationen aufzubereiten, also etwa den Kontrast zu erhöhen, verwackelte Bilder scharf zu rechnen, Rauschen zu entfernen,... Aber auch Aufgaben wie das Hervorheben von Kanten zur besseren Identifikation von Objekten und deren Abgrenzungen gehören zum Aufgabenspektrum.
Kleines Beispiel: (Stark verkleinert - Meine Quota reicht auch nicht ewig !!!)
Aus  soll  entstehen. 

Genetische Algorithmen(GA) und Evolutionsstrategien(ES)

(HS/Te) Diese Vorlesung zielt vor allem darauf ab, mit Hilfe der GA bzw. den ES Optimierungsprobleme zu lösen. Dabei kommt die Idee zu dieser Vorgehensweise aus der Biologie, der Ansatz der beiden liegt auch auf einer unterschiedlichen biologischen Stufe: Die GA setzen am Genotyp an, mutieren und kombinieren also Gene, was schließlich zur Lösung führen soll. Bei den ES setzt der Algorithmus am Phänotyp an, also direkt am Individuum, was einige deutliche Vorteile bietet, sich jedoch bislang weniger durchsetzen konnte. (Eventuell liegt das ja daran, daß die GA in den USA entwickelt wurden und dort auch entsprechend stark vertreten/ verteidigt werden, während die ES aus Deutschland stammen... Ansonsten könnte man noch anmerken, daß das Themengebiet als solches noch so jung ist, daß die Vorlesung recht angenehm Praxisnah bleibt, es fehlt noch an sehr vielen Stellen die notwendige Theorie... 

Datenkommunikation 2

(HS/Te) Die Abrundung der Vorlesung Datenkommunikation 1: Die restlichen Schichten des OSI-Schichtenmodells, die anderen grossen Netzwerkprotokolle - Vor allem natürlich TCP/IP, DAS Internetprotokoll. Ansonsten wie DK1. 

Client-/Server-Systeme 1 / 2

(HS/Te) Alles über kommunizierende Systeme, von EMail über FTP, IRC, TCP/IP, LAN / WAN - Netze und RPC's, bis hin zu Kerberos und CORBA. 

GDV 1:

(HS/Pr)
Dies war die brühmte Teekanne in Ihrer Ursprungsform.
Das ganze nun schattiert mit dem Flatshading- Algorithmus.
Und zum Schluß noch per Phong-Shading. Dazwischen benutzten wir noch Gouraud-Shading, aber wen interessiert das schon...
Übrigens: Es handelt sich bei obigen Verfahren um lokale Beleuchtungsmodelle, d.h. das ganze hat nur am Rande etwas mit Raytracing oder ähnlichem zu tun.
Als nächstes befassen(befaßten) wir uns mit Kurven und gewölbten Flächen, also wie in dem folgenden Beispiel, wo eine (schwarze) Kurve durch eine (rote) Hülle festgelegt wurde: 

Compilerbau 1:

(HS/Pr) In der Vorlesung Compilerbau lernt man, wie man mit einer Sprachdefinition aus einem Quelltext ein lauffähiges Programm erzeugen kann. Das geschieht natürlich in vielen kleinen Schritten und in Compilerbau I schafft man es sowieso nur bis zum Zwischencode, denn kaum einer ahnt, welche Detailprobleme auf einen Compilerschreiber warten. Dagegen sind andere, häufig als viel komplexer angenommene Probleme bei geschickter Vorgehensweise, ganz einfach zu lösen. 

Betriebssysteme 1

(HS/Pr) Eigentlich sollte die Vorlesung heißen: "Das Betriebssystem UNIX"
Warum? Naja, von den anderen Betriebsystemen ist etwa genau so viel die Rede, wie in einer Mathematik-Vorlesung über das Wetter geredet wird - es kommt wohl zur Sprache, ist aber eigentlich nicht Vorlesungsfüllend...
Für alle, die nicht so recht wissen, um was es bei dieser Vorlesung gehen soll, denn schließlich liegt doch jedem Rechner ein Handbuch bei, in dem die wichtigsten Befehle erläutert werden: Es geht bei dieser Vorlesung um die tiefen Hintergründe des Systems, also etwa,
  • Wann lagert der Kernel welche Prozesse wie und für wie lange, wohin aus, um Platz im Hauptspeicher zu erlangen?
  • Wie sag ich's meinem Kinde - oder wie kommunizieren Prozesse untereinander bzw. vom Vaterprozeß zu den Kindprozessen.
  • Wie sorge ich dafür, daß der Atomreaktor nicht durchbrennt, weil mein Kernel der Meinung war, der Bildschirmschoner sei wichtiger als die Reaktorsteuerung.
  • ...

Datenkommunikation 1

(HS/Te) Dies gehört zur technischen Informatik und vom Thema her kann man da zum größten Teil nur zustimmen. Es geht um die verschiedenen Ebenen der Kommunikation zwischen verschiedenen Rechnern, also auf der untersten Ebene um die Übermittlung von 0/1-Signalen mit Sondersignalen in Form von längeren Bits oder ähnlichem, bis zu den obersten Schnittstellen zwischen irgendwelchen Protokollen und den Anwendungsprogrammen. 

Informatik 1-3

(GS) Hier lernt man die Grundlagen der Informatik, eine erste Hochsprache (Pascal,C oder Scheme), Grundlagen formaler Sprachen usw,etc. 

Technische Informatik 1 + 2

(GS) Grundlagen der Elektrotechnik (Was ist ein Kondensator, wie funktioniert er, wie schnell läd bzw. entlädt er sich, wie verwendet man ihn,...), grundlegende Schaltungen, CMos-Technik, Optimierung von Schaltungen, ... 

Basispraktikum TI

(GS) Hier werden die in TI erworbenen Fähigkeiten in der Praxis erprobt, d.h. man versucht die Kennkurven von Dioden zu messen, baut digitale Schaltungen auf und darf am Schluss sogar versuchen, einen kleinen Computer auf Binärebene zu programmieren. 

Analysis 1 + 2

(GS) Grundlagen der Analysis, hauptsächlich werden hier bekannte Regeln der Schulmathematik (u.a. Differenzation,Integration,trigonometrische Funktionen,...) auf einen stabilen Sockel gestellt. Aber Vorsicht: Mit Zahlen hat das ganze nur am Rande etwas zu tun, den Taschenrechner kann man fast immer zuhause lassen. 

Lineare Algebra 1 + 2

(GS) Grundlegenste Grundlagen der Algebra, beschränkt auf lineare Abbildungen. Hier fehlt die Möglichkeit eines Vergleiches mit der Schulmathematik, da die dort gelehrte Algebra nur sehr entfernt gestreift wird. 

Algorithmen

(GS) Wichtige Algorithmen und Programmstrukturen, die man im täglichen Programmieralltag nur zu oft benötigt. Z.B. verschiedene Sortierroutinen, balancierte Bäume erzeugen,... 

Numerik

(GS) In dieser Vorlesung wird das gemacht, was ich von der Schule kommend als Mathematik erwartet hatte. Zu bestimmten Fragestellungen mathematischer Natur werden numerische (Näherungs-)Lösungen errechnet, Fehlerabschätzungen getätigt und schnellere bzw. genauere Verfahren diskutiert. 

Stochastik

(GS/N) Genaugenommen macht man hier kaum mehr als in einem Mathematik-LK bei einer Stochastik Lehreinheit. Nur die Grundlagen werden (wie immer) etwas intensiver betrachtet und das bereits bekannte Wissen wird stärker mit einbezogen. Aber ansonsten geht es eben um jene bekannten Themen, wie Urnenmodelle, Schätzer, ... 

Analysis 3

(GS/N) Eigentlich handelt es sich um die zwei Vorlesungen Differentialgleichungen und Funktionalanalysis, die zu einer zusammengefaßt wurden. Der Stoff ist doch recht schwierig, was dazu führte, daß sich recht schnell große Teams für die Hausaufgaben bildeten. Dazu nur folgendes Zitat von Prof. Räbiger: "Ich habe ja nichts gegen Teamabgabe, ich habe nur etwas gegen die Tendenz zur Bildung von 20 Personen Teams." 

Proseminar "Grundlagen der Computergrafik"

(GS) Ich wählte dieses Proseminar, weil ich ja grundsätzlich an Grafik sehr viel Interesse besitze. Dort werden Themen behandelt wie Clipping, Füllen von Polygonen, lokale Beleuchtungsmodelle, die Viewing Pipeline, ...