FernUniversität Hagen

Fakultät für Mathematik und Informatik

Home

Lehre
Lehreveranstaltungen
Masterarbeiten und Bachelorarbeiten
   Offene Themen
   Reservierte Themen
   Laufende Themen
   Abgeschlossene Themen
   Hinweise für Studierende
Promotion
Mündliche Prüfungen
Klausuren

Forschung
Projekte
Forschungscluster
Publikationen und Literatursuche

Team

Stellenangebote für unsere Gruppe

Wir über uns (Kontaktadresse, Wegbeschreibung)
KONTAKT
Homepage
Neuigkeiten als RSS-Feed
ENGLISH
Startseite Lehrgebiet Multimedia und Internetanwendungen

Programmierung, Entwicklungsumgebung und sonstige Infrastruktur

[Zur Startseite]  [Arbeiten an unseren Linux-Rechnern]


Programmiersprache

Zu einer Diplomarbeit gehört normalerweise eine (prototypische) Implementierung. Die Wahl der Programmiersprache orientiert sich dabei an der in dem Projekt, in dem die Diplomarbeit angesiedelt ist, verwendeten Programmiersprache. Die Programmiersprache wird von den Betreuern festgelegt!

Derzeit kommt bei uns in neuen Projekten nahezu ausschließlich die Programmiersprachen Java zum Einsatz (Ausnahmen können die Regel bestätigen), in der Vergangenheit auch Perl in Kombination mit C. Zu den Besonderheiten der am Lehrstuhl verwendenten Perl-Installation gibt es eine eigenständige Dokumentation.

Wir erwarten, dass Diplomanden sicher sind im Umgang mit mindestens einer Programmiersprache sowie den dazu gehörenden Bibliotheken. Etwaige fehlende Kenntnisse in der Programmiersprache, die für die Diplomarbeit eingesetzt werden soll, sollten innerhalb kurzer Zeit ausgleichbar sein. Wer seine Fähigkeiten testen möchte, kann dies mit der eigens zu diesem Zweck erstellten Programmier-Aufgabe tun. Wir erwarten, dass diese Aufgabe innerhalb von zwei Wochen gelöst werden kann. Diplomanden sollten darüber hinaus in der Lage sein, die Aufgabe innerhalb von vier Wochen in einer neuen Programmiersprache zu lösen.


Entwicklungsumgebung

Neben der fachlichen Ausbildung legen wir Wert darauf, dass Diplomanden lernen, sich das Leben zu erleichtern, indem sie für ihre Aufgaben die richtigen Werkzeuge einsetzen. Dazu stellen unixoide Betriebssysteme (wie z.B. Linux) die aus unserer Sicht optimale Entwicklungsumgebung zur Verfügung. Letztendlich steht es natürlich jedem frei, seine Arbeit so zu organisieren, wie er es für richtig hält, solange gewährleistet ist, dass die Ergebnisse auf der am Lehrstuhl vorhandenen Rechner-Umgebung einsetzbar sind.

Hier soll nun ein Vorschlag unterbreitet werden, der sich schon oftmals bewährt hat, nicht zuletzt deshalb, weil dadurch die Zusammenarbeit zwischen Diplomanden untereinander und zwischen Diplomanden und Betreuern erleichtert wird:

Betriebssystem: Linux

Dazu wurde ja schon alles gesagt.

IDE (Integrierte Entwicklungsumgebung): Eclipse (zumindest für Java)

Eclipse ist eine sehr mächtige integrierte Entwicklungsumgebung vor allem für Java, die durch Plugins aber auch für andere Programmiersprachen eingesetzt werden kann. Eclipse hat in letzter Zeit Emacs für die Java-Entwicklung weitestgehend verdrängt.

Alternativer Editor: Emacs

Neben der extremen Erweiterbarkeit hat man mit dem Emacs ein Werkzeug, welches viele Funktionen in sich vereinigt. Das fängt an mit der integrierten Entwicklungsumgebung (edit - compile - run - debug) und hört noch lange nicht auf bei der Textverarbeitungs-Funktionalität. Viele nutzen Emacs auch als Mail- und News-Reader oder als Web-Browser.

Textverarbeitung: LaTeX

Hiermit hat man die Möglichkeit, sich der Layouts für die Diplomarbeit zu bedienen, die andere Diplomanden bereits in mehreren Iterationen vorgefertigt haben. Daneben hat LaTeX kein Problem mit umfassenden Dokumenten mit vielen Abbildungen; außerdem ist die Erstellung von Literaturverzeichnissen mit unserer BibDB und BibTeX ein Kinderspiel.

Bitte beachtet, daß die Betreuer üblicherweise Vorversionen der Arbeit lesen und dazu ihre Meinung abgeben sollen. Word-Dokumente sind unter Linux nur umständlich zu lesen und werden daher u.a. von den Betreuern nicht akzepiert. Wer also unbedingt seine Diplomarbeit (und Konzepte, Protokolle etc.) in Word schreiben will, sollte daraus ein PDF erzeugen und dieses weiterleiten.

Versionskontrolle: CVS

Sicher ist, dass sich das Nicht-Verwenden einer Versionskontrolle rächt. CVS ist ein verteiltes System für Projekt-Versionierung und wird in allen Projekten bei uns eingesetzt. Es erleichtert ungemein das Austauschen von Sourcen zwischen Betreuern und Studierenden, außerdem dient es als externes Backup für den Studierenden (wenn die heimische Platte abraucht, ist die Arbeit nicht verloren). Darüber hinaus kann man auf einfache Art und Weise ältere Versionen wiederherstellen, wenn sich ein neuer Weg als Fehler herausstellt. Wir empfehlen daher die Verwendung von CVS auch für den Text der Diplomarbeit (hier zahlt es sich wieder aus, wenn LaTeX verwendet wird).

Bis auf wenige Ausnahmen ist daher die Verwendung von CVS keine Empfehlung, sondern Pflicht. Dies gilt erst recht dann, wenn im Rahmen der Arbeit Code in das zugehörige Projekt integriert werden muß.

Automatische Unit-Tests in Java: JUnit

JUnit ist ein Tool für den automatischen Unit-Test in Java. Damit lassen sich Fehler im Programmcode finden, die sich in der initialen Implementierung oder in späteren Änderungen eingeschlichen haben. Wir empfehlen dringend die durchgehende Verwendung von JUnit; wenn in der Arbeit eng mit einem Projekt zusammengearbeitet werden muß, kann die Verwendung auch verpflichtend sein.

Build-Tool für Java: Ant

Ant ist der Standard in Sachen Build-Tools in Java und ersetzt damit das Unix-/Linux-Tool "make" (ist allerdings deutlich mächtiger). Es gilt dasselbe wie für JUnit - sehr empfehlenswert, teilweise auch Pflicht.


Zugang zu den Ressourcen der Arbeitsgruppe

Unsere Arbeitsgruppe betreibt einen eigenen Linux-Pool für Diplomanden und Studienarbeiter (LF 131). Diese Rechner können, müssen aber nicht genutzt werden; bei den meisten Themen steht einer Arbeit am heimischen PC nichts entgegen.

Jeder Diplomand und Studienarbeiter erhält einen Account auf den Rechnern (und damit verbunden eine Emailadresse, über die die Kommunikation abgewickelt wird) und eine Quote für den Drucker floyd (steht auch in LF 131).

Darüber hinaus erhält jeder Diplomand und Studienarbeiter einen Schlüssel für den Raum. Hierzu muß der Betreuer ein Formular ausfüllen. Der Studierende unterzeichnet dieses, geht damit zum Sekretariat (Frau Bick, LF 227b) und erhält dort einen Schlüssel. Dieser muß nach Abschluß der Arbeit zurückgegeben werden; andernfalls sind die Kosten für Ersatzbeschaffungen von Schlüsseln und Schlössern vom Studierenden zu erstatten.

Wir haben einige Hinweise für das Arbeiten an unseren Linux-Rechnern zusammengestellt.