Verwendung von Studiengebühren

Studiengebühren… ein heißes Thema. Auch ich bin nicht wirklich begeistert von der Idee, als Student für jedes Semester 500 Euro bezahlen zu müssen, aber was soll ich machen? Ich habe halt nur die Wahl zwischen „Zahlen“ und „Studium beenden“. Da zahle ich doch lieber…

Aber das ist gar nicht das, worüber ich eigentlich schreiben wollte. Das Geld für dieses Semester habe ich schließlich schon vor etwa anderthalb Monaten bezahlt.

Die Einnahmen aus den Studiengebühren werden an der Uni verteilt – ein Teil geht in die Verwaltung, ein anderer Teil wird für fächerübergreifende Projekte verwendet und ein dritter Teil geht an die einzelnen Fachbereiche. „Mein“ Fachbereich (Informatik 😉 ) hat kurzerhand ein paar Arbeitsgruppen geschaffen, die sich mit sinnvollen Ideen zur Verwendung von Studiengebühren befasst haben. An den Arbeitsgruppen durften auch Studenten teilnehmen (durften – eher „waren eingeladen“) und bekamen dadurch die Möglichkeit, über die Verwendung der dem Fachbereich zugewiesenen Studiengebühren mitzubestimmen. Ich habe die Chance übrigens genutzt. 😉

Die ersten Ergebnisse sind jetzt im Semester zu bemerken: Zum einen wurden einige neue Lernräume geschaffen, also Räume, in denen sich Studenten zum Lernen oder Aufgaben lösen zusammensetzen können. In einigen Vorlesungen wurde diese Idee sogar noch weitergeführt: Für einige Vorlesungen wurden extra Lernräume gebildet, also z.B. ein Lernraum „nur“ für GTI. Das Ganze hat halt den Vorteil, dass man dort durchaus Chancen hat, Kommilitonen zu treffen, die auch in GTI sitzen und einem bei Fragen evtl. weiterhelfen können, außerdem werden diese Räume z.B. einmal am Tag für eine Stunde von einem Tutor betreut, der ebenfalls als Ansprechpartner bei Fragen zur Verfügung steht.

Ich finde, das sind schon ein paar sehr gute, sinnvolle Ausgaben.

Gehashte Fragebögen

So, jetzt wird zum ersten Mal hier im Blog (?) ein „informatisches“ Thema angesprochen. Doch dafür müssen wir zunächst mit einer kleinen Lehrstunde anfangen:

Was bedeutet Hashing / was ist eine Hashing-Funktion?
Eine Hash-Funktion ist eine Vorschrift, die befolgt werden muss, um aus einer großen Eingabemenge Werte kleinerer Größe (den sog. Hash) zu erzeugen. Wenn ihr jetzt nur noch „Hääääh?“ denkt, kann ich das durchaus verstehen. Deswegen gleich mal ein Beispiel: Eine Hashing-Funktion könnte z.B. sein: „Verwende nur die letzte Ziffer einer Zahl“. Diese Hashing-Funktion kann ich auf alle möglichen Zahlen anwenden (von denen es ja bekanntermaßen unendlich viele gibt), und erhalte nur einen von zehn möglichen Werten zurück (eine der Zahlen von 0 bis 9).
Daraus folgt natürlich, dass ich aus einem Hashwert normalerweise nicht den Originalwert wiederherstellen kann. Wenn ich eine Zahl suche, von der ich nur weiß, dass ihr Hashwert mit der obigen Vorschrift 7 ist, bringt mir das gar nichts, da sehr viele Zahlen den Hashwert 7 ergeben können (z.B. 7, 17, 167 oder auch 2136504640654684013168463107).
Andere Beispiele wären z.B. die Bildung der Quersumme einer Zahl oder bei Texten z.B. die Anzahl der im Text vorhandenen Wörter.
Wahrscheinlich wundert ihr euch jetzt, warum man solche Hash-Funktionen überhaupt verwendet. Ein Beispiel wäre beispielsweise die Speicherung von langen Texten: Nehmen wir mal an, ich verwalte ein Archiv mit tausenden von Texten. Dann will ich evtl. keine Texte doppelt haben. Das würde für mich bedeuten, dass ich immer, wenn ich einen neuen Text in die Datenbank eintragen möchte, zunächst nachschauen muss, ob dieser exakte Text schon vorhanden ist. Eine Möglichkeit wäre natürlich, den ersten Text aus der Datenbank auszulesen und diesen dann Buchstabe für Buchstabe mit dem neuen Text zu vergleichen. Stimmen alle Buchstaben überein, sind die Texte gleich. Ansonsten lese ich den zweiten Text aus der Datenbank aus und fange hier wieder mit dem Vergleich an. Das ist natürlich ziemlich aufwändig – ich (mein PC) müsste bei einer großen Datenbank tausende von Buchstaben vergleichen, eine Aufgabe, die auch moderne PCs durchaus eine gewisse Zeit beschäftigen kann.
Aber zum Glück gibt es ja Hashing-Funktionen: Einige von ihnen (mit so tollen Namen wie MD5, SHA1 oder CRC32) erzeugen zu beliebig langen Texten Hashwerte von fester Länge, im Fall von MD5 z.B. 32 Zeichen lang. Also könnte ich als Datenbankverwalter einen Trick anwenden: Da ich weiß, dass ein Hashwert eines bestimmten Textes immer gleich bleibt, speichere ich zu einem Text einfach noch den dazugehörigen MD5-Hash mit ab. Wenn ich dann einen neuen Text speichern möchte, berechne ich den zu diesem Text gehörenden MD5-Hash und schaue in der Datenbank nur noch nach, ob dieser Hash-Wert dort schon gespeichert ist. Dieses Vorgehen ist natürlich viel schneller, als die ganzen Texte einzeln zu vergleichen.
Eine Hashing-Funktion wie die oben von mir erdachte „Anzahl aller Wörter“-Funktion würde prinzipiell natürlich auch klappen – allerdings ist die Wahrscheinlichkeit recht hoch, dass irgendwann einmal zwei Texte die genau gleiche Anzahl an Wörtern haben werden und daher durch den reinen Vergleich dieser Hash-Werte als „gleich“ angesehen werden, was natürlich unerwünscht ist. Dabei spricht der Informatiker dann von einer Kollision. Die „richtigen“ Hashing-Verfahren sind natürlich extra für diesen Fall optimiert, möglichst wenige Kollisionen zu erzeugen.

Jetzt kommen wir aber mal wieder zurück zum Bezug zur Uni. Es ist an einer Uni bekannte Tatsache, dass die Anzahl der Hörer einer Vorlesung nach der ersten Woche rapide abnimmt – viele Studenten kommen zur ersten Vorlesung, hören sich den organisatorischen Schnick-Schnack an und kommen dann erst zur Klausur wieder. Der Fachbereich möchte nun gerne die Gründe für dieses Verhalten ergründen. Also wurden Fragebögen verteilt. Da man jedoch die Verändeurng über eine gewisse Zeit beobachten möchte, werden in ein paar Wochen wohl nochmal Fragebögen verteilt (die dann natürlich nur von den noch anwesenden Studenten ausgefüllt werden können). Um jetzt jedoch aus den Bögen ablesen zu können, *welche* Studenten denn noch da sind (und welche halt nicht mehr), muss es da ein Feld geben, welches jeder Student mit einem einzigartigen und bei jedem Fragebogen gleichen Wert füllen soll. Da die Umfrage jedoch anonym stattfinden soll, kann man die Studenten schlecht bitten, ihren Namen oder die Matrikelnummer in dieses Feld einzutragen. Das ist die Stelle, an der eine Hashing-Funktion ins Spiel kam: Auf dem Zettel stand in etwas folgende Anweisung:

1.: Zweiter Buchstabe im Namen des Haustieres
2.: Dritte Ziffer des Geburtsdatums
3.: Fünfte Ziffer der Handynummer
4.: Zweiter Buchstabe des Mädchennamens der Mutter

In meinem Fall und mit dieser Hashing-Funktion würde ich z.B. A02E in dieses Feld schreiben – und beim nächsten Fragebogen, der die gleiche Anweisung enthalten wird, auf genau den gleichen Wert kommen. Dennoch kann man lediglich aus A02E absolut keine Infos über mich gewinnen – oder wer könnte mir jetzt den Mädchennamen meiner Mutter nennen? Um herauszufinden, welcher Fragebogen meiner ist, bräuchte man den Namen meines Haustieres, mein Geburtsdatum, meine Handynummer und den Geburtsnamen meiner Mutter, müsste daraus meinen Hash-Wert bestimmen und den Stapel danach durchsuchen. Und all diesen Aufwand fabrizieren, nur um festzustellen, dass ich meinen Zettel nicht abgegeben habe? 😉
========
Falls es euch noch interessiert: Der MD5-Hash des Textes oberhalb der „Linie“ ist übrigens: 547c5c6a7d8be7b786d7ea29f59e8f6e

Update: Ich habe mal kurz mein Blog als „Testdatenbank“ genommen und die Anzahl der Wörter pro Artikel gemessen (um genau zu sein habe ich es mir einfacher gemacht und die Leerzeichen pro Artikel gezählt). Ergebnis: Es gäbe sehr viele Kollisionen – 15 verschiedene Artikel haben z.B. genau 55 Wörter, je 14 Artikel haben 49 und 53 Wörter usw. Meine spontan erdachte Hashing-Funktion wäre also in diesem Fall nicht allzu sinnvoll anwendbar. 😉

4. Semester

Heute ist der 1. April. Das heißt nicht nur, dass es heute wieder haufenweise Aprilscherze gibt (nur hier im Blog nicht, mir fällt nichts gutes ein 😐 ), sondern heute beginnt auch das neue Semester. Das heißt vor allem: Studentenausweise wechseln! Wer’s vergisst, könnte sonst morgen auf dem Weg zur Uni in der Bahn auf einmal blöd gucken, wenn ein Kontrolleur vorbeikommt und das abgelaufene Semesterticket bemerkt… 😉

Für mich ist das jetzt übrigens schon das 4. Semester. Meine Güte, wie die Zeit vergeht…

Coole Sprüche

Das war heute eine sehr lustige GTI-Vorlesung – der Prof hat so einige coole Sprüche abgelassen. Es ist doch immer wieder erstaunlich, wie viel ansprechender eine Vorlesung wirkt, wenn man zwischendurch mal was zum Lachen hat. 😉 Hier mal ein Best-Of mit den lustigsten Sprüchen:

  • Ich weiß, Sie sind alle nicht freiwillig hier…
  • Ich will Sie ja auch nicht in der mündlichen Prüfung durchfallen lassen, dann kommen Sie ja immer wieder…
  • Es gibt nichts einfacheres, als ein sehr schnelles Programm zu entwickeln, das nicht funktioniert.
  • Das Skript heißt ab sofort Kurzskript, damit Sie sich nicht zu viel davon versprechen.
  • Die Übungszettel sollen pünktlich abgegeben werden – die Briefkästen werden um Punkt 10:10 Uhr geleert – von unserem Notar.

Ich hoffe mal, dass die Vorlesung so weitergeht… 😉

Grill0rn

Heute war der erste Vorlesungs-Tag des neuen Semsters – und wir vom Fachschaftsrat haben uns mal eben mehr oder weniger spontan zum gemeinsamen Grillen getroffen. Es hat sehr viel Spaß gemacht. Das Wetter war ja auch dementsprechend (etwa 20 Grad und Sonne satt) und insgesamt waren wir geschätzte 30 Mann (und Frauen), die da um den Grill herumstanden.

Besonders lustig: Wir haben die Busfahrer, die mit ihren Linienbussen vorbeikamen immer mit einer La Ola bedacht… einige von ihnen haben sich auch sichtlich gefreut (und teilweise sogar mitgemacht), andere haben uns wohl angeschaut aber ignoriert. 😐

Demnächst werden wir dann übrigens auch nochmal ein großes Grillen für den ganzen Fachbereich veranstalten…

Endlich mal ein Informatiker-Witz

Treffen sich zwei Informatiker. Einer von den beiden hat ein nagelneues Fahrrad bei sich. Fragt der eine: „Mensch, wo hast du denn das tolle Fahrrad her?“ Meint der andere: „Ja, das war ne komische Geschichte. Ich bin so auf dem Campus unterwegs, da kommt mir dieses Mädel auf dem Fahrrad entgegen, sieht mich, springt auf einmal ab, reißt sich die Kleider vom Leib und ruft ‚Nimm dir, was du willst!'“ Der erste: „Gute Wahl – die Kleider hätten dir vermutlich nicht gepasst.“

Logik, die zwote

Jo… was soll ich noch groß schreiben? Heute war die zweite Logikklausur und ich kann wieder einmal absolut nicht einschätzen, wie ich abgeschnitten habe…

Mal schauen. Bei dem Tempo, mit dem das Logik-Team die Klausuren korrigiert würde es mich ja nicht wundern, wenn am Montag schon die Ergebnisse feststünden…

Damit habe ich alle Klausuren für dieses Semester hinter mir… Montag fängt dann das nächste Semester an, mit ProSeminar und SoPra. Das wird wieder stressig… 😐

Neues Lieblingswort

Muhaha, ich musste echt lachen:

Aimtororist

Machen wir doch einfach mal ein kleines Rätsel draus. Was könnte das sein? Oder besser: Was sollte es eigentlich werden? Und dann: In welchem Zusammenhang könnte es gebraucht worden sein?

Keine Sorgen, google hilft bei diesem Wort (noch nicht) weiter.

Neue Kategorie: Witze

Auf mehrfache Nachfrage habe ich mal eben eine neue Kategorie erstellt: „Witze“.
Witze können dann ganz wunderbar als Lückenfüller dienen, wenn ich sonst nichts wirklich sinnvolles zum Bloggen habe (das Ganze war übrigens nicht meine Idee). 😉

Fangen wir doch direkt mal mit einem Witz an:

Napoleon trug in Kämpfen immer rote Kleidung, damit seine Soldaten, sollte er mal verwundet werden, das Blut nicht sähen und dementsprechend auch nicht demotiviert würden.

Die Nazis trugen braune Hosen…