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ösenden 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 brauchte ich, da für mein Nebenfach Physik
ein Praktikumsschein notwendig war.
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) URL Eine Reihe von Workshops
ü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(n)
fertig machen. (Selber schuld!!) In den Semesterferien im Frühjahr '98 habe ich
dann den Rest programmiert und es fehlt eigentlich nur noch
ein kleiner Teil der Ausarbeitung. Etwas später hatte 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) URL
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) URL
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) URL
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) URL
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) URL
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) URL
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) URL
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) URL
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) URL
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) Hierbei geht es nicht darum, wer die hübscheste Oberfläche
für den GCC bastelt!!! Deshalb gibt es hier auch keine Bilder zum
beglotzen, aber für alle Enttäuschten gibt es ja noch viele schöne
Links in der Abteilung Grafik. (Sucht doch nach
Comics)
Aber um wieder ernst zu werden:
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, ...