Archiv für die Kategorie ‘Allgemein’

Prüfungstermin Januar 2010 / Nichsequentielle Programmierung

Samstag, 12. Dezember 2009

Ein Haufen privater Verpflichtungen hat mich in den letzten Monaten davon abgehalten, mit dem Fernstudium fortzufahren. Das hört jetzt zwar nicht auf, wird sich aber hoffentlich auf einem erträglichen Maß einpendeln. Da für den 22. Januar ein außerordentlicher Prüfungstermin angesetzt ist und mein zweiwöchiger Urlaub über Weihnachten genehmigt wurde, will ich die Gelegenheit nutzen, um auf die schnelle ein Modul fertig zu bekommen.

Ausgesucht habe ich mir dafür Nichtsequentielle Programmierung (NSP), da dieses Modul aus nur einem Kurs besteht und mir das Thema nicht völlig unbekannt ist. Als Basis wird hier auch wieder meine “Heimatsprache” Java verwendet. Bis zum 13. Januar, 12:00 Uhr mittags muss alles durch sein, inklusive der Online-Abschlusstests und -Klausuren. Also genau ein Monat Zeit. Das dürfte zu schaffen sein.

Das Modul habe ich gerade gebucht und freigeschaltet. Also auf gehts …

Jetzt 2. Fachsemester

Sonntag, 06. September 2009

Ach ja, mit der bestandenen XML-Klausur habe ich 6 Module fertig und damit auch das 1. Fachsemester. Juhu, es geht voran :-)

Modul RS abgeschlossen

Donnerstag, 21. Mai 2009

Gestern kam das Klausurergebnis: 100%

Ich bin natürlich mehr als zufrieden und hoffe, dass das mit den guten Noten noch eine Weile weitergeht bis die wirklich schwierigen Fächer dran kommen :-)

Fortschritte in Rechnerstrukturen

Samstag, 11. April 2009

Mit Rechnerstrukturen komme ich wirklich gut voran. Da passt es ganz gut, dass es nun definitiv einen zusätzlichen Prüfungstermin am 8. Mai 2009 gibt. Anmeldeschluss ist Donnerstag, der 30. April, 18:00 Uhr.

Momentan hab ich bei RS noch 4 von 27 Tests und 5 von 10 Einsendeaufgaben offen sowie Online-Abschlusstest und -Klausur. Das schaff ich bis zum Ende des Monats. GDI-2 hebe ich mir dann für den nächsten Termin auf.

Präsenztermin März 2009

Montag, 09. März 2009

Für den kommenden Präsenztermin konnte ich mich wieder aufraffen und bin dabei den angefangenen GDI-2 Kurs weiterzumachen.

Leider hab mich immer noch nicht um das Hotelzimmer gekümmert.

Ein paar GDI-2 Aufgaben hab ich inzwischen abgegeben und stehe damit kurz vor der 50%-Zulassungsgrenze für die Online-Klausur. Meine Strategie ist jetzt, dass ich mir die Aufgaben mit den meisten Punkten raussuche und mir dann dasjenige Kapitel vornehme. Also zuerst die 50- und 25-Punkteaufgaben und dann erst die mit den 10 Punkten.

Mit einer 50er hat das schon geklappt. Und eine 25er hab ich gerade in der Mangel. Zum Glück sind das auch Aufgaben, bei denen ein Programm vorgegeben ist, und man nur eine kleine Stelle erweitern muss.

Die 50er-Aufgabe war ein Wetterstationsprogramm, das sich die Daten per XML von einem Online-Service holt. Da musste man die Zeitanzeige anpassen.

Die 25er ist noch nicht abgabefertig, aber prinzipiell schon gelöst. Dabei ist ein Programm vorgegeben, mit dem ein Benutzer gegen den Computer ein Brettspiel spielen kann. Die “Computer-Intelligenz” wird dabei durch den Minimax-Algorithmus implementiert. Die Implementierung soll so abgewandelt werden, dass stattdessen die Alpha-Beta-Suche verwendet wird.

Vom Schwierigkeitsgrad her würde ich die Punkte eigentlich genau anders herum vergeben. Obwohl natürlich die Algorithmen vorgegeben sind, muss man diese erstmal durchdringen und zusätzlich die vorgegebene Implementierung. Und man muss deutlich mehr Aufwand treiben, um seine Lösung zu überprüfen. Die Alpha-Beta-Suche liefert exakt die gleichen Züge wie die Minimax-Suche, ist aber hinsichtlich der Laufzeit optimiert.

Ein Großteil der Zeit ging dabei drauf, einen Test zu schreiben, der zwei Computergegner gegeneinander antreten lässt und die eine Seite immer mit beiden Verfahren durchrechnet, um das Ergebnis vergleichen zu können.

Das war auch bitter nötig, denn meine erste Implementierung entsprach nicht wirklich den Vorgaben. Aber ein paar Stunden und massenweise Debugausgaben später war klar, dass mein Verständnis der Alpha-Beta-Suche anfangs doch nicht so tiefgehend war, wie ich dachte.

Aber jetzt sind alle meine JUnit-Tests grün und alles wird gut. Nur die Debugausgaben und zwischenzeitlich obsolet gewordene Kommentare müssen jetzt noch raus. Da mich die eigentlich wieder abflauende Grippewelle jetzt doch noch erwischt hat, reicht meine Restaufmerksamkeitsspanne lediglich für diese paar Zeilen. (Naja, und ich müsste auf meinem Netbook, mit dem ich hier gerade im Bett liege, erstmal Eclipse installieren, den Workspace kopieren, etc, worauf ich jetzt gerade überhaupt keine Lust habe.)

Wieder da

Samstag, 06. Dezember 2008

So, nach über einem Monat ohne Internet bin ich wieder online und finde neben Restumzugsstress und Arbeit die Zeit, mich mal wieder ums Studium zu kümmern. Der nächste Prüfungstermin ist der 16. Januar 2009; Anmeldeschluss ist der 5. Januar um 18:00 Uhr.

Für mich steht weiter GDI-2 auf dem Plan, das gerade etwas pausieren musste. Gut vier Wochen hab ich noch Zeit, das müsste eigentlich reichen.

Zusätzlicher Prüfungstermin im Januar

Freitag, 10. Oktober 2008

Im Januar 2009 wird tatsächlich ein zusätzlicher Prüfungstermin stattfinden, wie meine Nachfrage bei W3L ergab. Der genaue Termin steht aber wohl noch nicht fest.

Klausur- und Präsenztermin September 2008, Ergänzung

Donnerstag, 18. September 2008

Die Klausurtermine für den Klausur- und Präsenztermin Sept. 2008 stehen nun fest. Ich schreibe am Freitag um 15:30 Uhr Mathe. Insgesamt stehen 20 Studenten auf der Klausurliste, das ist Rekord. Wir werden immer mehr ;-) Und sicher kommen noch einige Studenten, die keine Klausuren schreiben.

Freitag abend wird ein (freiwilliger) Stammtisch mit W3L-Mitarbeitern und Studenten stattfinden zwecks Erfahrungsaustausch, kennenlernen, etc.

Der zweite Prüfungstermin ist Samstag früh um 8:30 Uhr. Meine Klausur hab ich dann aber glücklicherweise schon hinter mir. Mathematisch-logische Grundlagen schreiben diesmal mit mir 3 Studenten. Allerdings bin ich am Freitag der einzige. Zwei weitere Studenten schreiben aber auch schon das nächste Mathe-Modul: Angewandte Mathematik.

Für den weiteren Samstag ist das für Studenten verpflichtende Präsenzprogramm geplant. Es sind einige interessante Vorträge (z.B. Von Ajax bis Grails – Neue Techniken im Web-Engineering von Dr. Doga Arinir) vorgesehen, neue Module werden vorgestellt und man hat die Möglichkeit zur Klausureinsicht zu den Korrekturen des letzten Termins. Einige der Veranstaltungen finden diesmal auch parallel statt, so dass man sich entscheiden muss.

Von 10 bis 11 Uhr findet diesmal auch eine eigene Infoveranstaltung für Studieninteressierte statt. Also falls noch jemand interessiert ist, dort wäre die Gelegenheit Fragen zu stellen, sich beraten zu lassen und die potentiellen Kommilitonen kennen zu lernen (nicht zu vergessen die netten W3L-Leute :-) ).

Zellularautomaten

Freitag, 12. September 2008

Die letzte Einsendeaufgabe stammt aus dem Kapitel Komplexität – Dynamische Systeme. Dabei soll man die ersten 20 Zustände eines Zellularautomaten (ZA) simulieren. Dabei hängen 20 Knoten im Kreis und bei jedem Schritt berechnet sich der Zustand eines Knotens anhand der Nachbarknotenzustände neu. Es war nicht gefordert, dass man dafür ein Programm schreibt und ich wollte auf keinen Fall eine GUI dafür implementieren. Aber eine grafisch schöne Ausgabe der Knotenzustände wollte ich schon.

Also hab ich ein kleines Python-Skript geschrieben, dass den ZA simuliert und zu jedem Zustand eine SVG-Grafik erzeugt. Dafür hab ich dieses Hilfsmodul verwendet. Mit dem convert-Tool von ImageMagick kann man daraus leicht GIFs erzeugen. Das sieht dann ungefähr so aus:

Simulation Zellularautomat

Das ganze ist eine einfache Börsensimulation. Käufer sind schwarz und Verkäufer weiß. Jeder Börsenheinz wird im nächsten Schritt zum Verkäufer, wenn seine beiden Nachbarn die gleiche Farbe haben. Bei unterschiedlicher Farbe wird er zum Käufer. Der Börsenkurs berechnet sich dann aus der Anzahl der Käufer minus Anzahl der Verkäufer. Es sollte dann noch ein Graph mit dem Börsenkurs in Abhängigkeit der Schritte erstellt werden. Das ging ziemlich einfach mit matplotlib.

Damit sind die Einsendeaufgaben erledigt. Ein einzelner Test zu Markovketten ist noch übrig (obwohl das eigentlich ein Ergänzungskapitel ist). Natürlich werde ich alle Tests und Aufgaben noch einmal durchgehen bevor ich mich an den Abschlusstest setze. Aber jetzt lieber schnell ins Bett, sonst bin ich morgen (oder besser gesagt heute) wieder so spät auf Arbeit …

Mal zum Ende kommen …

Sonntag, 07. September 2008

Ok, bei Mathe sind jetzt noch 4 Tests und 3 Einsendeaufgaben offen. 6 Einsendeaufgaben hab ich gerade in einer kleinen Marathonsitzung heute abgegeben. Diese waren vor allem über Rekursionen und Schleifen (z.B. Terminierung).

Die größten Kopfzerbrechen hat mir die Aufgabe mit der doppelt rekursiven Ackermann-Funktion gemacht. Aufgabe war es die Funktionswerte A(x, y) für alle x von 0 bis 4 und alle y von 0 bis 2 zu berechnen. Nach einigen Optimierungsversuchen hat mein Programm es zumindest geschafft A(4, 1) zu berechnen. Bei A(4, 2) musste ich (bzw. mein Programm) jedoch passen. Entweder Stackoverflow oder zu wenig Heapspace (trotz hochsetzen mit -Xss bzw. -Xmx). Aber wenn man sich in der Wertetabelle der Wikipedia-Seite den Funktionswert für A(4, 2) ansieht, dann kann man sich schon denken, warum …

Nächstes Wochenende sind auf jeden Fall der Online-Abschlusstest und die Online-Abschlussklausur fällig.

Das Kapitel über Fuzzy-Logik ist etwas gewöhnungsbedürftig. Das liegt wahrscheinlich daran, dass es für mich eine ganz neue Thematik ist. Die anderen Sachen hab ich ja alle zumindest schon mal irgendwo gesehen. Aber was solls. Mut zur Lücke im Notfall. Deshalb auch wieder so viel wie möglich an Bonuspunkten sammeln.