Archiv der Kategorie: Studium

Selbsteinschätzung 4TW

Am Freitag habe ich meine Klausur in Rechnerarchitektur geschrieben – die selbe Vorlesung, für die ich als Abschluss-Projekt ein Modul in VHDL geschrieben habe, mit dem man ASCII-Text über ein simuliertes Numpad eingeben kann. Die Prüfung war aufgeteilt in 50% NIOSII-Assembler und 50% VHDL (Zustandsautomat mit Zähler als Prozess). Meine Wunschaufgabe den Stack- und Registerinhalt von einer kleinen (disassemblierten) C-Funktion (Intel) zu interpretieren, war leider nicht mit dabei.

Bei beiden großen Aufgaben bin ich gleich zu Beginn vollkommen stecken geblieben. Kurz vor Schluss hatte ich meinen Tisch voller zerknüllter Moore-Automaten und Flussdiagramme und noch keine einzige Zeile Code geschrieben. Ich hab mich dann auf den erfolgversprechendsten Automaten konzentriert und irgendwie ein Statemachine-Pattern herunter geschrieben, ohne die als „Hilfestellung“ angegebenen Signale überhaupt zu beachten. Der Altera-Synthetisierer hätte mich dafür erwürgt. Assembler hat mein Professor nur als wenige Zeilen Makros gesehen.

Kurz: Bei der Abgabe war ich kurz davor, mich in aller Form für mein Versagen zu entschuldigen.

Heute finde ich in meinen Mails den Link zu den Ergebnissen und da steht eine 1,3! WTF?

Entweder hat mir mein Projekt den A**** gerettet oder eine Mischung aus Auswahlklausur und Glück, in den letzten 7 Minuten das richtige ausformuliert zu haben. Wahrscheinlich beides in Kombination mit einem extrem gut gelaunten Korrekteur.

Bevor ich darüber jetzt komplett ausflippe, muss ich das noch aus einer anderen Quelle verifiziert haben. Einen Tippfehler bei der Matrikelnummer würde ich sonst wohl nicht überleben …

Soviel auch zu mein Vorsatz, während der Klausurphase nicht zu bloggen. 😉 Fünf sind bereits geschrieben – drei fehlen noch. Morgen: Software Engineering und Formale Sprachen und Automaten

Stapelrechner Milestone 3

Heute war der letzte Präsentationstermin für unseren Stapelrechner-Simulator. Schon nächsten Donnerstag geben wir das fertige Programm, den Code und die Dokumentation beim betreuenden Professor ab. Damit ist dann unser Softwareprojekt für dieses Semester abgeschlossen. Alle Kann- und Soll-Anforderungen sich erfüllt – was will man mehr. 🙂 Na hoffentlich ist auch im nächsten Semester etwas Interessantes mit dabei.

Für mich kann ich auf jeden Fall abschließend sagen, dass ich in den letzten Monaten unglaublich viel über SWING, Java-Threads, Exceptions und das Event-Konzept gelernt habe, was mir in Zukunft sicher helfen wird. Am einfachsten wäre natürlich, auch im nächsten Jahr wieder eine GUI-Applikation zu entwickeln. Solange das Zielsystem nicht Matlab heißt, bin ich natürlich auch für alles Andere offen, immerhin habe ich noch die „freie Wahl“ (der Sprache). C oder C++ würden mich z.B. auch freuen, da Pointer dieses Semester etwas kurz gekommen sind und uns die Vorlesung „Betriebssysteme und verteilte Systeme“ eigentlich alle Werkzeuge in die Hand gegeben hat, um auch auf primitivsten C-Umgebungen mit mehreren Prozessen zu jonglieren.

Jaja, Softwareentwicklung ist schon ne feine Sache – vielleicht sollte ich überlegen, das später mal beruflich zu machen. 😉

FH Köln VPN und Linux

Es hat lange gebraucht, bis ich unter Linux (genauer Ubuntu, aktuell in Version 9.04 „Jaunty Jackalope“ mit 2.6.28-11 Kernel) in der FH Köln ins Internet gekommen bin. Der dafür notwendige Cisco VPN-Client braucht fast bei jedem größeren Kernel-Update einen neuen Patch, damit er überhaupt kompiliert.

Inzwischen habe ich es aber auch geschafft, mit dem freien VPNC eine stabile Verbindung zu bekommen. Dafür musste ich allerdings erst zwei Dinge herausfinden:

1) Die FHK-VPN.pcf enthält das Gruppen-Passwort nur in einer verschlüsselten Form, die sich aber (dank einer schwachen Verschlüsselung) im Netz dekodieren lässt. Das Ergebnis ist das unverschlüsselte Gruppen-Passwort: „KoelnerDom

2) Der VPN-Server spricht erst mit unserem VPNC, wenn wir uns mit einem Kommandozeilen-Parameter als original Cisco-CLient ausgeben: --application-version „Cisco Systems VPN Client 4.8.0:Linux“

Mit diesen beiden Informationen kann man sich nun (als Root) eine funktionierende FHK-VPN.conf in /etc/vpnc/ bauen und für die Bequemlichkeit noch ein kleines Script in /sbin/.

/etc/vpnc/FHK-VPN.conf:

IPsec gateway vpn.fh-koeln.de
IPSec ID FHK-VPN
IPSec secret KoelnerDom

/sbin/fhvpn:

#! /bin/sh

case „$1“ in
start)
vpnc --application-version „Cisco Systems VPN Client 4.8.0:Linux“ FHK-VPN
;;
stop)
vpnc-disconnect
;;
*)
echo „Usage: fhvpn {start|stop}“
exit 1
;;
esac

exit 0

Mit sudo fhvpn start und sudo fhvpn stop kann nun die Verbindung kontrolliert werden. Beim Aufbau wird nach eurem Benutzernamen und Passwort gefragt.

Tipp: Sofern noch nicht bekannt: Solltet ihr nach einem Disconnect nicht mehr ins VPN kommen, scheint eine Art TimeOut-Sperre für etwa eine Stunde daran Schuld zu sein. Dies kann man einfach umgehen, indem man beim Benutzernamen die Groß-Klein-Schreibung variert! (xmeier -> Xmeier|xMEier|…)

Viel Spass beim Surfen! 🙂

Stapelrechner Milestone 1

Heute war der erste Tag der Wahrheit für unser Semesterprojekt. Abgabe der Dokumente war schon diesen Mittwoch – heute folgte eine Präsentation über 15 Minuten + 5 Minuten Fragenteil, um den Stand der Entwicklung festzustellen und sich dem abschließenden Urteil des Auftraggebers bzw. des Managers zu stellen.

Kein Projektabbruch, keine gelbe Karte oder sonstige Ermahnungen. Offensichtlich haben wir wohl alles ordentlich vorgestellt, die Präsentationszeit fast bis auf die Sekunde eingehalten und auch alle notwendigen Projekte fristgerecht eingereicht. Einzig eine kleine Formsache in unseren Aktivitätsdiagramm muss geändert werden und die Aufteilung der Module auf die Team-Mitglieder so angepasst werden, dass alle Bezeichnungen aus der Grobarchitektur darin zu finden sind.

Heute morgen hatte ich noch 2,50€ in einen dieser Billig-Laserpointer investiert. Mal sehen, ob der bis zum Projektabschluss durchhält – ich kann es einfach nicht lassen damit herumzuspielen.

In den nächsten Wochen bis zum Milestone 2 darf endlich auch Code produziert werden. Die ersten Versuche mit Javadoc habe ich schon gemacht. Hübsch ist das Ergebnis zwar nicht, aber noch einfacher kommt man wohl nicht an eine Schnittstellen-Beschreibung seiner Klassen. Ein UML-Klassendiagramm steht dem Ganzen natürlich auch noch vorweg.

Projektarbeit

Vor ein paar Monaten habe ich in der FH-Bibliotek einen Kommilitionen aus Gummersbach kennengelernt, der gerade an seiner Master- oder Diplomarbeit (bin nicht mehr ganz sicher)  saß und in diesem Rahmen einen Instant-Messenger für die mobile Plattform „Openmoko“ entwickelte. Da hoffte er noch auf die Anschaffung eines DevKit-Smartphones durch seine Fakultät, um die Anwendung auch mal außerhalb seines Emulators zu testen zu können – Googles Android war grade erst durch die Presse gegangen.

Hm, das OpenMoko nun wohl neben Android auf der Strecke bleibt hat ihn bestimmt nicht allzu erfreut. Vor allem, wenn sich der „Plan B“ als Oberfläche für ein Navigationsgerät oder ähnliches entpuppt. Da arbeitet man über Monate an einer Software, die nun mit ein wenig Pech nie von jemanden benutzt werden wird – hoffentlich bleibt mir sowas erspart.

Themawechsel:

Seit Anfang der Woche kennen wir mit Sicherheit unser Projekt des Softwarepraktikums in diesem Semester: Es soll ein Simulator für einen Stapelrechner werden, der später in den Vorlesungen Digitaltechnik, rechnernahe Hardware-Programmierung oder Rechnerarchitektur eingesetzt werden kann, um die Funktionsweise einer registerlosen Rechenmaschine zu visualisieren. Diese soll dann Anweisungen (Addition, Multiplikation, Sprünge,  Funktionsaufrufe, …) in einer Assembler-ähnlichen Sprache verarbeiten können.  Ich würde behaupten, das auch leichtere Projekte zu Wahl standen. Ganz gemäß dem Motto: Jetzt auswählen – später fluchen! 😉

Nächsten Dienstag haben wir die erste Besprechung mit unserem „Auftraggeber“, um die Funktionalität abzustecken. Java als Programmiersprache steht aufgrund der gewünschten Plattform-Unabhängigkeit und Verzicht auf proprietäre Technologien eigentlich schon fest.

Am liebsten wäre es mir, wenn ich gleich hier und jetzt anfangen könnte zu programmieren, aber nach den Grundregeln des Software Engineering wäre das wohl mehr als nur falsch. 😉

Planung, Analyse, Entwurf, Programmierung, …

Auf ins 4. Semester

Die Klausuren sind alle geschrieben und das neue Semester hat begonnen.

Heute war ich schon um 8:00 in der FH zu einer Mathe 2 Vorlesungen, obwohl ich die Klausur längst bestanden habe – so als Übung in Aufmerksamkeit und frühem Austehen. 😉 Ein belegtes Brötchen mit Sonnenblumkernen in der linken Hand und dazu ein Frucht-Vitamin-Molke-Irgendwas-Getränk aus der Cafeteria in der Rechten.

Möge die junge aufkeimende Motivation aus der vorlesungsfreien Zeit möglichst weit in die nächsten Wochen reichen.

Mainframe

Ich hatte mich schon ziemlich auf die IBM-Mainframe-Vorlesung im nächsten Semester gefreut und musste doch eben eine Absage per Mail geben. Das Fach hätte insgesamt 8 Montage belegt, die dann von 8:00 bis 16:00 komplett belegt gewesen wären. Über ausfallende Vorlesungen an diesen Montagen (es passt nämlich nicht in den normalen Stundenplan) hab ich mir keine Sorgen gemacht – der neue Stundenplan macht aber mit einem Praktikumsblock am Montag-morgen einen Strich durch die Rechnung. Je nach Fächerwahl hätte ich dort 2-3 Praktika meiner regulären Fächer liegen, die jeweils 3-4 mal meine körperliche Anwesenheit erfordern würden (die Vorbereitungen jetzt ganz außer acht gelassen).

So verschiebe ich meinen Ausflug in die Welt der „dicken Kisten“ wie Christian auf das 6. Semester.

Zur Einführungsveranstaltung der Vorlesung könnte ich auch noch etwas schreiben – es ist halt selten, dass man als Student in der Pause ein kaltes Buffet vorgesetzt bekommt und dazu die Cola aus 0.2er Glasflaschen schlürft. Das Interesse an der Zusammenarbeit zwischen FH und IBM ist offensichtlich groß, was ich natürlich verstehen kann und unterstützends-wert finde.  Um so trauriger, dass mir der Stundeplan da nun einen Strich durch die Rechnung macht – hoffentlich bleibt uns die IBM Firmenpolitik noch ein weiteres Jahr wohl gesonnen.

Das letzte Protokoll

Was hat mich dieses Versuchsprotokoll für Nerven gekostet …

Thema war „Kompensation von Temperaturschwankungen bei der Arbeitspunkteinstellung einer Transistorschaltung“ und nach der ersten Korrektur sah das Titelblatt so rot aus, dass ich es fast komplett neu machen musste. Im zweiten Anlauf – also der Korrektur des Berichts – war es dann nur noch ein einziges falsches Bode-Diagramm in der asymptotischen Variante, das ich heute kurz vor der Abgabe dem Professor vorgelegt habe, um wirklich auf Nummer sicher zu gehen. Den Raum habe ich anschließend sogar mit dem Endtestat verlassen. Jeeeha.

Nach einer kurzen Verschnaufpause folgten 3 Stunden, in denen ich die Spektren von periodischen Signalverläufen abzeichnen durfte. Immerhin tauchten dann in den rück-transformierten Verläufen der aufsummierten ersten X-(Ober-)Schwingungen auch die erwarteten Klassiker auf (Rechteck, Dreieck, Sägezahn).

Das war es also für dieses Semester an Praktika und Versuchen – jetzt stehen mir nur noch diese 8 Klausuren im Weg, von denen mich die Erste gleich am übernächsten Montag erwartet. 😉

Der Verantwortliche aus dem Prüfungsausschuss hat mir Anfang der Woche noch einmal mitgeteilt, dass ich mich noch vor den Klausuren für ein Wahlpflichtfach entscheiden muss, das später offiziell in die Note eingerechnet wird. Diese Entscheidung hätte ich wirklich lieber weiter an das Ende des nächsten Semesters geschoben. Die Übertragungstechnik wird es wohl werden, weil ich dort immerhin mit der Masse des Jahrgangs schwimmen kann, sollte es doch schief gehen -  außerdem macht die geballte Ladung Hardcore-Theorie-Nachrichtentechnik bestimmt Eindruck in der Bewerbungsmappe. 😛

Bedeutet allerdings auch, dass  ich mich auf jeden Fall durch die Grundlagen der Telekommunikation kämpfen muss. Da können mir Elektronik 2 oder Regelungtechnik noch so gut gefallen: Sie stehen im Abschnitt „Ferner liefen“. Mögen mir die Götter des SoSe-Stundenplans wohl gesonnen sein.