Thursday, December 21, 2006

Projektgruppen im Sommersemester 2007

Mit dem Vorlesungsverzeichnis (Master-Statisik in der Kurzfassung ist hier verfügbar) wurden auch die neuen Projektgruppen angekündigt.

Bisher sind demnach geplannt:

  • Refactor (SWT) von Prof. Wehrheim
  • Computer Vision (SWT) von Prof. Kleine Büning
  • Model Cockpit (SWT) von Prof. Engels
  • Simulationsbegleitende Modellierung von Fertigungssystemen in 3D-Umgebungen (MUA) von Prof. MudH
  • Neue Architekturen kollaborativer Systeme (MMWW) von Hampel
  • Unterstützung des betrieblichen Softwareeinsatzes durch E-Learning (MMWW) von Dohmen
  • Praktische Informatik (SWT) von Kastens
  • AVESTA - Algorithmen für Verkehrssteuerung auf Autobahnen (MUA) von Monien

Das sieht erstmal nach keinem zu schlechen Angebot aus. Aber es gibt keine einzige neue Projektgruppe im Bereich "Eingebettete Systeme und Systemsoftware".

Deshalb hier nochmal mein Aufruf: Bitte, geht in euch und bietet auch dieses Semester Projektgruppen (in ESS) an!

Ansonsten ist meine Entscheidung in welchem Bereich ich vertiefen werde, wohl gefallen. Das Vorlesungsangebot in ESS ist in dem Bereichen Paralelle System/Systemsoftware/Netzwerke also alles aus ESS, dass nicht zu den eingebetteten Systeme gehört, ziemlich mau und es gibt ebenfalls keine Projektgruppe. SWT, ich komme.

Statistik über die Mastermodule im Sommersemester 2007 - Kurzbetrachtung

Heute wurde das vorläufige Vorlesungsverzeichnis für das Sommersemester 2007 veröffentlicht.

Vor dem letzten Semester habe ich eine kleine Statistik über die Mastermodule veröffentlicht, die sehr erfolgreich gewesen ist. Auch durch die Statistik animiert haben sich Professoren des Bereiches MMWW noch einige Veranstaltungen zusätzlich angeboten.

Ich plane natürlich die erfolgreiche Master-Statistik vom letzten Semester zu wiederholen. Hier schon mal die Kurzversion also die Veranstaltungen nur für das nächste Semester:

III.1.1 Softwaretechnik I
- Modelchecking (Kindler)
- Seminar: Software Engineering für Automotive Systeme (Giese)

II.1.2 Softwaretechnik II
keine Veranstaltung

III.1.3 Sprachen und Programmiermethoden
- Generating Software form Specifications (Kastens)
- Prolog mit Anwendungen in Interpreterbau und Sprachverstehen (Böttcher)

III.1.4 Semantik und Verifikation
- Modelchecking (Kindler)
- Petri nets (Kindler)

III.1.5 Datenbanken und Informationssysteme
- Databases and information systems (Böttcher)
- Prolog mit Anwendungen in Interpreterbau und Sprachverstehen (Böttcher)
- Seminar: Kompression, Streaming und Caching von XML-Daten (Böttcher)

III.1.6 Data and Knowledge Engineering
keine Veranstaltung

III.1.7 Wissensbasierte Systeme
- Heuristische Suchverfahren (Lettmann)
- Propositional Proof Systems (Kleine Büning)
- Prolog mit Anwendungen in Interpreterbau und Sprachverstehen (Böttcher)

III.1.8 Intelligente Systeme
- Heuristische Suchverfahren (Lettmann)

III.2.1 Algorithmen I
- Datenverwaltung in Rechnernetzen (MadH)
- Algorithmen in der Computergrafik (Fischer)
- Heuristische Suchverfahren (Lettmann)
- Algorithmische Codierungstheorie (Blömer)
- Graphalgorithmen (Elsässer)
- Seminar: Randomisierte Algorithmen (Fischer, MadH)

III.2.2 Algorithmen II
- Datenverwaltung in Rechnernetzen (MadH)
- Algorithmen in der Computergrafik (Fischer)
- Algorithmische Codierungstheorie (Blömer)
- Graphalgorithmen (Elsässer)
- Seminar: Randomisierte Algorithmen (Fischer, MadH)

III.2.3 Berechenbarkeit und Komplexität
keine Veranstaltung

III.2.4 Algorithmen in Rechnernetzen
- Datenverwaltung in Rechnernetzen (MadH)
- Seminar: Randomisierte Algorithmen (Fischer, MadH)

III.2.5 Codes und Kryptographie
- Cryptographic Protocols (Blömer)
- Algorithmische Codierungstheorie (Blömer)

III.2.6 Optimierung
- Simplex und Graphalgorithmen

MUA ohne Einordnung:
- Algorithmic Game Theory (Mavronicolas)
- Approximationsalgorithmen (Schröder)
- Seminar: Algorithmic Game Theory (Mavronicolas)

III.3.1 Verteilte Rechnersysteme
- Ad hoc und Sensornetze (Karl)

III.3.2 Systemsoftware
keine Veranstaltung

III.3.3 Rechnernetze
- Ad hoc und Sensornetze (Karl)

III.3.4 Eingebettete Systeme
- Real Time Operating Systems (Rammig)
- Intelligenz in eingebetteten Systemen (Kleinjohann)
- Modelchecking (Kindler)
- Algorithmens in Manufacturing Systems (El-Kebbe)

III.3.5 HW/SW-Codesign
keine Veranstaltung

III.3.6 Eingebettete- und Echtzeitsysteme
- Real Time Operating Systems (Rammig)
- Intelligenz in eingebetteten Systemen (Kleinjohann)
- Algorithmens in Manufacturing Systems (El-Kebbe)

III.4.1 Grafische Datenverarbeitung
- Computer Graphics II (Domik)
- Seminar: Rendering von Volumen (Domik)

III.4.2 Informatik und Gesellschaft
- Seminar: Kooperations als Phänomen und Instrument in Wirtschaft und Informatik (Krüger)
- Seminar: Assistierende Technologien (Tauber)

III.4.3 Konzepte digitaler Medien
- Seminar: Kooperations als Phänomen und Instrument in Wirtschaft und Informatik (Krüger)

III.4.4 Computer gestützte kooperative Zusammenarbeit und Lernen
- Softwareergonomie (Keil)
- Seminar: Kooperations als Phänomen und Instrument in Wirtschaft und Informatik (Krüger)

III.4.5 Entwicklung von Benutzungsschnittstellen
keine Veranstaltung

III.4.6 Mensch-Maschine-Wechselwirkung
- Softwareergonomie (Keil)
- Seminar: Assistierende Technologien (Tauber)

III.4.7 Mensch-Computer-Interaktion
- Softwareergonomie (Keil)
- Seminar: Kooperations als Phänomen und Instrument in Wirtschaft und Informatik (Krüger)
- Seminar: Assistierende Technologien (Tauber)

Veranstaltungen ohne erkennbare Einordnung:
- Stufenbezogenen Unterrichtsmodelle - Prolog (Lehner)

Erstes Fazit:
Auf den ersten Blick bin ich natürlich von dem Angebot in MMWW positiv überrascht. Dort sind wirklische Verbesserungen eingetreten. Das Angebot in MUA ist bekannt gut.
Auch in SWT wird subjektiv mehr angeboten als im WS06/07.
Etwas enttäuscht bin ich persönlich (als jemand der zwischen ESS und SWT als Vertiefungsgebiet schwankt) von dem Angebot in ESS. Module III.3.1, III.3.2 und III.3.3 fast leer? Das ist schade.
Mir ist bewußt, dass a) Professor Kao fehlt und b) Professor Karl in diesem Semester extrem viele Veranstaltungen angeboten hat. Trotzdem ist die Entwicklung von 150% auf 0% in diesen Modulen bedauerlich.

Artikel über SQLite und der SQLite ADO.NET Provider

Peter Bromberg (Blog: Peters’ Unblog) stellt in dem Artikel "Experimenting With SQLite and the SQLite ADO.NET Provider" auf eggheadcafe.com seine Erfahrungen mit der Desktop-Datenbank-Enigne SQLite und die Anbindung an .NET-Anwendungen mit einem eigenen ADO.NET-Provider vor.

SQLite ist eine Datenbankengine, die hauptsächlich in Desktop- oder kleinen Webanwendungen eingesetzt wird und im Prozessraum der Anwendung läuft (im Gegensatz zu anderen Datenbanken wie MySQL, die i.d.R. über Sockets angesprochen werden).
Trotzdem sei SQLite ziemlich ausgereift und implementiert auch große Teile des SQL92-Standards.

Über einen eigenen ADO.NET-Provider lässt sich SQLite auch direkt an .NET anbinden. Für .Net-Entwickler ist dies nahezu ein KO-Kriterium.

Peter führt mit einer minimalen Blog-Anwendungen einen kleinen Stresstest für die Datenbank durch und kommt zu dem Schluss

SQLite, combined with the current iteration of the Finisar SQLite.NET Provider, represents an interesting alternative where low to moderate usage stress is likely, and is an attractive alternative to MSAccess, MSDE, MySQL and SQL Server where an open-source, well-supported "low footprint" zero-impact deployment database engine is needed. There is a growing amount of community open-source support, and the engine has had extensive testing. It’s also being released with PHP 5.0 as "part of the package", indicating broad support in the development community. You can expect to see more offerings related to SQLite, as well as possibly a 100% Managed-code implementation. In addition, expect to see the developer community fully implement SQLite for the Compact Framework, making this an attractive and very compact offering for CF applications employing easily - deployable local data stores.

Für die relationale Datenhaltung in Desktop-Anwendungen empfiehlt Microsoft die eigene kostenlose Datenbankengine SQL Server Express, eine Version des SQL Servers aber ohne die Möglichkeit des Remotezugriffes und andere Features für den Server-Betrieb.

SSE besticht natürlich durch eine exzellente Einbindung in Visual Studio, hat aber den großen Nachteil, dass die Software extrem groß und umfangreich ist (60 MB Download entgegen ca. 320 KB für die SQLite-Bibliothek) und als eigenen Service im System installiert wird.

Nach einigen Problemen mit inkonsistenten Datenbankendateien mit SSE in einem Projekt, sieht SQLite für mich als eine sehr gute Alternative zu dem SQL Server Express aus, die ich sobald wie möglich testen möchte.

Bei Google Video gibt es das Video "An Introduction to SQLite" aus der "Google Talks"-Reihe in der die Datenbankengine vorgestellt wird. Freilich ohne auf die Bindung an .NET einzugehen.

Tuesday, December 19, 2006

Architektur von eBay

Auf der Konferenz SD Forum 2006 haben zwei eBay-Architekten mit der Präsentation "The eBay Architecture"(pdf) die Architektur vorgestellt mit der eBay eine Milliarde Page Views pro Tag, 2 Petabytes Daten und und 212 Millionen registrierte Benutzer bewerkstelligt.
Die Slides wurden im Blog "Adding Simplicity - An Engineering Mantra" von eBay-Architekt Dan Pritchett veröffentlicht.

Es ist interessant zu sehen wie eBay diese Aufgaben bewältigt und wie sich die Architektur von eBay im Laufe der Jahre verändert hat.

Besonders interessant finde ich den Abschnitt "Scale the Data Tier", weil eBay bei der Datenhaltung gege viele Dogmen, die man so in Vorlesungen wie "Datenbanken", DBIS und so vermittelt bekommt, verstößt.
eBay verlagert alle CPU-intensiven Arbeiten in die Anwendungsschicht z.B. die Sicherstellung der referentiellen Integrität, Joins und das Sortieren der Daten.
Es werden absolut keine client-seitigen Transaktionen oder verteilte Transaktionen verwendet. Auf diese Weise werden Deadlocks vermieden und Schreiboperationen können verschränkt werden.

Weitere Blog-Einträe über die eBay-Architektur-Präsentation:

Thursday, November 30, 2006

My new DailyWTF

Ich bin ein begeisterter Leser von DailyWTF, einer amerikanischen Webseite auf der jeden Tag Beispiele für falsche oder schlechte Programmierung oder Projektmanagement veröffentlicht werden, wie schon hier geschrieben habe.

So langsam läuft aber das StudiVZ dem DailyWTF den Rank ab.
Auch dort gibt es tälich Beispiele für schlechte Programmierung.
Heute in der Blogbar: Wie melde ich mich bei einer geschlossenen Gruppe an?

Wie man ernsthaft eine Software entwickeln kann und auf Sicherheit so wenig wert legen kann, ist mir immer noch ein Rätsel. Die haben ja wirklich keine andere Sicherheitsvorkehrungen als das Verstecken von Links.

Rolendaten von Microsoft Commerce Server 2007 in ASP.NET nutzen

Mit ASP.NET 2.0 hat Microsoft ein System zur Authentifizierung und Autorisierung von Benutzern eingeführt. Neben Standard-Providern wie die Speicherung von Benutzerdaten in Datenbanken oder XML-Dateien kann das System auch durch eigene Provider erweitert werden.
Grundsätzlich ist das System ähnlich wie die JAAS-API aus der Java-Welt oder den "Plugable Authentication Module" aus der Unix-Welt.

Die E-Commerce-Software Microsoft Commerce Server 2007 stellt standardmäßig schon einen MembershipProvider für ASP.NET 2.0 zur Verfügung.
Es fehlt aber eine Möglichkeit Rolleninformationen von Benutzern im Commerce Server dem ASP.NET Rollensystem bekannt zu machen.
(Die Trennung von Benutzerinformation-Datenquelle und Rolleninformation-Datenquelle in UserProvider und RoleProvider halte ich für einen der großen Vorteil des Microsoft-Prinzips)

Jeff Lynch hat in seinem Blog auf CodeBetter.com einen Role-Provider vorgestellt, der das Profile-System des Commerce Servers mit ASP.NET verbindet.
Es ist eigentlich so einfach, dass es einen doch wundert, dass der Membership-Provider bei CS 2007 mitgeliefert wird, aber der Role-Provider nicht.

Thursday, November 23, 2006

Achtung: Schriftliche Anmeldung zu Prüfungen auch in der Informatik notwendig

Ich habe es bisher auch nicht mitbekommen, deshalb hier noch einmal:

Für Prüfungen nach DPO4 und Informatik(Master) sind seit diesem Semester schriftliche Anmeldungen beim Prüfungsekretariat im Zeitraum vom 4. Dezember bis zum 15. Dezember notwendig.
Zu Bachelor-Veranstaltungen muss man sich im gleichen Zeitraum über das Online-Tool LSF anmelden. (Quelle/Details)

Dieses Vorgehen ist seit langen von den Wirtschaftsinformatikern bekannt und ich habe es immer als einen großen Vorteil empfunden, dass in der Informatik die Anmeldung in der Hand der Dozenten lag.

Im Grunde bedeutet die Regelung nur noch mehr Bürokratie, noch mehr Stress mit sehr regulierenden Verordnungen und noch weniger "Freiheit des Lernen". Und auf Grund der reduzierten Flexibilität in der Tendenz eine höhere Studiendauer ohne das damit inhaltliche Verbesserungen einher gehen.

Bachelorarbeit - Download

Meine Bachelorarbeit, die ich während dem Sommersemster 2006, geschrieben habe, ist nun (nachdem die Ergebnisse da sind) zum Download verfügbar.

Der Titel der Arbeit ist "Kategorisierung und Erfassung von
Testwerkzeugen in einer generischen web-basierten Applikation" und wurde im "Software Quality Lab" der Universität Paderborn bei Prof. Engels geschrieben.

Downloads:

Bis auf dem "Some Rights Reserved"-Hinweis handelt es sich um genau den Text den ich abgegeben habe. Im Abschnitt "Errata" weise auf nachträlich gefundene Fehler hin.

Lizenz:
Im Gegensatz zu den anderen Artikel auf dirkmeister.de ist diese Arbeit nicht unter der Creative Commons-ShareAlike-Lizenz veröffentlicht sondern unter der "Creative
Commons Attribution-NonCommercial-NonDerivs 2.0 Germany"-Lizenz
.
Details zu der Lizenz sind in der Titelei der Arbeit verfügbar oder direkt auf der Webseite der Creative Commons.

Danksagungen:
Diese Arbeit wäre ohne die Unterstützung von vielen Personen nicht möglich gewesen. Besonders hervorheben möchte ich Baris Güldali, meinen Betreuer vom s-lab. Sowie meine Eltern und Marcel M., die meine Rechtschreibfehler ertragen mussten und geholfen habe sie zu minimieren.

Errata:

  • Seite 15: In dem Klassendiagramm hat sich ein Fehler eingeschlichen. Die Kardinalität zwischen Werkzeugklasse und der Katalogdefinition ist "* zu 1″ und nicht "1 zu 1″. In der Präsentation ist der Fehler bereits behoben.

The Rhine Paradox: a great example of how not to conduct scientific research.

The Rhine Paradox: a great example of how not to conduct scientific research.
Joseph Rhine was a parapsychologist in the 1950’s who hypothesized that some
people had Extra-Sensory Perception.

He devised (something like) an experiment where subjects were asked to
guess 10 hidden cards — red or blue. He discovered that almost 1 in 1000 had
ESP — they were able to get all 10 right!

He told these people they had ESP and called them in for another test of the
same type. Alas, he discovered that almost all of them had lost their ESP.

What did he conclude?

He concluded that you shouldn’t tell people they have ESP; it causes them to lose it.

(aus "Data Mining")

Tuesday, November 21, 2006

High-Performance-Computing on Mac OS X

Die Webseite "High-Performance-Computing on Mac OS X" bietet eine gute Übersicht über verschiedene Mac OS X-bezogene Tools für HPC.

Dies umfasst Themen von OpenMP-GCC-Compiler für Mac, Open-Source-MPI-Bibliotheken bis zu Informationen zu Apples XGrid-Software.

Aber es gibt auch Informationen zur AltiVec-Technologie in den G4- und G5-Prozessoren. Stark vereinfacht: Eine Art PowerPC-Version der SEE (Streaming SIMD Extensions).

Die Informationen kann ich im Moment gut gebrauchen, da der PC^2-Cluster gewartet wird und ich so meine Hausaufgaben (Jacobi-Folge per MPI) nicht machen kann.
Die MPI-Implementierung LAM kam mir dann genau richtig.

Thursday, November 16, 2006

Mein ganz persönliches Hochschulfreiheitsgesetz

Auf meinem politischen Blog julitopia.de habe ich einen Beitrag über die Bürokratie bei der Vergabe von SHK-Stellen geschieben.

Da es auch für dirkmeister.de-Leser interessant sein könnte, hier in voller Länge:

Das Hochschulfreiheitsgesetz in NRW hat das Ziel die Universitäten von gängelnden landesweiten Regelungen zu entlasten und einen besseren Wettbewerb zwischen den Hochschulen hauptsächlich im Bereich der Forschung ermöglich. Insbesondere soll die Transformation von Erfindungen und Forschungsergebnissen in Innovationen vereinfacht werden, wie es immer so schön heisst.
Ohne an dieser Stelle ins Detail gehen zu wollen: Zu 90% finde ich das Gesetz gut, über die 10% wird man z.B. am 28.11 im LAK Bildung sprechen müssen.
Ich als Student und mehrfacher Tutor bin natürlich besonders von der Bürokratie bei der SHK-Stellenvergabe betroffen.

Im Moment ist es ein unendlich erscheinender Kampf eine SHK-Stelle an der Uni zu bekommen. Nicht, dass man mich falsch versteht: Es ist keineswegs schwer ein SHK-Angebot von einer Fachgruppe zu bekommen, aber die Formalien sind ungemein umfangreich. 4 Kopien von Formular x, 3 Kopien von Formular y, ...
Aber nicht nur der Papierumfang ist erdrückend auch die Regelungen:

Man darf dies nicht, man darf das nicht. Man darf im Semester nicht mehr als 19 Stunden arbeiten, man darf nicht vor dem fünften Semester arbeiten, man darf kein abgeschlossenes (Bachelor-)Studium haben,....

Sobald man nicht der "Normalstudent" ist, wird es kompliziert. Wenn man zu schnell studiert, wenn man in den Semesterferien arbeitet um sich sein Studium zu finanzieren,...
Diese Regelungen sind in meinen Augen absoluter Blödsinn. Wenn ich als Arbeitnehmer weiß, dass ich die Aufgaben erfüllen kann ohne meine Vorlesungen zu vernachlässigen und wenn eine Fachgruppe meint, dass man für eine Aufgabe qualifiziert ist, dann sollte das doch wohl reichen.
Diese Hochschulbürokratie schafft es immer wieder die Leistungswilligen zu bestrafen. Aber das scheint ja nicht nur ein Problem innerhalb der Hochschule zu sein....
Meine ganz persönliche Anforderung an der Hochschulfreiheitsgesetz ist es, dass diese umfangreichen Vorschriften zu SHKs abgeschafft werden und einfache, transparente Regelungen an der Universität geschaffen werden, so dass die Studenten, die neben dem Studium auch in die Forschung gucken wollen, dies auch als Studentische Hilfskräfte tun können.

Die 19 Stundenregelung, das Arbeitsverbot in den ersten vier Semestern, das Arbeitsverbot bei mehrfach verlängerten SHK-Tätigkeiten müssen abgeschafft werden.
Schafft das Hochschulfreiheitsgesetz dies? Ich glaube nicht, dafür liegt der Fokus auf ganz anderen Themengebieten. Eine Entbürokratisierung würde diesem Bereich aber gut tun.

Tuesday, November 07, 2006

Happy Birthday, Eclipse

"Eclipse" wurde gestern fünf Jahre alt.

Am 7. November 2001 gab IBM den Quellcode von Eclipse als Nachfolger der IBM-Entwicklungsumgebung "Visual Age for Java" frei (Pressemeldung).
Eclipse hat sich nach und nach von einer Entwicklungsumgebung für Java zu einer Plattform für Entwicklungswerkzeuge entwickelt und ab dem Release 3.0 wurde es zu einer Open-Source-Platform für Werkzeuge zur Unterstützung des gesamten Softwarelebenszyklusses. Mit der "Rich Client Platform" lassen sich auf Basis von Eclipse auch andere Arten von Anwendungen entwickeln.

Auf birthday.eclipse.org kann man gratulieren.

Tuesday, October 17, 2006

Das neue Semester hat begonnen.

Das neue Semester hat begonnen. Das erste Semester als Masterstudent.
Es sieht doch anders aus als ich ursprünglich vermutet habe. Dies hat zum einen darin seinen Grund, dass viele interessante Veranstaltungen zeitliche Überschneidungen haben (Beispiel Mobilkommunikation und Webmodellierung). Zum anderen hat Prof. Kao leider einen Ruf einer anderen Universität angenommen und all seine Veranstaltungen entfallen ersatzlos.

Was habe ich mir vorgenommen:


Operations Research A
Die Vorlesung "Lineare Programmierung" aus dem Wirtschaftsinformatikmodul "Operations Research A" ist meine letzte Veranstaltung im Nebenfach.
Während ich von der komplementären Veranstaltung "Operations Research II" im letzten Semester sehr enttäuscht gewesen bin (in meinen Augen eine der schlechtesten Vorlesungen, die ich bisher besucht habe) macht ORA-LP nach der ersten Vorlesung einen sehr guten Eindruck.

Semantics of Programming Languages
"Semantik von Programmiersprachen" vervollständigt mein Softwaretechnik-Modul und wird auf der Homepage der Veranstaltung wie folgt beschrieben:

The semantics of a programming language assigns a meaning to each syntactically correct program of this language; this could, for example, be the mathematical function that is calculated by the program. This course introduces different techniques and methods for defining and analysing the semantics of programming languages. These techniques include inductive definitions and inductive proofs as well as fixed-point theory. Based on these techniques the course presents operational, denotational and axiomatic semantics for programming languages and the relation between them.

Bisher hatte ich noch nie eine Vorlesung bei Dr. Kindler, aber so wie man hört wird es für eine Softwaretechnikveranstaltung ungewöhnlich theoretisch. Aber dagegen ist ja nicht im geringsten etwas einzuwenden.

Architektur paralleler Rechnersysteme
Die Vorlesung "Architektur paralleler Rechnersysteme" wird nicht von einem Prof. der Uni Paderborn gehalten, sondern von einem Mitarbeiter des PC^2, den Paderborner Zentrum für paralleles Rechnen.
Die Veranstaltung ist relativ unbekannt, da sich nicht auf der Lehrveranstaltungsliste des Institutes zu finden ist.

Leistungsbewertung und Simulation
"Leistungsbewertung und Simulation" bei Prof. Karl vervollständigt das Mastermodul .
Auf der Homepage der Veranstaltung wird die Vorlesung zusammen gefasst mit:

Diese Veranstaltung beschäftigt sich mit der Frage, wie Systeme durch Simulation abgebildet und untersucht werden können. Dabei konzentriert sich die Veranstaltung auf Systeme, die durch diskrete Zustände beschrieben werden können, wobei die Zustände zu beliebigen Zeitpunkten gewechselt werden können; insbesondere lassen sich Kommunikationssysteme und deren Protokolle einfach durch solche Systemmodelle beschreiben (diese Veranstaltung ist nicht speziell der Simulation von Kommunikationssystemen gewidmet, allerdings werden solche Systeme teilweise als Beispiel benutzt). Die Simulation solcher Systeme wird "Discrete Event Simulation"genannt. Die Untersuchung solcher Systeme ist im allgemeinen eine Bewertung der Leistung des Systems, wobei die Leistungsmetriken jeweils vom konkreten Einzelfall abhängen.

Vorlesungen von Prof. Karl sind immer anspruchsvoll und sie sind immer gut. Schon die Auslistungen auf der Homepage versprechen eine gute Vorlesung.
Ich würde mir wünschen, dass die FG Karl sich auf Grund des Wegganges von Prof. Kao dem gesamten Themenbereich "Verteilte Systeme" zuwendet (und nicht "nur" die Einführungsveranstaltung im Bachelorstudiengang übernimmt).

Aber solange niemand wieder Vorlesungen über Verteilte Systeme im Master macht, wird "Leistungsbewertung und Simulation" wohl eine gute Wahl werden.

Webmodellierung
Web-Modellierung ist für mich die erste Veranstaltung in einem Modul aus dem Bereich "Mensch-Maschine-Wechselwirkung". Diese Vorlesung war ursprünglich nicht geplant und wurde nachträlich in das Programm genommen. Ich habe bei Gelegenheit schon angesprochen, dass in diesem Semester das Programm in dem Bereich etwas dünn ist und deshalb ist dies eine Entscheidung, die ich unterstütze.
In der Vorlesung werden mehrere Ansätze zur Modellierung von Web-Anwendungen vorgestellt. Mit dem Ansatz "UML-based Webengineering"(UWE) habe ich schon im Rahmen meiner Bachelorarbeit zu tun gehabt.

Algorithmen in synch. Netzen
"Algorithmen in synch. Netzen" ist in diesem Semester, die einzige Veranstaltung aus dem Bereich "Modelle und Algorithmen" die ich belege.
In dem Skript zur Vorlesung heisst es:

Die Vorlesung führt in konkrete Parallelrechnertopologien und ihre Algorithmik ein. Sie soll damit neben "Parallele Algorithmen I" einen weiteren Einblick in die Welt der Parallelverarbeitung geben, welche eine der großen Zukunftstechnologien darstellt.

Die dazu gehörige Veranstaltung im Bachelorstudiengang habe ich jetzt nicht gehört, aber ich bin sicher, dass es trotzdem klappen wird.

Schule im demokratischen Rechtsstaat
Ja, mein Hobby....
"Schule im demokratischen Rechtsstaat" ist ein Seminar (oder Vorlesung, die Angaben sind da nicht eindeutig) der kleinen politischen Abteilung an der Universität Paderborn, die hauptsächlich für die Ausbildung von Politiklehrkräften zuständig ist.

Ich belege die Veranstaltung im Rahmen des Studium Generale.

Englisch
Ebenfalls im Studium Generale belege ich die Veranstaltung "Englisch for students of computer science".
Auf der Homepage heisst es dazu:

This is a Blended Learning course which focuses on speaking, listening comprehension, reading, writing, and grammar exercises. Speaking exercises will be based on class discussions on predetermined articles as well as presentations. Listening comprehension exercises through videos and other multimedia. Reading will be of articles from English language magazine/newspaper sources. Grammar exercises will be completed and graded on-line, with exercises given for higher level grammar topics.

Klingt etwas wie ein TOEFL-Test in Vorlesungsform.

Insgesamt sind dies genau 30 ECTS-Punkte, also genau so viel wie ein Student pro Semester belegen sollte.

Bachelor of Science

Das Prüfungssekretariat hat mir heute ein Papier unter anderem mit folgendem Text gegeben:

Damit wird ihm [Dirk Meister] der akademische Grad "Bachelor of Science" verliehen.

Vier Semester Bachelorstudium sind damit beendet.

Kompensation von Leistungen

Die Kompensation von Leistungen ist nach meinem Verständnis, die Möglichkeit für Studenten einmal eine Prüfung im Wahlpflichtbereich aus der Wertung zu nehmen, wenn dafür eine andere Prüfungsleistung im gleichen Modul eingesetzt wird.
Kurz: Wenn ein Student in einem Modul drei anstatt zwei Prüfungen erbracht habe, dann kann der Student wählen welche Prüfungen angerechnet werden.


In der Bachelorprüfungsordnung in Paderborn wird dies in §8(1) mit den Worten festgelegt:

Eine einer Wahlpflichtveranstaltung innerhalb eines Katalogs zugeordnete Teilprüfung ist kompensierbar. Dies bedeutet, dass innerhalb eines Veranstaltungskatalogs einmalig eine Teilprüfung, auch wenn sie endgültig nicht bestanden ist, ohne formale Nachteile durch einen Wechsel zu einer anderen Veranstaltung desselben Katalogs ersetzt werden kann.

Aber offensichtlich scheint dies nicht so eindeutig zu sein.
Das Prüfungssek. hat mir eben gesagt, dass man meinen Antrag auf Kompensation prüfen muss und sie nicht sicher sind, ob sie das genehmigen können.
Ich wäre auch der erste Student, der dieses Recht nutzen möchte. Aber das wundert mich eigentlich sehr.
Hat jemand von meinen Lesern Erfahrung mit dem Kompensation von Leistungen im Bachelorstudiengang Informatik? Teilt ihr mein Verständnis der Bedeutung der "Kompensation"?

Monday, September 25, 2006

Java kann keine Listen?

Martin Eisenhardt vom Blog node-0 verzweifelt an seinen Studenten, die überzeugt sind "Java kann keine Listen".

Nach einigen Hin und Her und natürlich den Verweis auf die Collections-Klassen folgt der Student A zum letzten und alles entscheidenen Argument aus:

M wird es langsam zu bunt. Er setzt ein Lächeln auf. Seine Stimme ist listig.

M: äh, erklär mir noch einmal, warum Du so sicher bist, dass es in Java keine Listen gibt?

A baut sich auf und schaut triumphierend, als er zum entscheidenden Schlag ausholt.

A: Weil wir in der Übung zu Algorithmen und Datenstrukturen die verkettete Liste selbst programmieren mussten!

M zweifelt kurz an der Welt, entscheidet dann aber, dass es halt solche und solche Studierende gibt, aber eben mehr solche als solche. :-D

Das Problem kenne ich noch aus der Zeit als ich "Grundlagen der Programmierung"-Tutor gewesen bin.

Datenstrukturen selbst entwickeln ist wichtig, aber wenn die API-Klassen nicht erwähnt werden, dann existieren sie auch für einen Teil(!) der Studenten nicht. Wir haben damals auch einige wichtige API-Klassen behandelt und auch versucht darzustellen, dass die Java-API eine Schatzkammer ist die man nutzen kann/sollte. Zumindest wenn es nicht explizit angegeben wurde z.B. wenn es Sinn der Übung gewesen ist, dass die Implementierung von bestimmten Strukturen geübt werden sollte.

Einige Studenten sind aber irgendwie nicht damit klar gekommen, eine verkettete Liste selbst entwickeln sollen, wenn es LinkedList doch schon fertig gibt.

Das erinnert mich auch an Leute (nicht von der Uni) die meinen C wäre deshalb eine schlechte Sprache, weil es keine vordefinierten Funktionen im Sprachumfang gibt.

Bachelorveranstaltungen im Studium Generale des Masterstudienganges

Das Studium Generale in den Informatikstudiengängen an der Universität Paderborn dient unter anderem dem Schließen von Wissenslücken.

Schon vor einigen Monaten wurde in diesem Blog kritisiert, dass die Universität Regeln aufgestellt hat, die genau dies effektiv verhindern:

"Regelung zum Übergang vom Bachelor- in den Masterstudiengang
(26.11.2004)
...
Veranstaltungen des Masterstudiengangs sind im Rahmen des Studium
Generale im Bachelorstudiengang nicht anrechenbar. Umgekehrt sind
Veranstaltungen des Bachelorstudiengangs im Masterstudiengang generell
(aber speziell auch im Rahmen des Studium Generale des
Masterstudiengangs) nicht anrechenbar."

Doch wie so oft an der Universität Paderborn sind die Regeln härter formuliert als die eigentlich gemeint sind.


Aus oft gut informierter Quelle (;-) ) weiß ich, dass es nur nicht erlaubt ist schon im Bachelorstudiengang regulär absolvierte Veranstaltungen im Master als Studium Generale anzurechnen. Veranstaltungen aus dem Katalog des Bachelorstudienganges über die regulär besuchten Veranstaltungen dürfen als Studum Generale besucht werden.

Eine solche Regelung ist natürlich ohne Zweifel sinnvoll. Wenn ich schon im Bachelorstudiengang besuchte Veranstaltungen als Studium Generale im Master anrechnenlassen könnte, dann würde niemand Studium Generale machen.

Der veröffentlichte Text zu den Übergangsregeln sagt aber nicht wirklich aus, was gemeint ist.

Hoffentlich wird der Text möglichst bald geändert und so angepasst, dass Klarheit besteht, was erlaubt ist und was nicht. Dies mag gerade deshalb wichtig sein, weil das Prüfungsekretariat 100%ig dem Wortlaut von Regeln folgt. Das ist auch ohne Zweifel richtig, aber dann sollten die Regeln auch sinnvoll sein.

Ich werde auf jeden Fall von der neuen Möglichkeit Gebrauch machen. Einige Veranstaltungen des Bachelorstudienganges z.B. die "Compilerbau"-Veranstaltung von Prof. Kastens möchte ich auf jeden Fall belegen, aber ich habe es im Bachelorstudiengang nicht geschafft.

Disclaimer: Auch wenn ich nicht glaube, dass Probleme auftreten werden: Alle Angaben ohne Gewähr. Bevor man Veranstaltungen aus dem Katalog des Bachelorstudienganges im Studium Generale des Master verwendet, sollte man sich bei den Verantwortlichen rückversichern. Dies würde dann vielleicht auch einen Druck erzeugen, die veröffentlichte Formulierung anzupassen.

Wednesday, September 13, 2006

Ich habe es geschafft!

Die Bachelorarbeit ist abgegeben, die Verteidigung durchgeführt. Und ehrlich: Das Wort "Verteidigung" passt. Es waren echte gute Fragen dabei.

Dies bedeutet: Ich bin fertig mit dem Bachelorstudiengang Informatik an der Universität Paderborn und warte nur noch auf die Note der Arbeit und die Endnote.

Die Arbeit und den Vortrag werde ich in Kürze in diesem Blog veröffentlichen.

Monday, September 11, 2006

Verteidigung meiner Bachelorarbeit

Am 13. September 2006, also diesen Mittwoch, verteidige ich im Raum E4.301 der Universität Paderborn meine Bachelorarbeit.

Der Titel lautet "Kategorisierung und Erfassung von Testwerkzeugen in einer generischen web-basierten Applikation". Die Aufgabestellung der Bachelorarbeit war:

Kategorisierung und Erfassung von Testwerkzeugen in einer generischen web-basierten Applikation Motivation Bei der Softwareentwicklung spielt "€žTesten" eine wichtige Rolle. In unterschiedlichen Phasen der Softwareentwicklung finden Testaktivitäten statt, deren Kosten die eigentlichen Entwicklungskosten mehrfach übersteigen können. Zur Reduzierung der Testkosten werden die Testvorgänge durch Werkzeuge unterstützt, z.B. für Automatisierung, Verwaltung, Dokumentation. Die Vielzahl von verfügbaren Testwerkzeugen macht es häufig schwer, die richtigen Testwerkzeuge für die eigenen Zwecke auszuwählen. Um den Auswahlprozess zu unterstützen, wird ein Kategorisierungswerkzeug für die vorhandenen Testwerkzeuge benötigt, das die Erfassung und die Suche von Testwerkzeugen ermöglicht.

Ziele In dieser Bachelorarbeit soll ein solches Werkzeug konzipiert und realisiert werden. Dabei kristallisieren sich die folgenden zwei Teilaufgaben heraus: 1. theoretischer Teil: Untersuchung der Literatur, existierender Klassifikationsschemata und der vorhandenen Werkzeuge zur Festlegung der Kategorisierungskriterien für Testwerkzeuge; Modellierung eines generischen web-basierten Kategorisierungswerkzeugs mit UML-Erweiterung "€žUWE" (UML-based Web Engineering) 2. praktischer Teil: Realisierung des web-basierten Kategorisierungswerkzeugs. Für diese Teilaufgabe kann eine vorhandene Applikation angepasst oder eine neue Applikation entwickelt werden. Besonderer Schwerpunkt bei der Erstellung dieses Werkzeuges ist die zukünftige Erweiterbarkeit der Kategorisierungsfunktion über eine Administrationsschnittstelle für weitere Kategorisierungskriterien und Werkzeugfamilien. Student: Dirk Meister Betreuer: Gregor Engels, Baris Güldali

Alle Interessierten sind herzlich eingeladen.

Die Bachelorarbeit selbst habe ich schon letzten Dienstag abgegeben, so das dies der letzte Schritt zum (ersten) Abschluss ist.

Auf das falsche Pferd gesetzt: Softwarequalitätssicherung

Vor ein paar Tagen musste ich festschreiben, welchem Master-Modul die Vorlesung "Modelchecking" zugeordnet werden soll. Man könnte wählen entweder "III.1.1 Softwaretechnik" oder "III.1.3 Semantik und Verifikation".

Ich habe mir für III.1.1 entschieden, da ich das Modul im nächsten Semester mit "Softwarequalitätssicherung" abschließen wollte. Heute wurde die Veranstaltung abgesagt, weil Jun-Prof. Giese für ein Jahr Vertretung am Hasso-Plattner-Institut macht.

Schnell mal in die Statisik geguckt: Softwarequalität war die einzige Veranstaltung in dem Modul.
Da kann man nur sagen: Auf das falsche Pferd gesetzt.

Hoffentlich kann man da mit dem Prüfungssekretariat reden und das Modul noch ändern.

Wednesday, September 06, 2006

Google CodeJam Qualifikationsrunde

Gestern war die Qualifikationsrunde des Programmierwettbewerbes Google CodeJam. Bei dem Wettbewerb werden kleine, aber feine Programmieraufgaben gestellt, die mit einer der Programmiersprachen C++, Java, Python, C# gelöst werden müssen. Bei der Qualifikationsrunde mussten zwei Probleme gelöst werden. Ein einfacherer Problem (mit 250 Punkte) und ein komplexeres Problem mit 750 Punkte. In dieser Runde wird das Feld (irgendwo habe ich etwas von ca. 50000 Teilnehmern gelesen) auf 1000 Teilnehmer zusammen gestaucht.

Ich war dabei. Leider kann man die Betonung auf "war" legen. Es hat total Spa߸ gemacht und im nächsten Jahr bin ich (besser trainiert und vorbereitet) wieder dabei. Die Zeit hat diesmal einfach nicht gereicht. Man hat 60 Minuten Codierzeit. Ich habe gedacht, dies wäre pro Problem und nicht für beide. Die Formulierung in der Anteilung war da in meinen Augen etwas undeutlich. Dort stand das man 60 Minuten Zeit hat, sobald man das Problem geöffnet hat. Es heisst dort auch:

You may have all problems open at the same time - but keep in mind that the timers for each problem will be counting down independent of other problems that may be open.
Also unabhägige Timer. Da stimmt wohl die Beschreibung nicht mehr ganz. Aber egal.

Die Entwicklungsumgebung ist schon ziemlich beschränkt: Kein Cut-and-Paste, kaum Syntaxchecks, etc. Im Grunde wie der Windows Editor (ohne Kopierfunktion) und javac. Mir als Eclipse verwöhnten Entwickler ist es wirklich schwergefallen, damit zu arbeiten.

Insgesamt haben mich die Probleme (die beiden Probleme aus dem Wettbewerb sowie die drei Übungsprobleme) sehr an die Veranstaltung "Methoden des Algorithmenentwurfes" bei Ulf-Peter Schröder erinnert. Alle Aufgaben war nichts, was Ulf-Peter auch nicht an einem guten Tag als Hausaufgabe gestellt hätte. So war eine Übungsaufgabe im Grunde nur ein Max-Flow-Problem mit Knotenbeschränkungen. Aber man sollte auch die Schwierigkeit nicht vergessen, die Idee und den Algorithmusansatz auch in einer Programmiersprache sauber zu programmieren. Dies macht man in "Algorithmenentwurf" typischerweise nicht.

Wednesday, August 30, 2006

Artikel: Smarter ASP.NET File Downloading

Ich gebe es ja zu: Ich finanziere mein Studium mit .NET-Entwicklung.

Und wenn ich das schon dabei bin, dann kann ich gleich auch noch den Artikel "Build Smarter ASP.NET File Downloading Into Your Web Applications" aus der September-Ausgabe des MSDN-Magazines empfehlen.

Es werden verschiedene Methoden erklärt wie man Dateidownloads aus ASP.NET-Anwendungen für den Benutzer komfortabler macht.

In this article I’ll present some solutions to these problems so your users will have a faster, error-free downloading experience. Along the way I’ll discuss dynamically generated links, explain how to bypass default file behaviors, and illustrate resumable ASP.NET-driven downloads using HTTP 1.1 features.

Neben so Standarddingen wie das Umstellen des Content-Types wird auch dargestellt wie man das Wiederaufsetzen von abgebrochenen Download unterstützen kann. (HTTP 1.1 mit Accept-Ranges und ETag).
Ãœbrigens ist es dann auch möglich PDF-Dateien noch während des Ladens anzuzeigen.

Wer über ASP.Net-Anwendungen Dateidownloads anbietet besonders wenn es sich um große Dateien handelt, sollte sich den Artikel auf jeden Fall ansehen.

Die grundlegenden Methoden funktionieren auch bei der Java-Webentwicklung. Nur die Implementierung wird sich unterscheiden.

Monday, August 14, 2006

Kao geht an die TU Berlin

Bisher habe ich es immer nur als Gerücht gehört: Prof. Kao geht an die TU Berlin.
Dies wird mit dem Datum vom 12.8 auf seiner Homepage angegeben.

Wie geht es mit den "Verteilten Systemen" in Paderborn weiter?
Was passiert mit den Veranstaltungen, die für das nächste Semster angegeben wurden? Werden die vertretungsweise von Mitarbeitern des PC2 gehalten?

Wednesday, July 19, 2006

Vortrag in "Operations Research "

Gestern hat meine Gruppe die Präsentation "Simulated Annealing im MDVS"(PDF, 6MB) für die Vorlesung "Operations Research "(Wirtschaftsinformatik) gehalten.

Die Präsentation beschreibt unsere Implementierung der Meta-Heuristik "Simulated Annealing" auf das "Multi-Depot Mulit-Vehicle-Type Scheduling Problem" (kurz: Planung von Bustouren im öffentlichen Nahverkehr). Es basiert auf dem Paper "N. Kliewer, T. Mellouli, L. Suhl, A time-space network based exact optimization model for multi-depot bus scheduling, DSOR Lab, University Paderborn". Außerdem enthält die Ergebnisse unserer Implementierung auf eine Problemeinstanz. Dabei haben wir den Algorithmus 3400 mal aufgerufen, so das wir (für die Probleminstanz) eine relativ gute Datengrundlage für eine statistische Analyse einer Parameter haben. Dabei haben wir herausgefunden, dass bei der Instanz eine niedrige Initialtemperatur, eine langsame Abkühlung und eine kleine Nachbarschaft die besten Ergebnisse liefert.

Friday, July 14, 2006

Übersicht über Latex Beamer Themes

In der Gallery des Blogs "Mikeweb" befindet sich eine gute Übersicht über verschiedene Theme/Vorlagen für Latex Beamer, dem bekannten Modul von Latex zur Erstellung von Präsentationen.
Wer Latex Beamer verwenden möchte, hat oft das Problem, dass man nicht weiß welche Themes möglich sind und wie sie aussehen. Dies ist deshalb so wichtig, weil es extrem kompliziert ist, ein Theme selbst zu erstellen oder größere Änderungen vorzunehmen.

Auf der Webseite sind 27 verschiedene Themes abgebildet. Da sollte also genug Auswahl für verschiedene Bedürfnisse sein.

Tuesday, July 11, 2006

Es bewegt sich etwas

Nachdem gestern die aus meiner Sicht nicht so berauschenden Projektgruppen vorgestellt wurden, gibt es heute eine gute Nachricht.

Prof. Domik, Professorin für grafische Datenverarbeitung, fragt in einer E-Mail an alle Studenten auf der grafik-Mailingliste, welche Bedürfnisse die Studenten im Modul III.4.1 für das nächste Semester haben.

Sie fragt, ob ein Seminar notwendig sei, ob eine Vorlesung notwendig und ob es wichtig sei, ob die Veranstaltung auf deutsch oder auf englisch gehalten werden soll.

Für eine Vorlesung muss ich noch die Ressourcen mit dem Institut absprechen, da derzeit kein Mitarbeiter / kein Pool dafür vorgesehen sind. Allerdings ist es in meinem 100%igen Interesse, dass jeder, der dieses Modul begonnen hat, es auch zu Ende machen kann.

Das Modul III.4.1 war eines der Module im Bereich MMWW, dass meiner Einschätzung zufolge nur mit einem hohen Risiko studiert werden kann. Aber es ist das einzige im Bereich MMWW, dass überhaupt studierbar ist.

Es bewegt sich also etwas an der Universität.

Wednesday, July 05, 2006

Statistik über die Mastermodule

Schon vor ein paar Tagen habe ich mich in diesem Blog mit dem Vorlesungsverzeichnis für das nächste Semester beschäftigt.

Heute habe ich eine kleine Analyse durchgeführt in wieweit das Institut Informatik den Ankündigungen im Modelhandbuch in Sommersemester 2006 (SS06) und Wintersemester 2006/2006 (WS06/06) nachgekommen ist bzw. nachkommen wird.

Es ist aus Sicht der Masterstudenten bestimmt keine vermessene Anforderung, dass

  • angekündigte Module (nicht Vorlesungen) auch durchgeführt werden sollten.
  • ein Modul innerhalb eines Jahren durchführbar sein sollte.
  • das man ein Masterstudium mit Wahlmöglichkeiten in vier Semestern studieren kann.

Das elektronische Vorlesungsverzeichnis der Fakultät EIM und das aktuelle Modulhandbuch dienten mir dabei als Datengrundlage.

Dabei wurden auch insbesondere die Anzahl der Seminare beobachtet. Nach der Prüfungsordnung für den Masterstudiengang darf ein Student außerhalb seines Vertiefungsgebietes und der Projektgruppe nur ein einziges Seminar im Wahlpflichtbereich besuchen.
Wenn in einzelnen Modulen fast ausschließlich Seminare angeboten werden, können dieses Modul für den Großteil der Studenten nicht besucht werden und stellen damit keine reale Auswahlmöglichkeit dar.
Auf der anderen Seite muß man im Vertiefungsgebiet ein Seminar belegen. Module ohne Seminare stellen deshalb auch ein Problem dar.

Die Liste der Module kann Fehler enthalten. Teilweise sind dies meine Fehler beim Übertragen, teilweise ist das elek. Vorlesungsverzeichnis falsch.
Als "Kommentare" und nicht als unumstößlich Wahrheiten sind meine Kommentare zu jedem Modul zu verstehen.

Liste der Module:

III.1.1 Software-Technik I
SS06
- Modelchecking (MC)
- Seminar: Software Engineering für Softwareintensive System
WS06/07
- Software-Qualität (SQ)

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2 - 3 Veranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 3 (davon 1 Seminar)
Kommentar:
Es wäre schon, wenn noch mehr Veranstaltungen angeboten werden würden, aber immerhin wurde die angekündigte Leistung erbracht.
Dieses Modul kann offensichtlich belegt werden ohne die Befürchtung haben zu müssen, dass man es aus Mangel an Veranstaltungen nicht zu Ende bringen kann.

III.1.2 Software-Technik II
SS06
- Business process modelling and workflow management
WS06/07
- Web-Engineering (WE)

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2 - 3 Veranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 2 (dabei kein Seminar)
Kommentar:
Ankündigung knapp erfüllt. Dabei ist Web-Engineering die Standardvorlesungen, die durchgängig jedes Wintersemester angeboten wird.

III.1.3 Sprachen und Programmiersprachen
SS06
- Compilation Methods
WS06/07
- Skriptsprachen
- Semantics of Programmign Languages

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2 - 3 Veranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 3 (dabei kein Seminar)
Kommentar:
Die angekündigen Veranstaltungen wurden auch angeboten.
Dieses Modul kann offensichtlich belegt werden ohne die Befürchtung haben zu müssen, dass man es aus Mangel an Veranstaltungen nicht zu Ende bringen kann.

III.1.4 Semantik und Verifikation
SS06
- Modelchecking
- Petri nets
- Seminar: Architekturbeschreibungssprachen
WW06/07
- Programmverifikation
- Semantics of Programming Languages
- Seminar: Reduktionstechniken im Model checking

Häufigkeit von Veranstaltungen laut Modelhandbuch: Modelchecking und Semantik, semesterweise und mindestens
eine weitere Veranstaltung pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 6 (davon 2 Seminare)
Kommentar:
Für kein anderes Modul aus dem Bereich Softwaretechnik und Informationssysteme wurden so viele Veranstaltungen angeboten. Vorbildlich!

III.1.5 Datenbanken und Informationssysteme
SS06
- Business process modelling and workflow management
WS06/07
- Web-Engineering
- Seminar: Anfragebearbeitung auf Datenströmen

Häufigkeit von Veranstaltungen laut Modelhandbuch: Keine Angabe
Tatsächliche Häufigkeit im beobachteten Jahr: 3 (davon 1 Seminar)
Kommentar:
Dieses Modul kann offensichtlich belegt werden ohne die Befürchtung haben zu müssen, dass man es aus Mangel an Veranstaltungen nicht zu Ende bringen kann.
Es überrascht mich allerdings, dass kein "Datenbank und Informationssysteme " im Wintersemester angeboten wird.

III.1.6 Data and Knowledge Engineering
SS06
- keine
- Heuristische Suchverfahren (Änderung nach Hinweis)
WS06/07

- Web-Engineering

Häufigkeit von Veranstaltungen laut Modelhandbuch: Keine Angabe
Tatsächliche Häufigkeit im beobachteten Jahr: 1 Veranstaltung
Kommentar:
Nur eine Veranstaltung. Diese Modul sollte man besser nicht in seinen Studiumsplan einkalkulieren.

III.1.7 Wissensbasierte Systeme
SS06
- Heuristische Suchverfahren
- Maschinelles Lernen
- Seminar: Wissensbasierte Systeme
WS06/07
- Maschinelles Lernen
- Seminar: Wissensbasierte Systeme

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2 - 3 Veranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 5 (davon 2 Seminare), aber viele doppelte Veranstaltungen
Kommentar:
Fünf Veranstaltungen stellen ein gutes Angebot an die Studenten dar.
Dabei ist allerdings auffällig, dass zwei Veranstaltungen nur Wiederholungen sind. An realen Auswahlmöglichkeiten reduziert es sich damit auf 3 Veranstaltungen.

III.1.8 Intelligente Systeme
SS06
- keine
- Heuristische Suchverfahren
WS06/07
- keine
- Maschinesses Lernen II

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2 - 3 Veranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 2
Kommentar:
Dieses Modul ist knapp erfüllt. Leider waren die Angaben im Vorlesungsverzeichnis falsch.
III.2.1 Algorithmen I
SS06
- Algorithmen in der Computergrafik
- Heuristische Suchverfahren
- Graphenalgorithmen
- Seminar: Algorithmische Spieltheorie
- Seminar: Struktur selbstorganisierender Netzwerke
WS06/07
- Clustering Algorithmen
- Algorithmische Codierungstheorie I
- Randomisierte Algorithmische Geometrie
- Algorithmische Spieltheorie
- Proseminar: Perlen der Theoretischen Informatik
- Seminar: Verteilte Algorithmen
- Seminar: Perlen der Theoretischen Informatik
- Seminar: Flüsse in Netzwerken

Häufigkeit von Veranstaltungen laut Modelhandbuch: "Dieses Modul wird jedes Jahr angeboten"
Tatsächliche Häufigkeit im beobachteten Jahr: 12 (davon 4 Seminare)
Kommentar:
13 Veranstaltungen sind Rekord. Genug Auswahl für die Studenten. Da wird wohl für jeden etwas dabei sien.

III.2.2 Algorithmen II
SS06
- Algorithmen in der Computergrafik
- Graphenalgorithmen
- Seminar: Algorithmische Spieltheorie
- Seminar: Struktur selbstorganisierender Netzwerke
WS06/07
- Clustering Algorithmen
- Algorithmische Codierungstheorie I
- Randomisierte Algorithmische Geometrie
- Algorithmische Spieltheorie
- Proseminar: Perlen der Theoretischen Informatik
- Seminar: Verteilte Algorithmen
- Seminar: Perlen der Theoretischen Informatik
- Seminar: Flüsse in Netzwerken

Häufigkeit von Veranstaltungen laut Modelhandbuch: "Dieses Modul wird jedes Jahr angeboten"
Tatsächliche Häufigkeit im beobachteten Jahr: 11 (davon 4 Seminare)
Kommentar:
Siehe oben!
Seltsam, dass "Heuristische Suchverfahren" III.2.1 zugeordnet ist und III.2.2. nicht, obwohl beide laut Modulhandbuch identisch sind. Evtl. ein weiterer Fehler im Vorlesungsverzeichnis.

III.2.3 Berechenbarkeit und Komplexität
SS06
- Quantencomputer
WS06/07
- Proseminar: Perlen der Theoretischen Informatik
- Seminar: Perlen der Theoretischen Informatik

Häufigkeit von Veranstaltungen laut Modelhandbuch: "Dieses Modul wird jedes Jahr angeboten"
Tatsächliche Häufigkeit im beobachteten Jahr: 2 (davon 1 Seminare)
Kommentar:
Angebot nur ganz knapp erfüllt. Könnten mehr Veranstaltungen sein.
Angebot knapp erfüllt, da man nicht sowohl das Proseminar als auch das Seminar belegen kann.

III.2.4 Algorithmen in Rechnernetzen
SS06
- Resourcenverwaltung in Rechnernetzen
WS06/07
- Algorithmen für synchrone Rechnernetze
- Proseminar: Perlen der Theoretischen Informatik
- Seminar: Verteilte Algorithmen
- Seminar: Perlen der Theoretischen Informatik

Tatsächliche Häufigkeit im beobachteten Jahr: 4 (davon 2 Seminare)
Kommentar:
Mehr Vorlesungen wären von Vorteil.
Dennoch kann dieses Modul kann belegt werden ohne die Befürchtung haben zu müssen, dass man es aus Mangel an Veranstaltungen nicht zu Ende bringen kann.

III.2.5 Codes und Kryptographie
SS06
- Seminar: Kryptografie
WS06/07
- Algorithmische Codierungstheorie I
- Proseminar: Perlen der Theoretischen Informatik
- Seminar: Perlen der Theoretischen Informatik

Häufigkeit von Veranstaltungen laut Modelhandbuch: "Das Modul wird in unterschiedlichen Auspräungen jedes Jahr angeboten"
Tatsächliche Häufigkeit im beobachteten Jahr: 4 (davon 3 Seminare)
Kommentar:
3/4 Seminare sind zu viel. Für Studenten mit einem anderen Schwerpunkt als MUA wird es kaum möglich sein diese Modul zu belegen.

III.2.6 Optimierung
SS06
- Optimierung II
- Seminar: Algorithmische Spieltheorie
WS06/07
- Algorithmische Spieltheorie
- Proseminar: Perlen der Theoretischen Informatik
- Seminar: Perlen der Theoretischen Informatik

Häufigkeit von Veranstaltungen laut Modelhandbuch: "Dieses Modul wird in der Regel jedes Jahr angeboten"
Tatsächliche Häufigkeit im beobachteten Jahr: 5 (davon 3 Seminare)
Kommentar:
Ebefalls zu viele Seminare. Mir persönlich wäre die Gefahr bei diesem Modul zu hoch, nachher das Modul nicht zu Ende bringen zu können.

III.3.1 Verteilte Rechnersysteme
SS06
- Ad hoc und Sensornetze
WS06/07
- Betriebssysteme
- Leistungsbewertung und Simulation
- Mobilkommunikation
- Architektur paralleler Rechnersysteme
- Seminar: Grid Computing
- Seminar: Kommunikationsnetze

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2-4 Veranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 7 (davon 2 Seminare)
Kommentar:
7 Veranstaltungen mit 2 Seminaren: Vorbildlich!

III.3.2 Systemsoftware
SS06
- keine
WS06/07
- Betriebssysteme
- Architektur paralleler Rechnerssysteme
- Seminar: Grid Computing

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2-4 Veranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 3 (davon 1 Seminar)
Kommentar:
Dieses Modul kann offensichtlich belegt werden ohne die Befürchtung haben zu müssen, dass man es aus Mangel an Veranstaltungen nicht zu Ende bringen kann.
Seltsam ist die Aufteilung der Veranstaltung auf die Semester.

III.3.3 Rechnernetze
SS06
- Ad hoc und Sensornetze
WS06/07
- Leistungsbewertung und Simulation
- Mobilkommunikation
- Seminar: Kommunikationsnetze

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2-4 Veranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 4 (davon 1 Seminar)
Kommentar:
Angebot knapp übererfüllt.
Dieses Modul kann offensichtlich belegt werden ohne die Befürchtung haben zu müssen, dass man es aus Mangel an Veranstaltungen nicht zu Ende bringen kann.

III.3.4 Eingebettete Systeme
SS06
- Algorithms in Manufacturing Systems
- Intelligenz in eingebetteten Systemen
- Real Time Operating Systems
- Seminar: Autonomic/Organic Computing
WS06/07
- Introduction to Real Time Operating Systems
- Algorithms in Manufacturing Systems
- Reconfigurable Computing
- Seminar: Biologically Inspired Algorithms

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2-4 Veranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 8 (davon 2 Seminare)
Kommentar:
Acht Veranstaltungen bieten den Studenten mehr als genug Auswahl.
Dieses Modul kann offensichtlich belegt werden ohne die Befürchtung haben zu müssen, dass man es aus Mangel an Veranstaltungen nicht zu Ende bringen kann.

III.3.5 HW/SW-Codesign
SS06
- keine
WS06/07
- keine

Tatsächliche Häufigkeit im beobachteten Jahr: 0
Kommentar:
Dieses Modul sollte nicht im Studiumsverlaufplan eingeplannt werden. Warnung!

III.3.6 Eingebettete- und Echtzeitsysteme
SS06
- Algorithms in Manufacturing Systems
- Intelligenz in eingebetteten Systemen
- Real Time Operating Systems
- Seminar: Autonomic/Organic Computing
WS06/07
- Introduction to Real Time Operating Systems
- Algorithms in Manufacturing Systems
- Seminar: Biologically Inspired Algorithms
- Seminar: Artifical Immune Systems

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2-4 Veranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 8 (davon 3 Seminare)
Kommentar:
Ein weiteres gut ausgestaltetes ESS-Modul.

III.4.1 Grafische Datenverarbeitung
SS06
- Computer Graphics II
WS06/07
- Seminar: Ausgewählte Themen aus der Computergrafik

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2-3 Katalogveranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 2 (davon 1 Seminar)
Kommentar:
Zwei Veranstaltungen davon ein Seminar sind zu wenig. Bitte nachbessern!

III.4.2 Informatik und Gesellschaft
SS06
- Seminar: Kooperation als Phänomen in Wirtschaft und Informatik
- Seminar: Cooperative knowledge organization
WS06/07
- keine

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2-3 Katalogveranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 2 (davon 2 Seminare)
Kommentar:
2 Veranstaltungen mit zwei Seminaren sind undiskutabel. Dringend nachbessern!

III.4.3 Konzepte digitaler Medien
SS06
- Seminar: Kooperation als Phänomen in Wirtschaft und Informatik
- Seminar: Cooperative knowledge organization
WS06/07
- keine

Häufigkeit von Veranstaltungen laut Modelhandbuch: Basisveranstaltung jedes WW, die weiterführenden Veranstaltungen jedes SS
Tatsächliche Häufigkeit im beobachteten Jahr: 2 (davon 2 Seminare)
Kommentar:
2 Veranstaltungen mit zwei Seminaren sind undiskutabel. Dringend nachbessern!
Wo bitte ist die angekündigte "Basisveranstaltung"?

III.4.4 Computer gestütze kooperative Zusammenarbeit und Lernen
SS06
- Softwareergonomie
- Seminar: Kooperation als Phänomen in Wirtschaft und Informatik
- Seminar: Cooperative knowledge organization
- Seminar: Mobilität in der Gruppenarbeit
WS06/07
- keine

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2 Katalogveranstaltungen pro Jahr im WS und SS
Tatsächliche Häufigkeit im beobachteten Jahr: 4 (davon 3 Seminare)
Kommentar:
Wieder zu viele Seminar.
So stellt es keine gute Wahlmöglichkeit für die Studenten dar.

III.4.5 Entwicklung von Benutzungsschnittstellen
SS06
- keine
WS06/07
- keine

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2-3 Katalogveranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: keine!!!
Kommentar:
Was ist das bitte?
Seltsam für mich ist, dass die Vorlesung "Softwareergonomie" nicht auch diesem Modul zugeordnet ist.
Wieder ein Fehler im Vorlesungsverzeichnis?

III.4.6 Mensch-Maschine-Wechselwirkung
SS06
- Softwareergonomie
WS06/07
- keine

Häufigkeit von Veranstaltungen laut Modelhandbuch: 2-3 Katalogveranstaltungen pro Jahr
Tatsächliche Häufigkeit im beobachteten Jahr: 1!
Kommentar:
Dieses Modul stellt vermutlich ein hohes Risiko für die Studenten dar.
Bitte nachbessern.

III.4.7 Mensch-Computer-Interkation
SS06
- Softwareergonomie
WS06/07
- keine

Häufigkeit von Veranstaltungen laut Modelhandbuch: Basisveranstaltung jedes WW, die weiterführenden Veranstaltungen jedes SS
Tatsächliche Häufigkeit im beobachteten Jahr: 1
Kommentar:
Dieses Modul stellt vermutlich ein hohes Risiko für die Studenten dar.
Bitte nachbessern.

Fazit:
Es zeigen sich sehr deutlich unterschiede zwischen den Modulen und auch zwischen den Fachbereichen.
MUA und ESS scheinen sehr gut ausgestaltet zu sein.
SWT ist in Teilen verbesserungswürdig, bietet dennoch ausreichend Wahlmöglichkeiten

Skandalös ist das Angebot im Bereich "Mensch-Maschine-Wechselwirkung". Im Wintersemester 2006/2007 wird eine einzige Veranstaltung und dann noch ein Seminar angeboten.
Die Universität muss das Angebot in diesem Bereich dringend nachbessern, sonst ist es für Masterstudenten nicht möglich das Studium in Regelstudienzeit abzuschließen.

Binäre Suche einfach zu implementieren?

Binary Search einfach zu implementieren?
Die meisten Informatikstudenten würden dies ohne mit der Wimper zu zucken mit "Ja" beantworten.

Aber wie Joshua Bloch, einer der Chef-Entwickler von Java und nun bei Google, im Research Blog von Google darstellt, sind nahezu alle Implementierungen der binären Suche inkl. der Implementierung in der Java-Klassenbibiothek fehlerhaft.

Der Code im JDK so laut dem Blogeintrag so aus:

1:     public static int binarySearch(int[] a, int key) {
2:         int low = 0;
3:         int high = a.length - 1;
4:
5:         while (low < = high) {
6:             int mid = (low + high) / 2;
7:             int midVal = a[mid];
8:
9:             if (midVal < key)
10:                 low = mid + 1;
11:             else if (midVal > key)
12:                 high = mid - 1;
13:             else
14:                 return mid; // key found
15:         }
16:         return -(low + 1);  // key not found.
17:     }

Das Problem liegt in Zeile 6. Wenn die Summe von low und high größer ist als 2 hoch 31 - 1 wird in Java ein ArrayIndexOutOfBoundsException geworfen. In C und C++ ist das verhalten noch unberechenbarer: Es findet ein Überfluss in eine negative Zahl statt und es wird auf Speicherbereiche vor dem Array zugegriffen.

Boach schlät folgende Verbesserungen vor:

6:             int mid = low + ((high - low) / 2);

Alternative wäre auch folgendes gut, da es klarer und schneller sei:

6:             int mid = (low + high) >>> 1;

Diese Fehler scheint über Jahrzehnte unbemerkt geblieben zu sein. Der Code (low + high) / 2 findet sich in nahezu jedem Lehrbuch. Bloch spricht dabei das Buch "Programming Pearls" an, dass er den Leser trotzdem empfiehlt. Ich habe in jedem Algorithmenbuch, dass ich besitze nachgesehen und überall ist der gleiche Bug zu finden. Corman macht es sich einfach und hat die binäre Suche nur als Übungsaufgabe für die Leser erwähnt.

So lange ein solcher Code nur in Pseudocode angegeben wird und vorher die Annahme vereinbart wurde, dass es keinen begrenzten Wertebereich gibt, mag dies formal in Ordnung sein.
Doch sobald man diesen Pseudocode übersetzt, kommt es zu dem Bug in der Implementierung.

Bloch schließt mit:

It is hard to write even the smallest piece of code correctly, and our whole world runs on big, complex pieces of code.

We programmers need all the help we can get, and we should never assume otherwise. Careful design is great. Testing is great. Formal methods are great. Code reviews are great. Static analysis is great. But none of these things alone are sufficient to eliminate bugs: They will always be with us. A bug can exist for half a century despite our best efforts to exterminate it. We must program carefully, defensively, and remain ever vigilant.

P.S. Implementierungen von Mergesort sowie anderen Divide-and-Conquer-Algorithemen scheinen ebenfalls betroffen zu sein.

Tuesday, July 04, 2006

Skript zu Computergrafik von Prof. Domik

Auf der Homepage des Forschungsgruppe von Prof. Domik ist ein Skript für Computergrafik verfügbar (Copyright 1994 - 1997).

Dort sind dann alle Informationen verfügbar und nicht wie in den Folien der Veranstaltung zu teilen herausgelassen. Die offiziellen Materialien der Vorlesung kann man ja nur als verstümmelt bezeichnen. Die wichtigen Informationen (Algorithmen, etc) sind jeweils nicht vorhanden.

Monday, July 03, 2006

Ich wähle: Liste Naturwissenschaften

Das letzte Jahr Hochschulpolitik an der Universität Paderborn war eine herbe Enttäuschung. Obwohl wenn es mit einem Statement wie "Es ist Zeit für eine linke Politik" anfängt, dann mußte man es eigentlich erwarten.

Gegipfelt ist es vor ein paar Wochen als der amtierende Asta-Vorsitzende (Jusos) durch ein Mißtrauensvotum gestützt wurde und der Gegenkandidat (XLHG) die Wahl anschließend nicht angenommen hat.

Zeitweise wollte ich gar nicht wählen gehen, aber nun glaube ich dass die "Liste Naturwissenschaft" eine gute Wahl sein könnte, obwohl ich selbst kein Naturwissenschaftler bin. Sie sagen im Wahlspezial des Astaluego:

Unser Grundprinzip:
  • Nachhaltigkeit
Unsere Schwerpunkte:
  • Verbesserung der Studienbedingungen
  • Verringerung der finanziellen Belastung für Studenten
  • solide und transparente Haushalts- und Wirtschaftsführung des AStA
  • Aufrechterhaltung und Schutz des kulturellen Lebens an der Uni
Unsere Wahlziele:
  • Wechsel des amtierenden AStA
  • Straffung des gewerblichen Bereiches zur Steigerung der Qualität der Dienstleistungen
  • Kompetenz- und Moralsteigerung im AStA-Bereich
  • Ein sauberes AStA-Hauptbüro
Alles Dinge, die ich voll unterstützen kann. Außerdem sehen die Kandidaten auf den Fotos nicht so aus als würden sie schon 20 Semester studieren. Eigenlich bin ich ja sehr skeptisch, was nicht ideologisch gebundene Gruppen betrifft. Bei einer ideologisch gebunde Gruppe weiß ich wenigstens ungefähr in welche Richtung die hochschulpolitischen Entscheidungen gehen. Dies ist wichtig, weil ich die Fragestellungen und Aufhaben im Stupa als normaler Student kaum überblicken kann. Die Information der Studenten ist ein echtes Problem.

Deshalb ist mein einziger Kritikpunkt an der LNW der erste Satz in der Darstellung im Astaluego.

Die LNW vertritt die Interessen der Studierenden, ohne auf eine parteipolitische Karriere achten zu müssen. Wir stehen unter keinemn politisch-finanziellen Abhängigkeiten.
Ich verstehe nicht wo die finanziellen Abhängigkeiten bestehen. Weder die (offentsichtlich inaktive) liberale Hochschulgruppe noch die XLHG wird wohl Geld von der Partei bekommen. Aus dem Statement spricht einfach eine massive Ablehnung von Politik. Schade und unnötig, aber dennoch kriegt ihr meine Stimme.

Die Jusos sind peinlich wie immer. Die einzigen Themen sind Studiengebühren und das Hochschulfreiheitsgesetz. Mit letzterem würden "lokale Wirtschaftsbosse" die Univeristät übernehmen, heißt es auf einem Plakat.

Wirklich enttäuscht bin ich von der "Exterm Liberalen Hochschulgruppe" (XLHG). Im letzten Dezember hab ich selbst mal überlegt dort beizutreten. Jetzt weiß ich es nicht zu tun, war die richtige Entscheidung.

Mit Sprüchen wie "Zensiert - sonst dreht der Rektor wieder durch", "Studier mit Bier", "Für ein entspanntes Studium" finde ich diese Gruppierung einfach nur noch peinlich.

Wednesday, June 28, 2006

Vorlesungsplanung für nächstes Semester

Gestern wurde das vorläufige Vorlesungsverzeichnis für das nächste Semester online gestellt.
Nach einer ersten Durchsicht sieht es für meine Bedürfnisse echt mies aus.

  1. Das nächste Semester ist mein erstes Semester im Masterstudiengang. Zeit also für eine Projektgruppe.
    Die einzige Projektgruppe im Bereich "Softwaretechnik" ist "Mobile eBay" von Prof. Böttcher. Mal aussen vor, dass ich dort keine Vorlesungen mehr besuchen will, klingt das Thema nicht spannend.

    Mehr gibt es nicht: Nichts von Prof. Engels, nichts von Schäfer und Co.
    In den andereren Bereichen sieht es wenigstens etwas besser aus: Karl bietet eine PG "Sensornetze und mobile Roboter" an und MADH eine PG "Smart Teams".
    Aber die Projektgruppe außerhalb seines Vertiefungsgebietet zu wählen, ist schon mit einigen Nachteilen verbunden.

  2. Im ganzen Bereich "Mensch-Maschine-Wechselwirkung" mit sieben Modulen wird insgesamt nur eine Veranstaltung angeboten. Und dann auch noch ein Seminar im Bereich "Grafische Datenverarbeitung". Ich darf aber insgesamt im Masterstudium nur ein einziges Seminar außerhalb meines Vertiefungsgebietes belegen. Das Seminar deshalb dort zu verschwenden, wäre ziemlich schlecht.
    Das nur eine Veranstaltung angeboten wird, ist meiner Meinung nach ein Fall für die versprochenden Qualitätssicherungmaßnahmen, die mit Studiengebühren eingeführt werden sollten. Da muß von Seiten der Universität mehr kommen.
  3. Insgesamt sieht es nicht gut aus. Wirklich interessante Veranstaltungen muß man mit der Lupe suchen.
    Dabei stellt Modularisierung eine echte Hürde dar.

Ich kann abschließend noch nicht sagen, wie das nächste Semester aussiehen wird. Hoffentlich bessert das Institut da nochmal nach.

Friday, June 16, 2006

Zero Defect Software Development

Randbemerkung:
Das Testwerkzeug LDRA Tool Suite wirbt mit dem Spruch "Zero Defect Software Development".

Ganz schon große Sprüche für ein Testwerkzeug, wenn schon Dijkstra gesagt hat:

Program testing can be used to show the presence of bugs, but never to show their absence!

Thursday, June 08, 2006

Source-Code in LaTeX-Dokumenten

Einen guten Blog-Eintrag, der erklärt wie man gute Source-Code-Listings in LaTex-Dokumenten einbettet, kann man in Jans Technik Blog finden.

Er empfielt das Package listings, das Syntax-Highlighting für zahlreiche aktuelle Sprachen bietet. Das Paket wird auf dieser Seite kurz beschrieben.
Weitere Links:

Sunday, May 28, 2006

Wo war Amnesty die letzten 16 Jahre?

Ich wollte gerade dem Aufruf von Andreas Schäfer von "Für die Freiheit streiten" nachkommen und auf der Seite irrepressible.info für Internetfreiheit (eine Aktion von Amnest International UK) unterschreiben.

Amnesty International hat die Kampagne "Be irrepressible" gestartet, eine Unterschriftenaktion gegen Zensur im Internet. Amnesty International möchte die Liste im November vorlegen, wenn die UN mit Regierungen und Unternehmen aus aller Welt über Internetzensur diskutiert.

Geschockt war ich nur als ich mir die Länderliste auf der Seite zum Unterzeichnen angesehen habe.
Dort steht direkt unter "Germany": "Germany Democratic Republic".
Wo waren AI bitte in den letzten 16 Jahren? Da haben die "auf der Insel" nicht wirklich mitbekommen, was so auf dem europäischen Festland los gewesen ist.

Trotzdem: Die Aktion verdient unsere Unterschützung und ich habe unterschrieben.
Es würde mich freuen, wenn möglichst viele diesem Beispiel folgen würden.

Saturday, May 20, 2006

Filmtipp: Das Leben der Anderen

Der Filmtipp heute ist der deutsche Film "Das Leben der Anderen",(Spoiler-Warnung) der schon seit einigen Wochen in den deutschen Kinos läuft. Aber mit dem Gewinn von 7 "Lolas", dem deutschen Filmpreis, ist der Film wieder präsenter in den Medien geworden.

Der Film handelt von demm Stasi-Offizier Gerd Wiesler, der während einer Überwachung (Operativer Vorgang) des DDR-Schriftsteller Georg Dreyman mit der Zeit Gewissenbisse bekommt.

Unter dem Eindruck dieses Lebens der Anderen weicht Wiesler mehr und mehr von seiner Aufgabe Belastendes über Dreyman zu finden ab, um sich als „Zuhörer" die Welt der Künstler zu erhalten. Er schreibt in seinen Berichten Belangloses und selbst als Dreyman nach dem Freitod eines befreundeten Regisseurs, der in der DDR keine Anstellung mehr bekam, ein Essay über die außergewöhnlich hohe Selbstmordrate in der DDR schreibt und dieses, nachdem er es auf einer ins Land geschmuggelten Minischreibmaschine geschrieben hatte, auf konspirativem Weg dem bundesdeutschen Magazin Der Spiegel zukommen lässt, greift Wiesler nicht ein.

Meiner Meinung nach, genauso bezeichnend für den totalitären Staat DDR als die Hauptgeschichte sind die Randgeschichten, die in dem Film erzählt werden.
Zum Beispiel die (am Ende doch nicht gestellte Frage) "Wie heißt dein Vater?" nachdem sich ein kleiner Junge unwissentlich ausgeplaudert hat, dass der Vater des Jungen die Stasi für Unmenschen hält.
Oder die Szene in der Kantine des MfS als ein junger MfS-Mitarbeiter einen Witz über Honecker erzählt und danach Angst haben muss, dafür zur Rechenschaft gezogen zu werden.

Insgesamt: Ein wirklich sehenswerter Film, der sich wohltuhend von den anderen DDR-Filmen wie Sonnenalle und Co. abhebt.

Thursday, May 11, 2006

Zum fünften Todestag von Douglas Adams

Zum fünften Todestag von Douglas Adams, dem Autors von "Per Anhalter durch die Galaxis", hier einmal meine Lieblingssuche bei Google: "answer to life, the universe, and everything".

Wednesday, April 26, 2006

upb: Informatiker mit Nebenfach WiWi studieren mehr im Studium Generale

Gestern ist mir zum ersten Mal zu Ohren gekommen, dass Ende März eine neue Entscheidung des Fakultätsrates getroffen wurde nach der alle Informatiker (Bachelor) mit dem Nebenfach Wirtschaftswissenschaften mehr Leistungspunkte im Studium Generale erbringen müssen.

Normal sind sechs Punkte, aber alle mit Nebenfach Wiwi müssen 10 Leistungspunkte erbringen. Dies entspricht ein oder zwei Vorlesungen mehr.

Für mich ist diese plötzliche Entscheidung ein riesiges Problem!
Wo kriege ich mitten im Semester auf einmal 4 ECTS Punkte her?
Die Vorlesungen und Seminaren haben doch schon lange angefangen.

Wenn ich die vier Punkte nicht auftreibe, dann darf ich das gesamte nächste Semester nur die eine Veranstaltung im Studium Generale hören. Ich bin dann ein Semester zum Nichtstun verdammt.
Auf Grund der unsinnigen Beschränkungen auf die ich schon hier hingewiesen habe, dürfte ich in dem Semester keine weitere Veranstaltung hören. Ich darf auch keine der Veranstaltungen im Master, die ich schon vorziehe, im Studium Generalle anrechen lassen, um mir dieses Wartesemester zu ersparen.
Über die studentenfeindliche Umstellung des Nebenfaches, die allerdings nach sehr viel Druck nachgebessert worden ist, habe ich mich auch schon mal hier geäußert.

Aber weiterhin die Regeln einseitig zu Lasten der Studenten Regeln zu machen, macht in meinen Augen den Hochschulstandort langfristig kaputt.

In diesem Fall ist die Neuregelung an sich gar nicht so schlimm. Wohl aber die nicht vorhandene Kommunikation der Änderungen und dass damit Studenten, während sie schon ihre Bachelorarbeit schreiben, belastet werden. Eine Email an den Emailverteiler der Informatikstudenten und eine Übergangsfrist von einem Semester hätte die Probleme einfach gelöst.

Wird von den Studenten wirklich verlangt alle Entscheidungen des Fakultätsrates unverzüglich nachzulesen und danach zu handeln oder jede der zig-tausend Webseiten des Institutes tälich nach Änderungen zu durchsuchen?
Wieso wundert sich das Institut Informatik dann eigentlich über eine durchschnittliche Studiendauer von mehr als 14 Semestern?

Informatiker und der Rest der Welt [heute Junge Liberale]

Wie sehr sich der Wortschatz von Technikbegeisterten von dem Rest der Menschheit unterscheidet wurde mir gestern mal wieder richtig deutlich gemacht.

Die Julis im Münsterland haben eine neue Homepage. In der Diskussion über die Homepage im Vorstand wurde von dem schönen Wort "Bug" reichlich Gebrauch gemacht. Es klingt ja auch wesentlich besser als "Programmfehler".

Irgendwann unterbrach ein vor mir sehr geschätzes Vorstandsmitglied mit:

Ist ja alles gut und schön, aber was haben Käfer auf unserer Homepage zu suchen?
Alles erstarte und es war ein deutliches Zeichen das Thema zu wechseln. Ist ist zwar klischeeartig, aber der Person war Bugs als "Programmfehler" total unbekannt. Immerhin haben die Julis MSL gestern ein neues Technikwort gelernt: Podcast. Denn die Julis Zülpich produzieren ihren eigenen Podcast und bieten ihn auf der Homepage oder per iTunes zum Download an.

Wednesday, April 19, 2006

Paper: Vergleich XQuery und XSLT

ÜÂœber "Lambda - Programming Languages Weblog" habe ich ein Paper gefunden, dass die beiden XML-Techniken XQuery und XSLT vergleicht.

Außergewöhnlich bei dem Paper ist, dass der Vergleich nicht nach theoretischen oder technischen Gesichtspunkten erfolgt, sondern nach den Gesichtspunkten wie Benutzbarkeit, Herstellersupport.
Gerade diese oft unterschätzten Punkte spielen im praktischen Einsatz solcher Techniken eine große Rolle.

Ausschnitt aus dem Abstract:

This paper will attempt an objective side-by-side comparison of the two languages: not just from the point of view of technical features, but also looking at usability, vendor support, performance, portability, and other decision factors. Is it true, for example, that XQuery is better for data and XSLT is better for documents? Is one or the other language easier to learn depending on your computing background? As well as trying to answer these questions, the paper will also illustrate how the two languages can interoperate, so that each can be used for the parts of an application where it is most appropriate.

Wednesday, March 01, 2006

Die Linke und die Bürgerrechte

Was kann man von den Betreuerungen der "Linken" halten, dass diese Bürgerrechte hochhalten? Gar nichts.

Spätestens wenn es Sozialisten sind, die Menschenrechte verletzten, dann ist alles wieder ok. In diesem Artikel auf Spiegel Online wird von der linken EP-Abgeordneten Gabi Zimmer berichtet, die für die Kuba-Resolution des Europäischen Paramentes gestimmt habt. In diesem Papier werden die Menschenrechtsverletzungen des sozialistischen Castro-Regimes kritisiert.
Nun bekam sie offensichtlich einen Rüffel aus dem Parteivorstand: Kritik an Kuba entspreche nicht der Parteilinie.
Es überrascht mich überhaupt nicht. Wenn man sich den "Sozialismus" a la Marx anguckt, dann wird klar, dass Menschenrechtsverletzungen elementarer Bestandteil der Ideologie sind.

Im neuen Blog "bissige-liberale.com", dem neuen Blog von Rayson und Boche, schreibt Rayson dazu:

Die Hoffnung der EP-Abgeordneten Gabi Zimmer, die Linkspartei/PDS könnte eine heftige Debatte führen, um die von ihr erkannte Geringschätzung der individuellen Freiheitsrechte endlich zu beenden, ist damit wohl zerplatzt.

Dafür wissen wir, was wir von einer Partei zu halten haben, in der das Eintreten für die Freiheit des Individuums “heftige Debatten” auszulösen in der Lage wäre. Und die Diktatoren zu Vorbildern erklärt.

In dem Bericht der taz, den Rayson in seinem Artikel verlinkt, wird deutlich wie abgedreht die Linken eigentlich sind.

Noch weiter geht die Bundestagsabgeordnete Ulla Jelpke (siehe Kasten), die die EU-Resolution mit dem Ermächtigungsgesetz vergleicht, mit dem die Nazis 1933 ihre Terrorherrschaft sicherten.

(Hervorhebung von mir)

Wednesday, February 15, 2006

Glocke: Kommentar von Andreas Herholz "Richtiger Einsatz"

Am letzten Freitag hat der Mitarbeiter der Lokalzeitung "Die Glocke" einen Kommentar zum Einsatz der Bundeswehr bei der Fußballweltmeisterschaft veröffentlicht.

So heisst es dort:

Wenn Soldaten mit Awacs-Raderflugzeugen wie bei anderen Großveranstaltunegn den Luftraum über Deutschland überwachen, wenn hochqualifizierte ABC-Schutzkräfte bereitstehen und Feldlazarette für den Notfall vorbereitet werden, kann keine Rede davon sein, dass Soldaten als Hilfspolizisten missbraucht werden sollen.
Die Kritik der Opposition im Bundestag kritisiert es als "parteipolitische Profilierung" zurück und die Befürchtungen, dass das "Sportereignis des Jahres als Einfallstor für den Einsatz der Truppe auch im Inneren" verwendet wird seien eine Schreckensvision.

Wenn es bei dem Bundeswehreinsatz bei der Fußball-WM nur um AWACS-Flüge und Sanitätsdienst gehen würde, dann würde es gar keine hitzige Diskussion um das Thema geben. Dies ist in der Debatte des Bundestages auch deutlich geworden. Weder FDP noch die Grünen hatten irgendwelche Einwände gegen diese Maßnahmen. Herr Herholz lenkt den Blick von den wahren Diskussionsthemen ab, wenn er behauptet ein Bundeswehreinsatz beschränkt auf AWACS-Flüge und Hilfe im Sanitätsdienst würde zur "parteipolitischen Profilierung" verwendet.

Es geht doch um etwas ganz anderes: Innenminister Schäuble will Bundeswehrsoldaten während der Weltmeisterschaft darüber hinaus zum "Objektschutz" einsetzen. Dieses wäre dann sehr wohl ein Einsatz als Hilfspolizei. Er möchte sein Lieblingsprojekt "Bundeswehr im Inneren" nach mehr als 15 Jahren endlich mit einer Verfassungsänderung durch das Parlament mogeln. Bisher ist ihm dieses aus guten Gründen nicht gelungen. Auch diesmal gibt es Gegenstimmen sogar aus den Reihen der beiden Koalitionsparteien. Vielleicht sollte man bei dem Thema einfach mal auf Verteidigungsminister Jung hören, der sich früher Bundeswehreinsätze im Inneren vorstellen konnte. Nun warnt er aber eindringlich vor dieser Aufgabenvermischung.

Mündliche Prüfung: Methoden des Algorithmenentwurfes

Vorgestern musste ich dann auch meine erste richtige mündliche Prüfung im Studium absolvieren. Das Fach "Methoden des Algorithmusentwurfes" war eine anspruchsvolle, aber beherrschbare Veranstaltung.

Die Inhalte der Veranstaltung gingen von Greedy-Algorithmen, Divide and Conquer zu Approximationsalgorithmen, Lineare Programmierung und Heurisitken wie Lokale Suche. Einige Themen, die eigentlich auf der Agenda standen wurden leider ausgelassen. So wurde schon das Thema "Nash Gleichgewicht" bei lokaler Suche nur kurz angesprochen und die Themen "Randomized Algorithmens" und "Online Algorithems" wurden total ausgelassen. Die Veranstaltung war ganz anders aufgebaut als die Veranstaltung "Grundlegende Algorithmen" von der gleichen Arbeitsgruppe. Während "Grundlegene Algorithmen" sich über längere Zeit thematisch mit einem Problemtyp beschäftigte also zum Beispiel Flussprobleme oder String Matching so beschäftige sich Algorithmdesign in einem Abschnitt mit vielen Problemen, die mit dem gleichen Methoden gelöst werden können. Grundlegende Algorithmen ist daher eher eine logische Fortsetzung von "Datenstrukturen und Algorithmen".

Die mündliche Prüfung ist gut gelaufen. Dies war so nicht so zu erwarten, da man vorher von vielen durchgefallenden Teilnehmern gehört hat. Aber dies liegt vielleicht daran, dass sich schlechte Nachrichten leichter verbreiten als gute Nachrichten. Ich hatte in der Prüfung einige Schwächen (einzelne Beweise vergessen, Vertex Cover falsch definiert) und die Note hat trotzdem gepasst. Es ist also nicht so schwer wie man es vorher denkt.

Für die Veranstaltung sind drei Mitschriften verfügbar, von denen aber zwei nur die ersten 2 oder 3 Themengebiete umfassen.

Weiter geht es morgen mit "Rechnernetze" bei Professor Karl.

Friday, February 10, 2006

Höchst unerfreulich: Übergang vom Bachelor zum Master

Der Übergang vom Bachelor zum Master an der Universität Paderborn ist höchst unerfreulich geregelt. Ich hoffe, dass die Verantwortlichen und insbesondere die Fachschaft hier bessere Studienbedingungen herzustellen.

Insbesondere ärgern mich die Einschränkungen beim Studium Generale. In den Übergangsregel heisst es:

Veranstaltungen des Masterstudiengangs sind im Rahmen des Studium Generale im Bachelorstudiengang nicht anrechenbar. Umgekehrt sind Veranstaltungen des Bachelorstudiengangs im Masterstudiengang generell (aber speziell auch im Rahmen des Studium Generale des Masterstudiengangs) nicht anrechenbar.
Warum denn nicht? Normalerweise sollten doch alle Vorlesungen im Studium Generale anrechenbar sein. So heisst es auf der Informationsseite zum Studium Generale:
Grundsätzlich kann jede Veranstaltung an der Universität als Studium Generale belegt werden. Einzige Bedingung ist, dass eine Fachprüfung abgelegt wird.
In jeder Veranstaltung der Studiengänge der Informatik werden Fachprüfungen abgelegt. Das sollte also nicht das Problem sein. Auf der Informationsseite zum Masterstudiengang heisst es auch:
Außerdem enthält der Studienplan Raum für ein Studium Generale, der nach freier Entscheidung des einzelnen Studierenden zur Verbreiterung der Allgemeinbildung, dem Erlernen von Sprachen, dem Füllen von Wissenslücken [Hervorhebung durch mich] und für ähnliche Ziele genutzt werden kann.
Wie soll ich Wissenlücken schließen, wenn Bachelorveranstaltungen nicht im Studium Generale anrechenbar sind? "Surfen im Internet für Lehrämter" wird angerechnet, aber "Kryptologie 1" bei Blömer nicht. Da ist doch etwas faul, oder?

Auch der andere Bestandteil der Übergangsregel ist nicht optimal.

Vor Abschluss des Bachelorstudiums dürfen Veranstaltungen des Masterstudiengangs im Haupt- und Nebenfach im Umfang von maximal 16 ECTS-Punkten absolviert werden, sobald die Bachelorarbeit angemeldet ist und bereits zwei Bachelor-Module des 2. Studienabschnitts absolviert wurden.
Ich werde am Ende dieses Semesters 7 von 8 notwendigen Bachelormodulen absolviert haben. Aber solange die Bachelorarbeit noch nicht angemeldet ist, geht gar nichts. Und das obwohl 5 Bachelormodule mehr ETCS-Punkte wert sind als die Bachelorarbeit (15 anstatt 12). Das verstehe wer will, ich kann es jedenfalls nicht.

Wie ich schon in dem Artikel "Studiendauer-Umfrage an der Uni" dargestellt habe, braucht sich die Institutsleitung nicht über lange Studienzeiten wundern, wenn solche Regeln aufgestellt werden.

Thursday, February 09, 2006

Klausur Nr 2: Sozialphilosophie

Heute habe die zweite Klausur in diesem Semester geschrieben. Sie war für die Vorlesung "Soziale Realität - Philosophische Ansätze von der Antike bis heute" aber die Kurzfassung "Sozialphilosophie" passt genau so gut.

Wer sich immer noch fragt, ob sich Naturwissenschaften und Gesellschaftswissenschaften unterscheiden sollte einfach mal als Informatikstudent diese Vorlesung besuchen. Diese Leute denken ganz anders als ich. Nach Sätzen wie

Das Für-sich-Sein ist die Negation des Für-andere-Sein, die Synthesis von An-sich-Sein und Für-andere-Sein. Das An-sich-Sein hat sich im Für-andere-Sein bewahrt: In diesem Moment kehrt das entäußerte Wesen wieder zu sich selbst zurück. Im überwundenen Für-andere-Sein ist es an den anderen gereift. Das Wissen im An-sich-Sein ist im Außer-sich-treten des Für-andere-Sein ein Wissen von sich selbst geworden, das Subjekt konnte sich selbst zum Gegenstand nehmen, heißt, es hat sich selbst im anderen erkannt als das, was es ist: ein wissendes Subjekt. Nach Hegel: Die einfache Gewissheit seiner selbst ist ihm geworden.

(aus wikipedia.de, die Professorin hat nicht direkt diesen Satz gesagt, aber durchaus vergleichbar verwirrende) und der Bemerkung der Professorin jetzt sei ja klar, was Hegel meint, hat sich bei mir nur noch der Kopf gedreht.

Schon sehr seltsame Wissenschaft. Aber man muss schon sagen, dass ich einiges neues gelernt habe. Kein Wunder, wenn man vorher wenig über Themen wie Staatsphilosophie weiß. Wir haben under anderem Platon, Aristoteles, Hobbes, Locke, Rousseau, Hegel, Marx, Max Weber und in Ansätzen Kant, Popper und Arendt sowie Dilthey behandelt. Also eine ganze Menge Stoff.

Die Klausur bestand aus 10 Fragen von denen man in einer Stunde sechs beantworten muss. Die Fragen waren zum Beispiel "Weshalb ist Erziehung ein wichtiger Bestandteil der Sozialphilosophie? Argumentieren Sie im Rückgriff auf Autoren aus der Geschichte der Philosophie" oder "Erläutern Sie die Hauptpunkte der Staatsphilosophie nach Hobbes und erklären Sie seine bahnbrechende Bedeutung für die Staatsphilosophie".

Als Nächstes ist "Methoden des Algorithmenentwurfes" am nächsten Montag dran.