Direkt zum Hauptbereich

Posts

Es werden Posts vom Dezember, 2006 angezeigt.

Karl-Steinbuch-Stipendium

Wenn Sie sich in Ihrer Freizeit mit interessanten Informatik-Projekten und -Ideen befassen, haben Sie (als Student bzw. Studentin in Baden-Württemberg) schon einmal darüber nachgedacht, sich Ihr Engagement fördern zu lassen? Denken Sie doch einmal darüber nach, ob es Sinn für Sie macht, sich um ein Stipendium zu bewerben. Aktuell (und immer wieder aktuell) ist die Ausschreibung des Karl-Steinbuch-Stipendiums .

Constraint Programming

In der letzten Zeit habe ich mich ein wenig mit einer möglichen Umsetzung des UML-Reasoner beschäftigt. Um ein Gefühl für den "Artenreichtum" eines Klassendiagramms auf der Objektebene (der Instanzebene) zu bekommen, spielte ich ein wenig rum. Zwei Klassen und eine eingerichtete Assoziation bildeten meine Ausgangsbasis. Maximal fünf Instanzen zu jeder Klasse sollte es geben. Ich schrieb mir einfache Routinen, die mir aus zwei Mengen ({a1, a2, a3, ...} und {b1, b2, b3, ...}) mit je fünf Elementen alle möglichen Relationen von der einen zur anderen Menge erzeugten -- unter jeweils unterschiedlichen Annahmen. Beispielsweise kann man das Paar (a1,b1) als gleichwertig mit (a2,b2) betrachten. Schließlich geht es ja nur um den Link von einer Instanz aus der ersten Menge zu einer Instanz aus der zweiten Menge. Man kann jedoch auch anders argumentieren, wenn man Instanz-Relationen über die Zeit betrachtet. Dann kann (a1,b1) die Folge einer anderen Konstellation sein als (a2,b2) und a...

Inversion of Control

Did you every try to implement an interpreter for the Scheme programming language yourself? I enjoyed it a lot -- and still enjoy it, since I haven't finished my little Scheme project yet. It is a lot of fun to implement Scheme in Scheme, but I use Python in order to make sure I understand each and every bit of the Scheme language. While a basic Scheme implementation is easy to realize, a more advanced implementation supporting so-called continuations is a nice challenge. First you have to understand the concept of continuations, which is quite a challenge in its own. Second, you need to have an idea how to make them happen in your host language. Just to give you a rough idea: In Scheme, you get a sort of read and restore access to the current state of the computational process. There is a special procedure in Scheme, which you can use anywhere in a Scheme program; the procedure is called "call with current continuation" ("call/cc" for short) -- but that'...

Haskell-Kurs

Haskell ist eine moderne, funktionale Programmiersprache mit vielen interessanten Features wie z.B. Pattern Matching, Currying und Lazy Evaluation. Mark C. Chu-Carroll hat auf seinem Blog "Good Math, Bad Math" einen Haskell-Kurs begonnen, den ich jedem nur empfehlen kann, der sich für Programmiersprachen jenseits von Java, C#, PHP, Python, Ruby, Perl und anderen (also all jenen, die als imperative Sprachen bezeichnet werden) interessiert. Ich bin schon sehr gespannt darauf, wenn Mark uns Monaden erklären wird und was für ihn die "Leim"-Qualität von Haskell ausmacht.