Showing posts with label Bachelor. Show all posts
Showing posts with label Bachelor. Show all posts

Tuesday, April 15, 2008

Sopra: Softwarequalität bewusst niedrig gehalten

Ich schreibe gerade an einen Artikel über das "Softwaretechnikpraktikum" an der Universität Paderborn und wollte eigentlich begründen warum ich die alte Aufgabenstellung ("Shuttle-Simulation") trotz all der Probleme besser finde als die neue Aufgabenstellung ("dSpace Systemdesk").

Dazu lese ich gerade auch den Artikel "Ein verbessertes Softwaretechnikpraktikum: Zwischen grüner Wiese und Legacy-Systemen" in dem Björn Axenath und Stefan Henkler ihre Neukonzeption beschreiben. Vielleicht muß ich mir das nochmal überlegen.
Geschockt war ich als ich laß (Hervorhebung von mir):

In den letzten Jahren wurde den Studenten der undokumentierte Code eines komplexen, verteilten Systems [die Shuttle-Simulation] gegeben. [...]
Für einen Großteil der Studenten war dies die erste Begegnung mit einem großen Softwaresystem. Da es sich um ein Legacy-System handelte, war die Qualität bewußt niedrig gehalten.
Was? Bewusst?
Das ein System mit den Jahren verkümmert, kann ich ja noch irgendwie verstehen. Die bekannte Liste "realer" Architekturtypen von Brian Foote und Joseph Yoder (Big Ball of Mud) sind gleichzeitig Zeugniss und Warnung davor. Ich bin immer davon ausgegangen, dass dies eben unabsichtlich passiert ist, weil sich niemand um die Qualität gekümmert hat. Mein Eindruck war damals, dass es am Anfang durchaus als gutes System entwickelt wurde (z.B. konnte man die Überreste eines State-Pattern finden, wenn man genau hingeguckt hat) und die Qualität aber den späteren Entwicklern stumpf egal war.

Aber ein bewußt meises System zu entwickeln und frischen Studenten vorzusetzen, ist doch so ziemlich das Schlimmste was man machen kann: Das ist Anti-Code-Reading. Und wir wundern uns über die meise Softwarekonstruktionsfähigkeiten von Absolventen. Wo sollen sie es den gelernt haben, wenn selbst im berühmten Elfenbeinturm kein "Vorbild" vorgesetzt wird?

Sopra: Softwarequalität bewusst niedrig gehalten

Ich schreibe gerade an einen Artikel über das "Softwaretechnikpraktikum" an der Universität Paderborn und wollte eigentlich begründen warum ich die alte Aufgabenstellung ("Shuttle-Simulation") trotz all der Probleme besser finde als die neue Aufgabenstellung ("dSpace Systemdesk").

Dazu lese ich gerade auch den Artikel "Ein verbessertes Softwaretechnikpraktikum: Zwischen grüner Wiese und Legacy-Systemen" in dem Björn Axenath und Stefan Henkler ihre Neukonzeption beschreiben. Vielleicht muß ich mir das nochmal überlegen.
Geschockt war ich als ich laß (Hervorhebung von mir):

In den letzten Jahren wurde den Studenten der undokumentierte Code eines komplexen, verteilten Systems [die Shuttle-Simulation] gegeben. [...]
Für einen Großteil der Studenten war dies die erste Begegnung mit einem großen Softwaresystem. Da es sich um ein Legacy-System handelte, war die Qualität bewußt niedrig gehalten.
Was? Bewusst?
Das ein System mit den Jahren verkümmert, kann ich ja noch irgendwie verstehen. Die bekannte Liste "realer" Architekturtypen von Brian Foote und Joseph Yoder (Big Ball of Mud) sind gleichzeitig Zeugniss und Warnung davor. Ich bin immer davon ausgegangen, dass dies eben unabsichtlich passiert ist, weil sich niemand um die Qualität gekümmert hat. Mein Eindruck war damals, dass es am Anfang durchaus als gutes System entwickelt wurde (z.B. konnte man die Überreste eines State-Pattern finden, wenn man genau hingeguckt hat) und die Qualität aber den späteren Entwicklern stumpf egal war.

Aber ein bewußt meises System zu entwickeln und frischen Studenten vorzusetzen, ist doch so ziemlich das Schlimmste was man machen kann: Das ist Anti-Code-Reading. Und wir wundern uns über die meise Softwarekonstruktionsfähigkeiten von Absolventen. Wo sollen sie es den gelernt haben, wenn selbst im berühmten Elfenbeinturm kein "Vorbild" vorgesetzt wird?

Friday, June 01, 2007

Mündliche Prüfungen im Bachelorstudiengang: Nicht verpflichtend

Es gibt eine weitere kleine Richtlinie in der Bachelorprüfungsordnung über deren Auswirkungen wohl niemand richtig so nachgedacht hat. §5 der BScPO sagt:

Die Prüfungen werden [...] im zweiten Abschnitt in der Regel in Form mündlicher Prüfungen durchgeführt. Mindestens drei dieser Prüfungen müssen in Form einer mündlichen Prüfung abgelegt werden.

Dies war auch dringend geboten, denn wie die Fachschaft schon richtig sagt: Einige Studenten müssten warten

bis wieder eine mündliche Prüfung in einem Bereich stattfindet in dem sie noch keine Prüfung absolviert haben, oder sie müssen Vorlesungen belegen, die nicht ihren Interessen entsprechen aus dem einzigen Grund eine mündliche Prüfung zu absolvieren.

Also eine weitere Regel die Studenten dazu bringt nicht gute Vorlesungen oder Vorlesungen aus Ihrem Interesse heraus zu belegen, sondern sie zwingt nicht so gute oder passende Veranstaltungen zu "absolvieren" nur um ziemlich willkürliche Regeln zu befolgen.

Aber in diesem Fall (es gibt noch mehr Regeln dieser Sorte) wurde diese Regelung nach einem Mitteilung der Fachschaft entschärft:

Eine Rücksprache mit Herrn Szwillus (Vorsitzender PA Informatik) hat ergeben, dass diese Regelung nicht als Verpflichtung für Studierende zu sehen ist, sondern als Verpflichtung für das Institut so viele Möglichkeiten zur mündlichen Prüfung anzubieten, dass im Schnitt jeder Studierende mindestens drei mündliche Prüfungen im Hauptstudium absolviert.

Das steht leider so aber nicht in der Prüfungsordnung. Dort steht "müssen". Deshalb: Streicht diese Regelung bei der nächsten Revision ganz raus.

Wenn man schon dabei ist, streicht jede ähnliche Regelung gleich mit. Diese Regelungen benachteiligen alle Studenten, denen es nicht egal ist, welche Vorlesungen sie belegen. Auch braucht man sich mit solchen Regelungen nicht mehr über eine lange durchschnittliche Studiendauer wundern.
Mehr Lernfreiheit würde den Prüfungsordnungen gut tun.

Nur als Randbemerkung:
In Prüfungsordnungen gilt wie in der Politik: Nicht alles was wünschenswert ist, sollte reglementiert vorgeschrieben werden. Man sieht hier welche negativen Auswirkungen es haben kann, wenn man das Individuum und die individuelle Situation ignoriert.

Monday, May 07, 2007

Pflichtenheft der Bachelorarbeit online [Update]

Zusätzlich zu der Bachelorarbeit habe ich auch das Pflichtenheft (64 Seiten) der Bachelorarbeit online gestellt.

Vielleicht hilft das Pflichtenheft anderen Studenten bei der Erstellung von Pflichtenheften für Studienarbeiten.

In Kürze wird auch die entwickelte Anwendung live gehen.

[Update: Link zum Pflichtenheft wurde korrigiert]

Monday, April 16, 2007

Die Prüfungsordnung - Das unbekannte Wesen: Seminare und Proseminare

Die Prüfungsordnung ist die rechtliche Grundlage für das Studium und regelt die Rechte und Pflichten der Studenten und der Dozenten. Doch die meisten Studenten kennen die PO nur sehr wenig. In den meisten Fällen wird das Wissen nur über Mund-zu-Mund-Propaganda weitergegeben.
Schon der Vergangenheit bin ich in einigen Beiträen auf die Prüfungsordnung eingegangen. Diesmal möchte ich mir mit den Vorschriften für Seminare und Proseminare beschäftigen.
Seminare sind eine sinnvolle Art wissenschaftliches Arbeiten zu erlernen und die wissenschaftlichen Methoden zu vertiefen. Deshalb sind Seminare elementare Bestandteile des Informatikstudiums an der Uni Paderobrn.
Doch wieviele Seminar muß man im Informatik-Studium belegen? Wieviele darf man belegen?

Bachelor-Prüfungsordnung:
Ganz einfache Regelung: Es gibt keine.
Seminare oder Proseminare werden in der Prüfungsordnung gar nicht erwähnt.

Master-Prüfungsordnung:
Im Master ist dies sehr eindeutig in Artikel 16, Abschnitt 5 regelt:

Neben dem obligatorischen Seminar im Rahmen der Projektgruppe muss in einem Modul des Vertiefungsgebietet eine der Wahlpflichtveranstaltungen ein Seminar sein. In höchsten einem Wahlpflichtmodel [...] kann eine weitere Wahlpflichtveranstaltung ein Seminar sein.

Tuesday, January 09, 2007

Eine unendliche Geschichte

Am 13. September habe ich meinen Bachelorprüfung bestanden.

Mit vielen Umwegen und Neudrucken sind nach und nach auch alle Zeugnisse und Urkunden eingetroffen.

Heute habe ich alles zum Neudrucken zurückgegeben. Jedes einzelne Blatt war immer noch fehlerhaft gedruckt. Die Gesamtnote stimmte nur auf einem einzigen Blatt.

Das Problem: Offensichtlich werden die Zeugnisse automatisch aus den Noten generiert, aber das System hat Fehler und gibt meine Gesamtnote stets falsch aus.

Ich will ja nicht sarkastisch werden, aber dies bei der "Universität der Informationsgesellschaft".
Meine Mutter hat schon recht, wenn sie sagt, dass es einfach in Word (oder natürlich OO oder Pages) getippt schneller gegangen wäre.

Thursday, November 23, 2006

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.

Tuesday, October 17, 2006

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

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, 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?

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.

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?

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.

Thursday, January 12, 2006

Singleton mit protected Konstruktor

In der Vorlesung Modellbasierte Softwareentwicklung sollten wir in der Übung eben ein Template zur Generierung des Codes für ein Singleton-Pattern angeben.

Ein Kommilitone hat ein Template mit protected-Konstruktor angeben. Ein Beispiel eine Klasse, die aus dem Template erzeugt werden könnte, ist:

package mbse;

public class Singleton { private static Singleton instance = null;

protected Singleton() {
}

public static Singleton getInstance() {
    if(instance == null) {
        instance = null;
    }
    return instance;
}

}

Immerhin kann man von der Klasse direkt keine weiteren Instanzen erzeugen. Soweit dies ja schon mal keine naive Implementierung.

Auf die Nachfrage von mehreren Studenten, dass der Konstruktor doch private sein müsse, wurde nur reagiert mit dem Hinweis, dass dies eine Implementierungsalternative wäre. Nein, dies ist es nicht. Mit einem protected-Konstruktor kann die Singelton-Eigenschaft einfach aus gehebelt werden.

Mit einem protected-Konstruktor kann jeder von der Klasse eine neue Klasse ableiten. Diese Klasse könnte wie folgt aussehen:

package other;

import mbse.Singleton;

public class SubSingleton extends Singleton { public SubSingleton() {

}

}

Von dieser Klasse lassen sich durch den public-Konstruktor einfach beliebig viele Instanzen erstellen. Die Eigenschaft, dass nur eine Instanz der Klasse existiert wurde damit sehr einfach aus gehebelt. Wenn sich dieser Code in einer API befinden würde, dann wäre dies möglicherweise kritisch. Aber auch aus Versehen könnte so etwas passieren, wenn einem anderem Entwickler nicht bewusst ist, dass es sich um ein Singleton handelt.

Wenn Singelton (meist ist dies keine so gute Idee), dann doch bitte nur mit private-Konstruktor.

Monday, January 02, 2006

Bachelor/Master

Wieso meckert eigentlich jeder über die Umstellung auch Bachelor/Master?

Es ist absolut unbestritten, dass viele Studiengänge an vielen Universitäten mit der Umstellung absolut nicht klar kommen oder klar gekommen sind. Bei mir in Paderborn haben es die Verantwortlichen für Wirtschaftsinformatik und Wirtschaftswissenschaften wohl in den Sand gesetzt. Während es bei Informatik eigentlich sehr gut geklappt hat.

Zum Beispiel:

Hier das absolute Chaos:

  • Neue Unterrichtsformen, von denen die Dozenten keine Ahnung haben wie'€™s gehen soll...
  • Jede Aufgabe muss im Team gelöst werden (man soll ja Teamfähigkeit trainieren); die Prüfungen werden in Einzelarbeit gelöst (und wer soll noch wissen wie man eine Aufgabe alleine löst)
  • Zusammenlegen aller (in meinem Fall: Wirtschafts)Studiengänge für die ersten drei Semester -> jeder soll von allem lernen... Das Problem: man lernt von allem, aber nichts so, dass man es verwenden könnte...
  • Prüfungen gibt es nun am Ende der Semester (wäre ja Positiv), nur wissen wir bis jetzt nur in den seltensten Fächern, wie die Prüfung aussehen wird, und welchen Leistungsnachweis wir dafür erbringen müssen (Semester-Ende: Februar 06, Prüfungen im März)... Könnte doch noch knapp werden...
Oder:
Das schlimmste ist ja, dass KEINER der Studenten (an meiner FH) das Bachelor-Modell will. Jeder will den vergleichbaren Diplsomstudiengang - der ist fachlich fundierter, klarer strukturiert, und in der Wirtschaft bekannt... Sprich: für den Studenten wesentlich Vorteilhafter
Beide Zitate sind jetzt aus dem heise-Forum, aber ich bin sicher, dass man problemlos tausende weitere solche Zitate finden könnte, da sie die häufigsten Vorwürfe wiederspiegeln.

Dies sind Fehler der Universität oder des Fachbereichs. Ich sehe da keine allgemeinen Konstruktionsfehler an den Abschlussen. Bei mir in der Paderborn wurde der Umstieg vor zwei Semester gemacht und es hat eigentlich sich gut funktioniert. Man hat die Chance genutzt um die Prüfungsordnung zu überarbeiten. Nicht jede Neuerung war gut (Notenfreiheit beim Softwaretechnikpraktikum - 300 Stunden für "nichts"), aber doch zumindest die meisten (Umstellung von "Praktikum" auf "berufpraktische Tätigkeit"). Dies soll zeigen es geht auch besser. Wenn die Universität bzw. das entsprechende Institut bereit ist ordentliche Regelungen und Übergangsregelungen zu schaffen. Dort sollte die Kritik angesetzt werden und weniger bei den neuen Studiengängen. Häufig gleitet BSc/MSc-Kritik auch in den Antiamerikanismus. Die blöden Amis haben uns da mal wieder etwas aufgeschwatzt, unser tolles Diplom war doch überall so beliebt.

Nun mal zu den einzelnen Vorwürfen aus den Zitaten. Ich behaupte nicht, dass die Autoren mit ihren Erfahrungen in ihrem Fall unrecht haben. Dies bezweifele ich nicht im Ansatz. Ich möchte nur mal aufzeigen wie es meiner Erfahrung nach für den Studiengang "Informatik" an der Universität Paderborn gelaufen ist.

  1. Neue Unterrichtsformen von denen die Dozenten keine Ahnung haben: Das ist ein Problem der Dozenten und der internen Fortbildung. Im Ansatz haben wir so etwas in Paderborn auch. Zumindest gibt es viele Dozenten, die noch nicht gemerkt haben, dass die Prüfungen für kleine Veranstaltungen (3 Punkte) auf 2 Stunden begrenzt wurde.
  2. Teamarbeit: Und? Also ich halte das für sinnvoll. Es spielt natürlich auch eine Rolle, dass man versucht auf diese Weise den Aufwand für die Korrektoren noch so hoch werden zu lassen.
  3. Zusammelegung der Studiengänge: Auch dies scheint mir eher ein Problem des konkreten Fall zu sein und weniger ein allgemeines Problem. Ich bin mir noch nicht sicher, ob eine Ausrichtung auf "Alles lernen, aber nur wenig" gut oder schlecht ist. Auf der einen Seite sollte eine fertiger Student jeden Bereich zumindest im Ansatz kennen, auf der anderen Seite muss dann die Tiefe der Themen darunter leiden. Mit der Umstellung auf BSC/MSc für Informatik in Paderborn wurde auch eher die Breite gestärkt als die Tiefe.
  4. Prüfungen am Ende des Semester: Dieses Prinzip haben wir in Paderborn seit Studentengedenken. Ich sehe es eigentlich auch sehr positiv, auf der anderen Seite werden die Semesterferien dadurch stark verkürzt und man hat weniger Zeit zum Geld verdienen.
  5. Welcher Leistungsnachweise?: Dies ist ein Problem, dass ich immer wieder von viele Studiengängen höre. Manche Universitäten kriegen einen ordentlichen Plan wohl irgendwie nicht richtig hin. Wenn man es schon nicht schafft dort ordentliche und verlässliche Informationen für alte Studiengänge bereit zu stellen, dann ist es leider auch keine Wunder, wenn es bei den neuen auch Probleme gibt. Bei mir gibt es dieses Problem eigentlich nur im "Studium Generale".
  6. Kein Student will dasEin Semester nach Einführung gab es bei uns zumindest schon ca. 30 - 40 Studenten im 3. Semester, die in die neuen Studiengänge gewechselt sind. So schlecht scheint das Angebot zum Wechsel nicht aufgenommen worden zu sein, obwohl die Regelstudienzeit um ein Semester verlängert wurde.
  7. Fachlich fundierter: Die Regelstudienzeit wurde wie gesagt auf zehn Semester erhöht. Dafür hat man nun mehr Freizeitveranstaltungen im "Studium Generale". Man wurde etwas in den Wahlmöglichkeiten eingeschränkt. Insgesamt würde ich sagen, dass sich bei uns an dem fachlichen Fundament, dass aufgebaut werden soll, nicht viel geändert hat.
  8. Klar strukturiert: Jede Umstellung ist eine Chance für die Verantwortlichen aus den Erfahrungen mit den alten Prüfungsordnungen zu lernen. Bei uns ist die Struktur klar zu erkennen.
  9. in der Wirtschaft bekannt: Zum Zeitpunkt der Einführung war dies auch bestimmt der Fall, aber schon bald wird sich das Bild geändert haben. International scheinen die Vorteile der neuen Abschlüsse wohl klar zu überwiegen.
Fazit Es geht mir nicht darum bei beiden Autoren im heise-Forum etwas vorzuwerfen oder ihnen zu unterstellen, dass sie nicht die Wahrheit sagen. Ich bin sicher, dass sie tatsächlich diese Erfahrungen gemacht haben. Ich bin aber absolut sicher, dass diese schlechten Erfahrungen ein Fehler der Umstellung auf die neuen Abschlüsse ist, sondern dass es sich dabei um Fehler der individuell Verantwortlichen an den entsprechenden Hochschulen handelt. Man sollte die Fehler dieses Personen vorwerfen und die Schuld nicht in dem Bolonga-Prozeß suchen.

Wednesday, December 14, 2005

Build-Automatisierung mit Cruisecontrol

Im Softwaretechnikpraktikum meines Studienganges habe ich als Software-Qualitätsbeauftragter die Build-Management-Software Cruisecontrol eingesetzt.
Hier will ich von einen Erfahrungen mit Cruisecontrol berichten:

Die Software arbeitet im Grunde wie folgt:
Sie überprüft die Quellcodeverwaltung eines Software in regelmäßigen Abständen (im SoPra-Projekt zweimal am Tag) und erstellt einen neuen Build der Software.
Dabei können dann System wie ant oder maven zum Einsatz kommen, um den Ablauf des Build-Vorganges zu steuern (im Projekt "ant").
Die Ergebnisse jedes Build-Vorganges werden dann auf einer Webseite veröffentlicht und per Email an die Entwickler verschickt. Es gibt sogar eine Erweiterung von Cruisecontrol zum Ansteuern eines Blicklichtes, dass als Alarmzeichen in einem Projektbüro dient.

Zusätzlich zu dem reinen Compilieren haben wir auch jedesmal die javadoc-Dokumentation aktuallisiert, die Einhaltung der Codekonventionen mit Checkstyle überprüft und natürlich die JUnit-Testfälle ausgeführt. Gleichzeitig wurde auch die Codeabdeckung der Testfälle mit emma ermittelt.

Die Automatisierung der Builds und der Tests hat sich meiner Meinung nach Bewährung.
Cruisecontrol spielt die zentrale Rolle und ist (bis auf die kleinen Macken) mittlerweile wirklich gut gelungen.
Der Server wurde durch Checkstyle und Emma erweitert und Cruisecontrol arbeitet auch gut mit diesen Tools zusammen.

Aber Cruisecontrol hat kleine Macken.
- Für jede Änderung an der Konfiguration muss der Server gestoppt und neugestartet werden.
- Ich habe nicht vorausgefunden, wie man Cruisecontrol so einstellt, dass zu bestimmten Tageszeiten also z.B. jedes Mal um acht Uhr, eine Build gestartet wird.
- Auch scheint es nicht so gut möglich zu sein die Software so einzustellen, dass zum Beispiel einmal am Tag ein volles Build (z.B. mit Codeüberdeckung und javadoc) erstellt wird und sonst (alle 10 Minuten) nur ein kleines Build. Dafür scheinen zwei seperate Cruisecontrol Projekte notwendig zu sein. Schade, diese Funktion hätte ich gut gebrauchen können.
- Es werden bei jedem Build (zumindest so wie wir es eingestellt hatten) unheimliche Mengen an Daten erstellt. Jeder Build belegte mehr als 10 Megabyte auf der Festplatte. Man sollte also eine Menge Festplattenplatz freihalten.
- Die Emails, die an die Entwicklern verschickt werden, werden sehr schnell sehr groß. Die Mails waren im Projekt im Schnitt ca. 500 Kilobyte groß. Die Entwicklern, die nur ein Modem-Anschluss haben, waren davon nicht begeistert.

Mein Fazit ist: Trotz einiger Macken ist Cruisecontrol in Projekten auch kurzfristig einsetzbar und kann helfen die Codequalität zu erhöhen. Insbesondere dadurch das Entwickler, die fehlerhaften Code einchecken auffallen und per Mail angeprangert werden. Im Softwaretechnikpraktikum ist es aber so gewesen, dass die Sanktionsmöglichkeiten fehlen, um guten Code auch von allen einzufordern.
Gerade aber die Möglichkeit den gesamten Buildprozess auf einem Server integieren, hilft dem Team einen Überblick über den aktuellen Stand der Software zu geben.
Schon vor mehr als zwei Jahren habe ich einmal einen Bericht über Cruisecontrol im Java Magazin gelesen, damals habe ich es aber nicht eingesetzt, da die Dokumentation noch sehr schlecht gewesen ist. Dies hat sich geändert mit User Guides und dem Cruisecontrol Wiki werden viele Fragen beantwortet.

Monday, November 14, 2005

Mitschriften für "Grundlegende Algorithmen" [Update]

Wie schon im letzten Semester möchte ich auch in diesem Semester wichtige Mitschriften von mir ins Netz stellen. Wie es aussieht wird es wohl bei "Grundlegenden Algorithmen" von Prof. Monien keine Folien zum Download geben. So daß es notwendig ist alles mit zu schreiben.

Vorlesung 17.10.2005: Mitschrift der Beweise für Theorem 1.1 und Theorem 1.2 Die Folien auf denen auch die beweisenen Theoreme vorgestellt werden, können von der Internetseite von Rainer Feldmann heruntergeladen werden.

Vorlesung und Übung 24.10.2005: Mitschrift der Beweise für Lemma 1.2a aus Übung und Lemma 1 aus Vorlesung

Vorlesung 14.11.2005: Mitschrift der Beweise für Bemerkung 3.1, Lemma 3.1, Lemma 3.3, Lemma 3.5

Übungsblatt 2 Abgabe meiner Gruppe zum Übungsblatt 2

Übungsblatt 3 Abgabe meiner Gruppe zum Übungsblatt 3

Übungsblatt 4 Abgabe meiner Gruppe zum Übungsblatt 4

Achtung: Alle Angaben sowie die Mitschriften als auch die Übungsblätter enthalten wahrscheinlich Fehler. Alle Angaben ohne Gewähr. Wer Fehler findet, den bitte ich darum mir diese mitzuteilen (Kommentarfunktion)