Thomas Wölfers Baustatik-Blog

Thomas Wölfers Baustatik Blog

Diplomarbeiten bei D.I.E.


In unserer Münchner Niederlassung sind schon eine ganze Reihe an Diplomarbeiten verfasst worden - es müssten so 4 oder 5 Stück in den letzten paar Jahren gewesen sein. Dementsprechend bekommen wir hier auch häufiger mal Anfragen von Diplomanden, die ebenfalls gern ihre Diplomarbeit hier absolvieren möchten. Das ist im großen und ganzen kein Problem, und macht allen Beteiligten auch im Normalfall großen Spass: Allerdings - ein paar Vorraussetzungen muss man schon mitbringen.

D.I.E. ist nun einmal eine Firma die Software für Bauingenieure herstellt - und so sollten Sie für eine Diplomarbeit auf jeden Fall schon mal entweder Bauingenieur sein, oder eine Studienrichtung belegt haben, bei der eine 'Programmieraufgabe' als Diplomarbeit zulässig ist.

Dann müssen Sie natürlich auch programmieren können - und damit meine ich nicht, das Sie im dritten Semester mal ein Semester lang ein bisschen was über Fortran gehört haben.

Beim ersten Gespräch passiert im Normfall das folgende - und darauf sollten Sie vorbereitet sein. Das geht nur dann, wenn Sie sich mit C, C++ oder C# vernünftig auskennen. (Es geht natürlich nur im Prinzip um solche Aufgaben - konkret können das natürlich auch andere sein...)

1.) Sie werden vor einen Rechner gesetzt und müssen als erstes das folgende Programm schreiben: Das Programm ist ein Windows-Konsolen Programm und bekommt auf der Kommandozeile den Pfad zu einer Textdatei übergeben. Diese Datei soll gelesen und Zeilenweise ausgegeben werden. Vor jeder Zeile soll dabei eine Zeilennummer mit ausgegeben werden. Das kann in C, C++ oder in C# passieren.

Nicht lachen, denn auch wenn das trivial klingt: An dieser Aufgabe scheitern bereits eine ganze Menge Kandidaten.

2.) Sie müssen den Unterschied zwischen Managed Code und nativem Code kennen und erläutern können.

3.) Sie müssen eine einfache Datenstruktur wie zum Beispiel eine verkettete Liste implementieren. Das kann entweder funktionsorientiert mit C, oder objektorientiert mit (nativem) C++ oder C# passieren. Im Fall von C# müssten Sie erklären können wo der Vorteil (oder der Nachteil) der Implementierung gegenüber den anderen Sprachen liegt.

4.) Sie sollten erklären können, warum Sie Ihre Funktionen/Klassen/Variablen so genannt haben, wie Sie sie genannt haben.

5.) Sie sollten wissen was der Unterschied zwischen einer Klasse und einer Struktur in managed und in nativem Code ist.

... und so weiter und so fort:

Das ganze dauert so ungefähr eine Stunde: Ein bisschen Zeit muss also sein.

Im Wesentlichen ist es dabei eigentlich nicht wichtig, das die Aufgaben 'richtig' implementiert werden, oder das auch 'funktionierender' Code herauskommt. Was vielmehr interessiert ist, wie Sie an das Problem herangehen, wie Sie auf Compiler- und Laufzeitfehler reagieren und ob Sie die Compilerfehler richtig interpretieren und verstehen. Achso: Was auf jeden Fall zumindest sehr hilfreich ist: Sie sollten in der Lage sein, die größtenteil englischsprachigen Dokumentation lesen und verstehen zu können.

Wer sich in seiner Freizeit oder auch an der Uni ambitioniert mit dem programmieren auseinandergesetzt hat, für den ist dieses Gespräch und auch die Aufgaben ein Kinderspiel: Und dann sind Sie bei uns auch mit Sicherheit gut aufgehoben. :-)


Wasserbaukolloquium 2006


Die jährliche Veranstaltung findet am 9. und 10. März im internationalen Kongresszentrum in Dresden statt. Mehr Infos: BauBlog

Update: Xriss, Xaus, Xksn


Die bereits letzte Woche angekündigten Updates sind nun tatsächlich verfügbar - der Download-Bereich für unsere Statikprogramme ist wieder zugänglich. Das Problem mit den defekten Downloads lag letztlich tatsächlich an einer defekten Festplatte. Das Problem mit dem Update für Xpla, das in Form einer neuen XfemInterface.dll daher kam, ist leider noch nicht beseitigt. Mit anderen Worten: Im Download-Bereich stehen zwar die vorgenannten Programm-Updates zur Verfügung, das Update für Xpla aber leider noch nicht.

Bei der Gelegenheit: Fürs einfachere runterladen gibt es nun den Link zum CD-Rom Image auch oberhalb der Tabelle der Downloads - direkt im Text. Das CD-Rom Image ist die einfachste Methode ein Update durchzuführen: Es enthält immer alle neuen Versionen aller Programme, sodas Sie keine weitere Datei herunterladen müssen.


Happy Birthday, Blog


Das Baustatik-Blog meines Bruders hat Geburtstag: Seit genau einem Jahr gibts dort Informationen rund um die Baustatik im allgemeinen und um unsere Statiksoftware im besonderen. Mal sehen, was das nächste Jahr so bringt...

Genervt am Abend


Es gibt so Tage, da wäre man von Haus aus besser nicht ins Büro gegangen. Heute hatte ich mal wieder so einen Tag. Übers Wochenende - eigentlich schon letzten Freitag - hatte ich mich zum X-ten Mal vor die 'Kopieren & Einfügen' Funktion im neuen Programm gesetzt: Das Kopien und Einfügen ist deutlich komplizierter als man meinen möchte, und daher ist das immer wieder ein beliebter Kandidat der nicht ganz so klappt, wie ich mir das vorstelle, und der darum geändert werden muss.

Seis drum: Heute morgen um halb 10 hatte ich eine 'fast' funktionierende Implementierung, die eigentlich alle Fälle bis auf einen vernünftig behandelte. Im Zuge des Tages kam dann der zusätzliche Sonderfall hinzu - und führte zu immer größerer Verwirrung. Klugerweise hatte ich vorher aber den Originalcode gesichert und nur an einer Kopie gearbeitet. Klugerweise darum, weil sich im Laufe des Tages die Verwirrung so stark verbreitet hat, das die letzte Version dann überhaupt nicht mehr funktionierte. Aus Sicht der Anzahl der Sonderfälle ist das zwar nett - aber ansonsten nicht sehr brauchbar.

Um nochmal klar überdenken zu können was denn nun eigentlich das Problem ist, habe ich dann den Originalcode wieder eingebaut.

Der tat nur leider ebenfalls überhaupt nicht mehr. Ich scheine heute morgen einer geistigen Verwirrung unterlegen zu sein. Genauso wie der Kollege, mit dem ich die Fälle in funktionierendem Code durchgespielt habe. Genau der Code, der jetzt nicht mehr tut.

Gnarl !!!.&%$!... Nach knapp 11 Stunden totaler Unproduktivität gehe ich jetzt erstmal ein Bier trinken.


SCNR*




(*) Sorry, could not resist

Die Presse, Longhorn, .NET und 'tolle' Schlagzeilen


Mary Jo Foley hat da ein bisschen was losgetreten: Die (übersetzte) Schlagzeile lautete:

Im Gegensatz zu bisherigen Vermutungen, wird 'Longhorn' nicht komplett auf .Net aufgebaut sein.

Darauf reagierte der 'typische' Teil der (Computer)Presse wie immer mit den lustigsten Schlagzeilen - unter anderem 'The Register' mit 'Now Microsoft decouples Longhorn from .Net'. Andere Stellen behaupten auch gleich, komplette Teile von Longhorn würden nun doch nicht in managed Code entwickelt - sondern von Haus aus nochmals neu in nativem Code.

Irgendwie scheinen die Herren und Damen Schreiberlinge wie so oft auch dieses Mal nicht so recht zu wissen, von was sie da eigentlich schreiben.

Es war nie die Rede davon, das der XP Nachfolger vollständig in .Net implementiert werden sollte. Das wäre zum heutigen Zeitpunkt wohl auch kaum besonders sinnvoll - wie man zum Beispiel dem Video zu Singularity auch leicht entnehmen kann.

Worum es hingegen immer ging war, das die neuen Kern-APIs von Windows mit managed Code implementiert werden würden: Und das ist auch weiterhin der Fall: Davon kann sich auch jeder leicht überzeugen, der bereit ist einen Blick auf Indigo und Avalon zu werfen. Das tötet natürlich 'tolle' Schlagzeilen - ist dafür aber mit der Realität doch deutlich kompatibler als andere Behauptungen.

Der eigentliche Ersatz für die Win32 API ist WinFX (Indigo und Avalon sind ein Teil davon) - und auch WinFX ist ein managed Code Framework.

Was bedeute das nun für unsere Baustatik-Software? Eigentlich nicht viel: Die vorhandenen Programme bauen auf ganz normalem, nativen Win32 Code auf - und werden auch unter Longhorn (dem XP Nachfolger) 'einfach so' ausgeführt werden können. Unsere Neuentwicklungen wie das Faltwerks-Programm basieren auf 'managed' Code - sind aber nicht von WinFX abhängig, sondern brauchen nur das .Net Framework 2.0: Das kann aber auch unter älteren Windows-Versionen installiert werden, und darum wird das Faltwerks-Programm ab Windows 98 laufen. (Zumindest ist das so geplant - unter Umständen werden wir aus nicht-technischen Gründen keine Version für 'Uralt' Windows wie Windows 98 anbieten - aber darüber ist das letzte Wort noch nicht gesprochen....)