3 Leitungskodierung - pi4

Werbung
Java-basiertes Tutoring-System zu dem Thema
„Leitungskodierung in Rechnernetzen“
Studienarbeit
vorgelegt am
Lehrstuhl für Praktische Informatik IV
Prof. Dr. W. Effelsberg
Universität Mannheim
Betreuer: Dipl.-Ing. Ref. jur. Hans Christian Liebig
im
Juni 2003
von
Sasan Safai
aus Freiburg i.Breisgau
II
Inhaltsverzeichnis
Abbildungsverzeichnis
1
2
3
4
Einleitung
IV
1
1.1
Einführung
1
1.2
Struktur
1
1.3
Ziel
2
Multimediales Lernen
3
2.1
Lernen
3
2.2
Lerntheorien
4
2.2.1
Konstruktivismus
4
2.2.2
Kognitivismus
5
2.2.3
Behaviorismus
5
Leitungskodierung
6
3.1
Physikalische Grundlagen
6
3.2
Einordnung in die Schichtenarchitektur
7
3.3
Bit- und Baudrate als Kennzahl für die Effizienz
9
3.4
Eigenschaften und Algorithmen von Leitungskodes
10
3.4.1
non-return-to-zero-level (NRZ-L)
11
3.4.2
return to zero (RZ)
11
3.4.3
non-return-to-zero-mark, und -space (NRZ-M,NRZ-S)
12
3.4.4
biphase level (Manchester Code)
12
3.4.5
biphase-mark und biphase-space
13
3.4.6
Differential Manchester
13
Das Applet
15
4.1
Der Aufgabentyp „generate“
16
4.2
Der Aufgabentyp „transform“
17
III
4.3
5
Die Benutzerführung
17
4.3.1
Aufgabenauswahl.
17
4.3.2
Die Zeichnungsbox
18
4.3.3
Weitere Bedienelemente
19
4.4
Instruktionsdesign
20
4.6
Implementierung
21
4.6.1
Entwicklungsumgebung
22
4.6.2
Prozess
22
4.6.3
Struktur
23
4.6.4
Qualität
26
Zusammenfassung und Ausblick
27
5.1
Zusammenfassung
27
5.2
Ausblick
28
Literaturverzeichnis
Anhang
VI
VIII
IV
Abbildungsverzeichnis
Abbildung 1:Lernumgebung CATS
2
Abbildung 2:Zyklus Wissenserwerb
4
Abbildung 3:Lerntheorien und resultierende Lernprogramme
6
Abbildung 4Modulationstechniken
7
Abbildung 5 ISO/OSI Referenzmodell
8
Abbildung 6Bitrate/Baudrate
9
Abbildung 7LeitungskodierungenÜbersicht
14
Abbildung 8: GUI
16
Abbildung 9 zeichen und löschen
19
Abbildung 10:Arbeitsablauf eines Instruktionsdesigns
20
Abbildung 11 Wasserfallmodell nach Boehm
23
Abbildung 12: Uml Klassendiagramm
24
Abbildung 13: Kollaborationsdiagramm:
26
1
1
Einleitung
1.1
Einführung
E-Learning galt in den letzen Jahren als ein hochprofitables Geschäft. Der Zwang in der
heutigen Gesellschaft, besonders in der Berufswelt, nach ständiger Weiterbildung führte
zu einem stark wachsenden Bedarf in diesem Bereich. Besonders reizvoll erschien die
Möglichkeit sich Wissen anzueignen ohne an dem Institut räumlich präsent zu sein.
Auch wenn jetzt Ernüchterung eingetreten ist und etliche Cyber-unis in den USA wieder
ihre Pforten geschlossen haben, ist es immer noch ein stark wachsender Markt. Wie bei
vielen technischen und sozialen Entwicklungen haben die USA einen zeitliche
Vorsprung. Die University of Phoenix1 , die sich auf Erwerbstätige in lukrativen
Berufsfeldern spezialisiert hat, zählt heute bereits 67000 Studenten, bzw. Kunden. Sie
wird von der newsweek2 in einer Rangliste mit den 100 innovativsten und rentabelsten
Unternehmen der USA geführt.
Auch in Deutschland entwickeln sich Angebote, die Freie Universität Berlin hat einen
neuen Fernstudiengang3 gestartet der mit ein wenigen Präsensphasen auskommt. Die
Fern-Universität Hagen4 wurde 1974 gegründet und gilt als älteste Institution in diesem
Bereich, auch sind ihre Abschlüsse alle staatlich anerkannt.
1.2
Struktur
Diese Studienarbeit ist eingebetet in eine Lernumgebung5 CATS (Communication and
Tutoring System) der Universität Mannheim , das vom Lehrstuhl für Praktische
1
University of Phoenix : http://www.phoenix.edu
2
Newsweek : http// www.newsweek.com
3
Freie Universität Berlin : http://www.oei.fu-berlin.de/oei/fernstudien.htm
4
Universität Hagen : www.fernuni-hagen.de
5
CATS-Server : http://herodot.informatik.uni-mannheim.de
2
Informatik IV6 entwickelt wurde. Hierbei handelt es sich um ein web-basierendes
System. Es werden eine Reihe von Lern-Programmen, die Bereiche aus dem Fach
Informatik insbesondere Rechnernetze und Multimediatechnik abdecken, angeboten.
Beide Fächer werden an der Universität in Form von Präsenzveranstaltungen gehalten.
Darüber hinaus können Lehrveranstaltungen per Videostream verfolgt werden. Die
Übungsaufgaben sind interaktiv und haben eine Schnittstelle zu einem Betreuer, d.h.
dieser kann durch ein Messaging-System Hilfestellung geben. Des weiteren gibt es eine
Zentrale Datenbank, die die Ergebnisse speichert und so dem Studenten ein Feedback
über seinen Lernerfolg gibt.
CATS
Web-Server
mit Übungs-
Database
VideostreamServer
applets
User
Abbildung 1:Lernumgebung CATS
1.3
Ziel
Das zu entwickelnde Lernprogramm behandelt das Thema Leitungskodierung in
Rechnernetzen. Die formalen beschriebenen Algorithmen in Lehrbüchern und
Vorlesungen sollen auf einem möglichst interessanten Weg präsentiert werden. Am
ehesten gelingt dies durch eine Visualisierung der Kodierungen. Der Benutzer soll nicht
überansprucht werden, dies wird durch ein adaptives Konzept verhindert. Ein höheres
Schwierigkeitsniveau kann erst erreicht werden, wenn die einfacheren Aufgaben gelöst
wurden. Damit soll bezweckt werden, dass der Student einen reellen Lernerfolg hat und
6
Lehrstuhl Praktische Informatik IV: http://www.informatik.uni-mannheim.de/pi4
3
sich nicht einfach durchklickt. Als Ergebnis dieser Arbeit soll ein Tool stehen, dass
Studenten gerne benutzen, sowie ihnen eine wirkliche Hilfe im Erlernen von
Leitungskodes ist.
2
Multimediales Lernen
2.1
Lernen
Lernen ist nach allgemeinem Verständnis das Aneignen von Kenntnissen und
Fähigkeiten laut einer Definition von Microsofts Lexikon Encarta7. Der Prozess des
Lernens in einem Verhältnis Autor/Lehrenden beginnt mit der Festlegung der Lernziele.
Danach wird muss das Wissen vom Autor erworben werden, bzw. sollte bereits
vorhanden sein. Der Lehrstoff sollte geeignet aufbereitet werden und den Lernenden
präsentiert werden. Im universitären Betrieb findet das in der Regel in Form von
Vorlesungen und Büchern statt. Die Informationen müssen von den Lernenden
aufgenommen werden und durch Übung und Wiederholung längerfristig gespeichert
werden. Letztendlich erfolgt eine Wissenüberprüfung, um den Lernerfolg festzustellen,
in der Regel geschieht dies durch Test.
7
Microsoft Encarta Enzyklopädie: http://encarta.msn.de/
4
Festlegung der
Wissensüberprüfung
Lernziele
Wissenserhalt
idealisierter
Wissenserwerb
Wissensvermitt
(Autor)
lungsprozeß
Wissensaufnahme
Wissensaufber
Wissensvermittlung
eitung
Abbildung 2:Zyklus Wissenserwerb
(Quelle, Steinmetz,Multimediatechnologie,3.Aufl.Springer 2000,S.815)
2.2
8
Lerntheorien
Wie das Lernen eines Menschen von bestimmten Verhaltensweisen oder Informationen
stattfindet , also der eigentliche Wissenserwerb, ist bis heute unverstanden. Das Lernen
ist Thema vieler Forschungsbereiche , wie z.B. Medizin, Psychologie, Pädagogik aber
auch Informatik bzw. Kybernetik. Es haben sich drei Entwicklungsrichtungen in der
Psychologie von Lerntheorien durchgesetzt, die kurz vorgestellt werden.
2.2.1 Konstruktivismus
Der Konstruktivismus bezeichnet Lernen als Aufbau von Erfahrungen. Diese werden
gespeichert mit anderen verknüpft und führen so zu neuen Erkenntnissen . Das Wissen
muss möglichst authentisch zu der realen Lebenssituation präsentiert werden9, abstrakte
Symbole führen zu keinem Erfolg. Lernprogramme die dieses Konzept verfolgen,
müssen interaktiv sein. Da die meisten Wissensgebiete komplex sind, haben diese
99
Vgl. Schulmeister, R., Grundlagen hypermedialer Lernsysteme –Theorie, Didaktik, Design, 2002, S. 74
5
Programme keine sequentielle Struktur. Es sind Abbildungen der realen Welt, also
Simulationen10.
2.2.2 Kognitivismus
„Kognitivisten untersuchen psychische Prozesse , wie Wahrnehmung , Problemlösen
durch Einsicht oder Informationsverarbeitung, die nicht direkt beobachtbar sind“ laut
Steinmetz11. Programme die diese Theorie verfolgen, sind meist tutorielle Programme
bzw. Simulationen. Das Lernen soll in diesem Fall flexibel gestaltet werden, der Tutor,
in Form eines Menschen oder Computers, soll den Lernprozess unterstützen. Dies
geschieht durch Tips oder Hilfestellungen bei der Lösung eines Problems. Besonders
betont wird dieser Aspekt bei dem Konzept „Cognitive Apprenticeship“12[ .Hierbei wird
das Meister-Lerhring-Modell eingeführt. Der Meister hilft (coached) den Lehring.,
wobei diese Aktivität, mit wachsendem Lernerfolg. langsam zurückgenommen wird13
(fading). Auf diesem Modell basieren adaptive Lernprozesse und intelligente
Lernsysteme.
2.2.3 Behaviorismus
Bei diesem Entwurf wird das Lernen an sich als Black-Box angesehen, da der
eigentliche Lernprozess, wie bereits erwähnt, der Wissenschaft immer noch
verschlossen ist. Das Lernen wird somit als Reiz-Reaktionskette gesehen. Grundlagen
dieser Theorie legte Ivan P. Pawlow ,mit seinem Speichelflussexperiment mit Hunden.
Nach dieser Lernmethode können nur einfache Zusammenhänge vermittelt werden,
komplexere Methoden müssen gegebenenfalls in kleinere zerstückelt werden. Die
Funktion des Computers bei behavioristischen Lernprogrammen ist klar definiert. Der
Computer entscheidet welche Aufgaben bearbeitet werden sollen. Als Feedback wird
nur mitgeteilt, ob die Aufgabe zufriedenstellend gelöst wurde oder nicht. Einfache
Übungsprogramme gehen nach diesem Konzept vor.
10
Steinmetz,R., Multimedia-Technologie – Grundlagen, Komponenten und Systeme, 2000, S. 821
11
Zitat: Steinmetz,R., Multimedia-Technologie – Grundlagen, Komponenten und Systeme, 2000, S. 821
12
Vgl. collins/brown et al(1989); Brown/collins et al (1991)].
Vgl. Schulmeister, R., Grundlagen hypermedialer Lernsysteme –Theorie, Didaktik, Design, 2002, S. 81
13
6
Lern- und Wissenspsychologie
Behaviorismus
Kognitive Psychologie
Konstruktivismus
Computer Aided Instruction,
ComputerBased
“drill&practice”-Programme
IntelligenteTutorensysteme
Training,
Simulationen,
Mikrowelten
Abbildung 3:Lerntheorien und resultierende Lernprogramme
3
Leitungskodierung
3.1
Physikalische Grundlagen
Um Informationen über ein physikalisches Medium zu übertragen müssen diese an die
physikalischen Eigenschaften des Mediums angepasst werden.. Bei Computernetzen
wird also ein diskreter Wert in einen analogen umgewandelt. Mann nennt diesen
Prozess auch Modulation14. Als Träger wird in der Regel ein sinusförmiges Signal
gewählt, dass entsprechend dem Codealphabet in Frequenz , Amplitude oder Dauer
variiert werden kann. Analog zu der Variation werden die Verfahren dann auch
Amplituden-,Frequenz-,Phasenmodulation genannt15. Dieses analoge Signal wird zur
Übertragung genutzt. Durch äußere Einflüsse auf das Medium kann es zu Störungen
kommen, wie z.b. Verzerrungen, Rauschen oder Echos. Dem ist nur entgegenzuwirken
durch entsprechende Schaltungen aus der Nachrichtentechnik und soll nicht weiter
vertieft werden. Vielmehr soll der Fokus auf die Übersetzung des Codealphabets in eine
14
Vgl. Effelsberg, Prof. Dr. Wolfgang : Vorlesungsunterlagen zur Vorlesung Rechnernetze des
Lehrstuhls Praktische Informatik IV der Universität Mannheim, 2002
15
Vgl. Tanenbaum, A., Computernetzwerke, 1990, S. 87
7
zwei bis dreistufige Pulsfolge gesetzt werden, der sogenannten Basisbandübertragung
oder im angelsächsischen Raum auch als auch Leitungskodierung bezeichnet16.
Abbildung 4Modulationstechniken
3.2
Einordnung in die Schichtenarchitektur
Aktuelle Computer-Netzwerke haben ein hohes Maß an Komplexität erreicht. Um
dieWeiterentwicklung zu erleichtern und die Modularität nicht einzuschränken wurde
1984 das "Reference Model for Open Systems Interconnection" (OSI-Modell)
veröffentlicht. Dieses Model teilt die Funktionalität eines Netzwerkes in 7 Ebenen bzw.
Schichten ein. Jede Schicht bietet Dienstzugangspunkte an und hat die Aufgabe der
darüber liegenden Schicht Dienste bereit zu stellen. Folgende Abbildung zeigt einen
Überblick über diese 7 Schichten.
16
Vgl. Kauffels,F.,Lokale Netze , 2000,S.165
8
Abbildung 5 ISO/OSI Referenzmodell
Im folgenden werden kurz die Funktionalitäten der einzelnen Schichten erwähnt 17. Die
höchste Ebene, die Anwendungsschicht (application layer), dient den jeweiligen
Applikationen als einzige Zugriffsmöglichkeit auf die Datenkommunikation. Sie enthält
eine Vielzahl von Protokollen , um z.B. unterschiedliche Teilnehmer eines Netzwerkes
miteinander zu verbinden, z.B. in dieser Schicht werden z.B. komplexe Dienste wie die
Verzeichnisfreigabe
oder
Dateitransfer
Darstellungsschicht
(presentation
layer)
(filetransfer-protokol)
übernimmt
die
angeboten.18
Aufgabe
Die
abstrakte
Datenstrukturen in ein für den Computer lokal lesbares Format zu konvertieren. Sie
basiert auf der Kommunikationssteuerungsschicht oder auch Sitzungsschicht (session
layer), welche das Zusammenkommen mehrer Anwender an verschieden Maschinen
und das Synchronisieren an der Kommunikation beteiligten Prozesse ermöglicht. Die
Transportschicht (transport layer) transportiert Daten von einem Computer zu einem
anderen (Ende-zu-Ende-Datenaustausch). Sie übernimmt dabei Daten von der
Sitzungsschicht und zerstückelt sie in kleine Pakete. Das Verlangen nach einem hohem
Datendurchsatz kann sogar zu dem Aufbau mehrerer Verbindungen zu dem selben
Teilnehmer führen19. Gesteuert wird sie von der Vermittlungsschicht (network layer),
indem die Paketleitwege zum Ziel vorgegeben werden. Die Sicherungsschicht (data link
18
Vgl. W. Schiffmann,R.Schmitz,Technische Informatik 2, 2002,S.225
19
Vgl. W. Schiffmann,R.Schmitz,Technische Informatik 2, 2002,s.225
9
layer) teilt die Rohdaten in Datenübertragungsrahmen ein , die sequentiell übertragen
werden und zur Sicherung dienen.. Die unterste Schicht ist Bitübertragungsschicht
(physical layer) ,hier muss gewährleistet werden, dass ein gesendetes Bit mit der
Wertigkeit 1 auch als ein Bit mit dem Wert 1 empfangen wird20.
Neben mechanischen, prozeduralen und elektrischen Schnittstellen, wird hier auch
festgelegt, inwiefern die Rohdaten in elektrische Signale kodiert werden. Zu diesem
Zweck gibt eine hohe Anzahl von Algorithmen, die Schwerpunkt dieser Arbeit sind und
mit dem Applet trainiert werden sollen.
3.3
Bit- und Baudrate als Kennzahl für die Effizienz
Um Informationen zu übertragen, muss der binäre Wert in eine Spannung(-sänderung)
transformiert werden. Die Leistungsfähigkeit einer Datenübertragung kann in Bitrate
oder auch Baudrate angegeben werden. Diese Begriffe werden of fälschlicherweise als
Synonym behandelt, dies ist jedoch nicht richtig21. Folgendes Beispiel soll uns dieses
verdeutlichen. Wir gehen davon aus, dass wir vier anstatt nur zwei Signale über eine
Leitung schicken können. Damit ist es möglich pro Signal zwei Datenbits zu kodieren
(00,01,10,11). Ein Empfänger ist nun in der Lage 1000 Signale pro Sekunde zu
empfangen. Wir haben also eine Rate von 1000 Baud/s aber 2000 Bit/s.
Abbildung 6Bitrate/Baudrate
20
Vgl. Tanenbaum, A., Computernetzwerke, 1990, S. 71
21
Vgl.Larry L.Peterson, Bruce S. Davie,Computernetze, 2000,S.78
10
Es gilt folgende formale Definition für die Bitrate Vb22:
Vb = ln n / T
Wobei n für die Anzahl der verschiedenen diskreten Spannungszuständen steht und T
ein Maß für die Schrittdauer ist. Als Schrittdauer wird der minimale zeitliche Abstand
zwischen zwei verschiedenen Spannungspegeln bezeichnet. Ein Codeelement ist die
kleinste Einheit eines Leitungssignals, es kann aus einem oder mehreren Schritten
bestehen. Da der Aufwand zur Unterscheidung der verschiedenen Kennzustände bei
wachsenden n rapide ansteigt, bestehen die meisten Kodierung nur aus 2 verschiedenen
Spannungspegeln. In diesem Fall und nur in diesem entspricht die Baudrate dem
Kehrwert der Schrittdauer. Als Takt wird ein Signal bezeichnet, dass von low auf high
wechselt bzw. umgekehrt. Ein low/high –Paar wird als Taktzyklus definiert23.
3.4
Eigenschaften und Algorithmen von Leitungskodes
Leitungskodierungen haben noch andere Eigenschaften an denen eine Klassifizierung
möglich ist. Ein sehr wichtiger Punkt ist die Gleichstromfreiheit, sie ist dann
erforderlich, wenn die Übertragungsleitung von der den Stationen galvanisch entkoppelt
werden soll24.Ein anderes wichtiges Merkmal ist die Taktgewinnung, bei machen
Leitungscodes muss zusätzlich eine Synchronisation durchgeführt werden, was einen
overhead in Form von zusätzlichen Datenleitungen oder Verwürflern bedeutet.
Selbsttaktende Leitungscodes beinhalten sowohl Information als auch Taktinformation
in einem Signal und machen so eine zusätzliche Synchronisation überflüssig. Im
folgenden werden nun die wichtigsten binaren Leitungscodes und deren Eigenschaften
vorgestellt.
22
23
24
Vgl. W. Schiffmann,R.Schmitz,Technische Informatik 2, 2002,S.226
Vgl. Larry L.Peterson, Bruce S. Davie,Computernetze,2000,A.80
Vgl. W. Schiffmann,R.Schmitz,Technische Informatik 2, 2002,S.225
11
3.4.1 non-return-to-zero-level (NRZ-L)
Hierbei handelt es sich um die einfachste Kodierungsform. Während der Schrittdauer T
wird ein hoher Pegel für den Bitwert 1 und ein niedriger Pegel für den Bitwert 0
definiert. Bei langen 0 oder 1 Bitfolgen bleibt das Signal auf einem konstanten Level.
Es ist also weder gleichstromfrei noch selbsttaktend und bringt die damit verbundenen
Nachteile. In der Praxis wird das erste Phänomen als Baseline-Wandler25 bezeichnet.
Der Empfänger benutzt den Durchschnitt der zuletzt empfangenen Signale, um zu
erkennen, ob ein Signal high oder low ist. Werden nun eine Reihe von 1 oder 0
gesendet führt das zu einer Verschiebung des Durchschnitts und es wird schwieriger
eine signifikante Änderung des Signal festzustellen.
Ein zweites Problem ist die Taktgewinnung. Da keine zusätzliche Datenleitungen für
die Synchronisation des Taktes reserviert werden (overhead) muss dies der Empfänger
unabgängig vom Sender tun. Bei einer Signaländerung von 0 auf 1 oder 1 auf 0 ist
Empfänger in der Lage eine Taktzyklusgrenze zu erkennen und kann sich neu
selbstsynchronisieren. Wenn nun aber lange konstante Signalpegel herrschen , findet
dieser Prozess nicht statt. Dies führt auf Dauer in zeitlich verzögerte oder beschleunigte
Taktzyklen seitens des Empfängers, die in Fehlern beim Dekodieren resultieren. Auf
Grund dieser Nachteile ist dieser Code für die Datenfernübertragung nicht geeignet, er
findet Verwendung in lokalen Schaltungen mit logischen Bausteinen26
3.4.2 return to zero (RZ)
Die Return to Zero Kodierung ist eng verwandt mit dem NRZ. Ein Bit mit Wertigkeit 1
wird mit einem Rechteckimpuls übertragen. Dieser Impuls hat die halbe Schrittweite. Es
gibt zwei Modifikationen dieser Kodierung, eine polare und eine unpolare Variante. In
dem Übungsapplet wird die unpolare Variante abgeprüft, bei der die Amplitude nicht
den negativen Spannungsbereich betreten kann. Bei Kodierungsformen haben die
gleichen Nachteile wie NRZ, das heißt sie sind nicht gleichstromfrei, auch wenn das
Base-Line-Wandler Problem durch die halbe Schrittweise etwas abgeschwächt wird.
25
26
Vgl. Larry L.Peterson, Bruce S. Davie,Computernetze,2000,S.79
Vgl. Vorlesungsunterlagen zur Vorlesung Rechnernetze der Fernuniversität Hagen, 1999
12
Auch ist dieser Code nur zum Teil selbsttaktend , nämlich dann wenn ein Bit mit dem
Wert 1 übertragen wird27. .Bei einer Folgen von 0 treten allerdings die gleichen
Probleme wie bei NRZ auf, deswegen wird er nur selten verwendet28 .
3.4.3 non-return-to-zero-mark, und -space (NRZ-M,NRZ-S)
Da es für eine fehlerfreie Datenübertragung notwendig ist, dass die beiden
Kommunikationsteilnehmer synchron arbeiten, wurden diese beiden Leitungskodes
entwickelt. Sie sind die eine differentielle Version des bereits erwähnten NRZ. Hier
werden nun nicht mehr absolute Werte kodiert sondern nur noch die Änderungen eines
Bitwertes, Mark steht für 1 und Space für die 0. D.h. im Falle vom NRZ-M wird der
Bitwert 1 mit einem Spannungswechsel der Amplitude kodiert. Das Signal wechselt von
high auf low, bzw. von low nach high. Bei einem Bit mit der Wertigkeit 0 bleibt das
Signal konstant (high oder low).
Der NRZ-S funktioniert genauso, nur dass der
Spannungswechsel bei dem Bitwert 0 eintritt.
Das Problem mit aufeinanderfolgenden 1 wird bei der NRZ-M Kodierung gelöst, da ja
jede 1 zu einem Amplitudenwechsel führt. Der Takt kann somit leichter synchronisiert
werden, jedoch bestehen die Probleme weiterhin bei aufeinanderfolgenden Nullen. Der
NRZ-L hat die selben Vorteile, allerdings bei Nullfolgen, da es sich um die inverse
Variante des NRZ-M handelt. Es ist abhängig von der Struktur der zu übertragenden
Daten, welche Modifikation gewählt wird, tendenziell ist zu sagen, dass beide Kodes
weniger störanfällig sind, da Amplitudenänderungen leichter erkannt werden können,
als absolute Werte29. Jedoch sind beide Kodes was die Gleichstromfreiheit und die
Taktgewinnung angeht, sehr von den zu übertragenden Daten abhängig und deshalb
nicht als optimal die Fernübertragung anzusehen.
3.4.4 biphase level (Manchester Code)
Um einen geeigneten Kode für die Datenfernübertragung zu haben, wurde der BiphaseLevel-Kode entwickelt. Er wird heutzutage in Ethernet-LANs benutzt und zeichnet sich
27
Vgl. W. Schiffmann,R.Schmitz,Technische Informatik 2, 2002,S.226
Vgl. Vorlesungsunterlagen zur Vorlesung Rechnernetze der Fernuniversität Hagen, 1999
29
.Vgl.. Vorlesungsunterlagen zur Vorlesung Rechnernetze der Fernuniversität Hagen, 1999
28
13
durch seine Gleichstromfreiheit und Takterhaltung aus. Dieses Kodierungsverfahren
wird
auch
als
Manchesterkodierung
bezeichnet.
Bitwerte
werden
durch
Rechteckimpulse übertragen, die sich in ihrer Phasenlage relativ zum Takt voneinander
unterscheiden30. Ein Bit mit der Wertigkeit 1 führt zu einem high/low-Übergang, eine 0
wird mit einem low/high Übergang abgebildet. Es kommt also auf jeden Fall zu einem
Spannungswechsel und der Takt kann so leicht vom Empfänger wiederhergestellt
werden.
Im Vergleich zu den bisher genannten Kodierungsverfahren ist dieses
Verfahren allerdings nur halb so effizient. Zur Übertragung eines Bitwertes, werden
doppelt so viele Signale geschickt, wie z.B. bei der NRZ-Kodierung. Das bedeutet, dass
der Empfänger nur halb soviel Zeit hat, um die Spannungsänderungen zu erkennen.
Formal ausgedrückt halbiert sich die Schrittweite was bei konstanter Bitrate zu einer
Verdopplung der Baudrate führt (siehe formel). Bei gleicher Baudrate könnten also mit
der NRZ-Kodierung doppelt soviel Information übertragen werden. Nachteilig ist auch,
dass ein ausgedehntes Frequenzspektrum übertragen werden 31.
3.4.5 biphase-mark und biphase-space
Die Wertigkeit des zu übertragenden Bits wird bei der Manchester-Kodierung durch die
Polarität des Spannungswechsels bestimmt. Um Fehler, die durch eine Vertauschung
der Polarität in diesem Fall geschehen, zu vermeiden existieren zwei weitere BiphaseCodes. Beide haben als Charakteristikum einen garantierten Spannungswechsel zu
Beginn eines Bitintervalls. Sie sind damit takterhaltend. Analog zu NZR-M und NRZ-S
führt , die Wertigkeit 1 eines Bits bei Biphase-M zu einem Spannungswechsel, jedoch
in der Mitte des Intervalls. Bei der Alternative, d.h. Bit mit der Wertigkeit 0, bleibt das
Signal konstant. Für Biphase-S ist das Verhalten umgekehrt.
3.4.6 Differential Manchester
Das Differential-Manchester-Kodierungsverfahren unterscheidet sich gegenüber den
anderen Biphase-Kodierungsverfahren insofern, dass die Information nicht mehr in der
30
Vgl. W. Schiffmann,R.Schmitz,Technische Informatik 2, 2002,S.229
31
Vgl. W. Schiffmann,R.Schmitz,Technische Informatik 2, 2002,S.226
14
Mitte eines Intervalls sondern am Anfang eines Intervalls kodiert wird. Genauer gesagt
führt ein Bit mit der Wertigkeit 1 zu keinem Phasensprung im Gegensatz zu einem Bit
mit der Wertigkeit 0. Ob eine Spannungswechsel in der Mitte eines Intervalls stattfindet
hängt also von den vorangegangen bzw. folgenden Bits ab. Da spätestens nach der
Schrittdauer T eine Pegeländerung erfolg, ist eine Synchronisation jederzeit möglich.
Auch ist das Verfahren gleichstromfrei. Es findet Anwendung in modernen Netzwerken,
die auf Token-Ring-Technologie basieren32.
Auf
dem
folgenden
Schaubild
sind
alle besprochenen
zusammenfassend graphisch dargestellt.
Abbildung 7LeitungskodierungenÜbersicht
32
Vgl. W. Schiffmann,R.Schmitz,Technische Informatik 2, 2002,S.227
Leitungskodierungen
15
4
Das Applet
Im Rahmen dieser Studienarbeit wurde eine Java-Anwendung erstellt. Es handelt sich
dabei um eine lernunterstützendes Softwaretool, dass das Verinnerlichen der
verschiedenen Leitungskodes vereinfachen soll. Zu diesem Zweck wird dem Benutzer,
in der Regel ein Student, eine graphische Oberfläche präsentiert, an Hand dieser
verschiedene Aufgabentypen absolviert werden können. Das Programm gliedert sich in
zwei Aufgabentypen (vgl. GUI Punkt 1).
16
Abbildung 8: GUI
4.1
Der Aufgabentyp „generate“
Bei dieser Aufgabe werden von dem Studenten verschiedene Leitungskodierungen
abgefragt. Die Aufgabe ist so gestaltet, dass sie dem Benutzer den Umgang mit
Leitungskodierungen auf einem möglichst intuitiven Weg versucht zu vermitteln. Zu
diesem Zweck, wird in der Aufgabenstellung dem Studenten eine Bitfolge präsentiert
(vgl. Abb. GUI Punkt 3). Weiterhin wird dem Studenten im Aufgabenfenster mitgeteilt,
welche Leitungskodierung er benutzen soll (vgl. Abb. GUI Punkt 2). Anhand dieser
Daten, muss der Student nun in einem speziellen Fenster das von ihm geforderte Signal
zeichnen. Da es bei einigen Kodierungsformen (z.B. Differential Manchester) eine
17
Rolle spielt, welche Signalstärke, high oder low, vor der zu transformierten Bitfolge, am
Kabel anlag, wird auch diese im Aufgabenfenster mitgeteilt. Dies ist der Startpunkt für
das zu zeichnende Signal.
4.2
Der Aufgabentyp „transform“
Diese Aufgabentyp in eine Erweiterung der bereits erwähnten Aufgabe, auch hier soll
ein Signal an Hand einer vorgegebenen Kodierungsvorschrift gezeichnet werden.
Während bei der erster Übung eine abstrakte Bitfolge als Quelle angegeben ist, wird in
diesem Fall ein Signal dem Benutzer präsentiert. Weiterhin erhält der Benutzer die
Information unter welchem Kode das Signal entstanden ist. Diese Aufgabe ist somit
komplexer als die erste , da sie von dem Benutzer nicht nur die Anwendung einer
Kodierungsvorschrift in die eine Richtung, nämlich von der Information zum Signal ,
sondern auch den umgekehrten Weg, vom Signal zu einer Information abverlangt. Sie
sollte erst zur Anwendung kommen, wenn die Aufgabe „generate“ problemlos gelösst
werden kann.
4.3
Die Benutzerführung
Wichtigstes Ziel beim entwickeln der graphischen Oberfläche war es , diese möglichst
ergonomisch zu gestalten. Um mit den Aufgaben zu beginnen, muss zu erst in einem
speziellen Fenster eine Anmeldung erfolgen, dazu
werden Name und Passwort
eingegeben. Sie dienen später dem Betreuer als eindeutige Identifikation. Nach dem
dies getan ist , kann mit der Übung begonnen werden.
4.3.1 Aufgabenauswahl.
Zu Beginn muss eine Aufgabe ausgewählt werden, aus programmiertechnischen
Gründen (siehe Implementierung) ist dies nur über eine Leiste möglich. Zu Beginn
eines Übungszyklus sollte eine dieser beiden Aufgabentypen gewählt werden. Auch
18
wenn es theoretisch möglich ist , sollten die beiden Aufgabentypen nicht gemischt
werden. Wenn man eine andere Übungsaufgabe bearbeiten will, sollte man das dem
Betreuer mitteilen, falls das Applet mit einem Lernverbund verbunden ist.
4.3.2 Die Zeichnungsbox
Alle Aufgabenstellungen unterstützen den visuellen Lerntyp. Das Zeichnungsfenster ist
die einzige Eingabemöglichkeit die der Benutzer hat, um die Aufgaben zu lösen. Daher
wurde besonderen Wert darauf gelegt dieses Interface möglichst benutzerfreundlich zu
gestalten. Als Hilfestellung wurden die Schrittweiten dem zu zeichnenden Kode
angepasst. Des weiteren werden mögliche Linien, die eine Verlängerung des Signals
bedeuten grün gezeichnet. Linien die nicht möglich sind, weil sie ausserhalb der
Schrittweite liegen, oder weil es sich um eine ungültige Querverbindung handelt werden
nicht angezeigt. Auch wenn es sich hierbei um eine zusätzliche Hilfestellung leistet,
werden nur „offensichtliche“ Fehler so abgefangen. Eine negative Beeinflussung der
Lernleistung ist dadurch nicht zu erwarten. Falls einem Benutzer ein Fehler auffällt
kann er diesen sogleich beheben in dem er sukzessiv, die zuletzt gezeichneten Linien
löscht. Dies geschieht indem er die Maus auf die Endpunkte des bereits gezeichneten
Signals legt. Diese vormalig roten Linien sowie der Fokuspunkt werden dann grün und
können durch einen einfachen Klick entfernt werden.
19
Abbildung 9 zeichen und löschen
4.3.3 Weitere Bedienelemente
Um eine Aufgabe ab zu schliessen bzw. neu zu starten, wurde eine Bedienleiste
eingefügt (vgl. GUI Punkt 5). Wenn der Benutzer die Lösung einer Aufgabe sehen
möchte, kann er dies tun in dem er den Button show-result drückt. In das
Zeichnungsfenster wird das korrekte Lösung eingeblendet, der Benutzer kann nun
entscheiden, ob er die Daten an einen Betreuer, falls vorhanden, mittels des submitresult-buttons übertragen will. In einem Status-Fenster erhält der Benutzer ein Feedback
über seinen bisherigen Leistungsstand. Falls der Benutzer einen Schwellenwert
überschreitet kann er mit dem next-code-button eine schwierigere Aufgabe anfordern.
Falls er nicht zufrieden mit dem Ergebnis ist kann er durch den try-again button die
Aufgabe wiederholen, allerdings mit einer neuen Bitfolge. Ein komplette Löschung des
bereits gezeichneten Button während der Aufgabenbearbeitung ist durch den resetbutton möglich.
20
4.4
Instruktionsdesign
Instruktionsdesign ist eine Technik des Erstellens von Instruktionsplänen für die
Gestaltung von Unterrichtseinheiten. Eine stärkere Variation der Unterrichtsmethodiken
mit dem Ziel der größeren Individualisierung des Lernens im Hinblick auf den
Lernenden ist beabsichtigt33. Das Instruktionsdesign glieder sich in folgende
Arbeitschritte:Analyse,Plannung,Entwicklung/Produktion,Einsatz,Evaluation,Revision34
.
Analyse
Plannung
Entwicklung/
Produktion
Einsatz
Evaluation
Revision
Abbildung 10:Arbeitsablauf eines Instruktionsdesigns
In der Analyse Phase dieser Software wurde erkannt, dass bei dem zu vermittelnden
Stoff, am ehesten das Lernmodell des Behaviorismus angewendet werden kann. Dieses
Programm gehört daher zur Gruppe der Übungssoftware. Kodierungen sollen durch
intensives Wiedrholen trainiert werden. Das Erlernen von Algorithmen erfolgt am
effektivesten durch Training. Kennzeichen dieser Aufgabentypen sind, dass ein Lernziel
klar definiert ist ( hier die erfolgreiche Kodierung einer Bit-Sequenz). Die
Aufgabenstellung führt zum Auswendiglernen bzw. üben bestimmter Vorgehensweisen.
33
Vgl. Schulmeister, R., Grundlagen hypermedialer Lernsysteme Theorie, Didaktik, Design, 2002, S. 115
34
Vgl.: PH-Freiburg: http://www.ph-freiburg.de/psycho/weber/instruktion/zusammenfassung.htm
21
Eine Lernkontrolle ist gegeben und folgt unmittelbar nach bearbeiten einer Aufgabe 35.
Die Programme passen sich dem Leistungsstand des Benutzers an , sie besitzen also
eine adaptive Komponente. Diese Gruppe von Lernsoftware nennt man auch
drill&practice-Programme36.
In der Entwicklung wurde vorallem Wert auf eine möglichst ergonomsche Handhabung
gelegt..Desweiteren wurde um eine sofortige Lernkontrolle zu implementieren ohne den
Benutzer zu frustieren eine adaptive Komponente hinzugefügt.
Der Schwierigkeitsgrad einer Aufgabe wird auf Grund der verlangten Kodierung
festgelegt.Die Schwierigkeitsgrade wurden wie folgt eingestuft:
Kodierung
Schwierigkeitsgrad
Lesson
non-return-to-zero-level
1
0
return to zero (RZ)
non-return-to-zero-mark (NRZ-M)
1
2
non-return-to-zero-space (NRZ-S)
biphase-mark
3
3
biphase-space
Manchester-Code (biphase level)
Differential Manchester-Code
4.5
Parametrisierung
4.6
Implementierung
2
4
5
4
6
7
Dieses Lernprogramm wurde in Java implementiert. Die Programmiersprache hat einige
Vorzüge, die zu ersten Wahl für diese Arbeit machen. Entwickelt wurde sie von Sun
35
36
Informatische Bildung für Lehrer : http://www.educat.hu-berlin.de/mv/lernsoftware-arten.html#2
Steinmetz,R., Multimedia-Technologie – Grundlagen, Komponenten und Systeme, 2000, S. 820
22
Microsystems,
auf
dessen
Webpage37,
die
Entwicklungswerkzeuge
kostenlos
downgeloadet werden können. Dies ist ein grosser Vorteil, da das Applet in ein
nichtkommerzieles Projekt der Universität Mannheim eingebunden ist. Ein weiterer
Vorteil ist die Portabilität von Java, damit ist gewährleistet, dass das Lerntool auf
verschiedenen Betriebssystemen lauffähig ist. Letztendlich empfiehlt die komplexe
Struktur dieses Programms für die Implementierung eine Sprache , die objekt-orientiert
ist.
4.6.1 Entwicklungsumgebung
Als Entwicklungsumgebung wurde Eclipse38 gewählt. Es handelt sich dabei um ein
Open-Source-Software, die sich durch ihre Modularität ausszeichnet. Es besteht die
Möglichkeit ihre Funktionalität durch Plug-Ins zu erweitern.. Zur Erstellung der UMLDiagramme wurde ein solches Plug-In von der Firma Omondo39 verwendet.
Auf Erweiterungen die zur automatischen Kodegenerierung dienen wurde bewußt
verzichtet. Erfahrung damit, z.B. beim JBuilder von der Firma Borland haben gezeigt,
dass sie eher zu einer nicht Nachvollziehbarkeit des Codes führen. Des weiteren werden
in der Regel proprietäre Klassen des Herstellers hinzugefügt, was nicht im Sinne des
Autors sein kann,
4.6.2 Prozess
Das Programm wurde analog dem Phasenmodel von Boehm, auch Wasserfall-Model
genannt. entwickelt. Es fand ein ständiger Wechsel zwischen Analyse-, Design-, und
Implementierungsphase statt.
37
Webpage Sun Microsystems : http//java.sun.com
38
Webpage Eclipse : http://www.eclipse.org
39
Webpage Omondo : http:// www.omondo.com
23
Abbildung 11 Wasserfallmodell nach Boehm
Anschliessend wurden einzelne Module, wie z.B.. das Korrekturmodel auf ihre
Richtigkeit überprüft. Zu diesem Zweck wurden Testklassen geschrieben die Testfälle
für das Sequence-Objekt. generieren. Da diese Test nur Strichproben sein können
wurden ausserdem ein Code-Review durchgeführt, um die Zuverlässigkeit zu erhöhen
4.6.3 Struktur
Bei der Implementierung wurde ein Trennung zwischen GUI, Datenstrukturen,
Algorithmen und Kommunikation propagiert. Zu diesem Zweck wurden mehrere
Klassen entwickelt, deren Zusammenhänge in folgendem UML-Klassendiagramm
ersichtlich sind.
24
(default package)::performance
addUnit()
(default package)::unit
getFeedback()
getValuation()
due: long
lastDifficulty()
lesson: int
lastTime()
reliability: double
overallReliability()
getDifficulty()
overallTime()
getDue()
performance()
getLesson()
send()
getReliability()
setUserPWD()
0..1
setlocalIP()
unit()
unit()
p
(default package)::Zentrale2
(default package)::results
(default package)::Zentrale
difficulty: int
appletid: String
difficulty: int
command: String
nextCode: boolean
destip: String
pw d: String
destport: int
s: sequence
difficulty: String
submitCode: boolean
feedback: String
user: String
id: String
Zentrale()
lesson: int
nextCode: boolean
pw d: String
s: sequence
submitCode: boolean
user: String
z: sequence
ok: String
Zentrale2()
passw ord: String
serverip: String
serverport: int
sourceip: String
(default package)::start
sourceport: int
localIP: String
time: String
valuation: String
init()
start()
send()
status()
(default package)::draw2
(default package)::timer
circleColor: Color
circleX: int
begin: long
circleY: int
d: draw 2
destX: int
df: DecimalFormat
destY: int
(default package)::display
end: long
srcX: int
myLabel: JLabel
srcY: int
set: boolean
display()
paint()
circle()
state: boolean
setSequence()
circleGreen()
t: String
clearAll()
correctionModeOff()
getTime()
-d
go()
draw 2()
draw 2()
hold()
0..1
reset()
future()
run()
getClickedX()
timer()
getClickedY()
getXclicked()
getYclicked()
inRange()
indexMax()
indexMaxClicked()
isAllow ed()
isSelected()
paint()
setCorrection()
(default package)::correction
setSequence()
setTimer()
(default package)::sequence
x[0..*]: int
y[0..*]: int
s
BiphaseL()
BiphaseLold()
BiphaseM()
BiphaseS()
DiffManchester()
NRZL()
NRZM()
NRZS()
RZ()
correction()
getCorX()
getCorY()
indexMax()
0..1
getArray()
getAsString()
getCoding()
getLesson()
getLevel()
getSize()
getStart()
getState()
getStep()
sequence()
sequence()
sequence()
setLesson()
toString()
Abbildung 12: Uml Klassendiagramm
Das Lernapplet wird durch den Aufruf einer Webseite durch einen Internetbrowser
gestartet.Dies geschieht in dem Klasse start von der Java Virtual Maschine geladen und
initialisiert wird. Diese Klasse erzeugt zwei Objekte der Klassen Zentrale1 und
25
Zentrale2. Während Zentrale1 für die Aufgabe generate verantwortlich ist, verwaltet
Zentrale2 die Aufgabe transform.
Beide Klassen benötigen zum Zeichnen der Lösung bzw. als Eingabemöglichkeit die
Klasse draw2. In ihr sind sämtliche Zeichenoperation implementiert. Auch ist das ganze
Actionhandling , in Form von anonymen Klassen, in der draw2-Klasse zu finden. Die
Actionhandler wurden nicht als unabhängige Klasse geschrieben, weil sie nur in dieser
Klasse benutzt werden und es somit keinen Möglichkeit zur Wiederverwendung gibt.
Die Zentrale-Klassen bilden das Kernstück des Applets. Sie verwalten die
Aufgabengenerierung und die Leistung des jeweiligen Benutzer. Die zu lösende
Bitfolge und die Art der Kodierung wird in der Sequence-Klasse gespeichert. Hier
wurde die ToString-Methode so überschrieben, dass sie den kompletten Aufgabetext
wiedergibt. Bei der Transform-Aufgabe wird zusätzlich noch die Klasse display
eingeführt, die als Parameter ein Sequence-Objekt erwartet und dieses als Graph
darstellt.
Zur Zeitmessung wurde eine Timerklasse geschrieben, sie wurde von der Klasse
java.Thread abgeleitet. Wenn eine Aufgabe abgeschlossen werden soll wird ein
Correction-Objekt initialisiert. In ihm sind die jeweiligen Kodierungsvorschriften für
die unterstützten Leitungskodes implementiert. Die Ergebnisse aus diesen Klassen
werden in einer selbstspezifizierter Datenstruktur unit gespeichert. Pro bearbeiteter
Übung existiert ein Unit-Objekt, dass Dauer ,Schwierigkeitsgrad und Richtigkeit als
Informationen enthält. Diese müssen bevor sie zum Server mittels der Result-Klasse
übertragen werden noch geeignet transformiert werden. Dazu dient die Performance
Klasse, sie aggregiert die Unit-objekte.
Die Interaktion und die Reihenfolge der einzelnen Objekte wird anhand eines
Kollaborationsdiagramms veranschaulicht, da die Zentrale2 Klasse sich genauso verhält
wie die Zentrale Klasse wurden zu Gunsten der Überschaubarkeit auf die restlichen
Graphen verzichtet.
26
: login
: unit
: performance
1.0.2 : name,passw d := login()
: draw 2
1.5 : u := unit()
1.6 : addUnit(u)
1.0.1 : login()
1.3.0 : draw 2()
1.1 : p := performance(name,passw d)
1.3.1.* : sequence()
1 : init()
: start
: Zentrale
: sequence
1.2 [w enn im Menu gew ählt] : Zentrale(p)
: timer
Benutzer
1.4 : Thread()
1.3.2.* : correction()
: correction
Internet Brow ser Applet laden
2.0 [w enn im Menu gew ählt] : Zentrale2(p)
: Zentrale2
2.1 : display()
: display
Abbildung 13: Kollaborationsdiagramm:
4.6.4 Qualität
Um eine möglichst hohe Qualität der Software zu erhalten wurde während dem
Entwicklungsprozess die Qualitätsfaktoren berücksichtigt. Als die wichtigsten gelten:
Korrektheit, Robustheit, Erweiterbarkeit, Wiederverwendbarkeit und Verträglichkeit 40.
Die Korrektheit der implementierten Algorithmen wurde durch automatische Test,
sowie Stichproben annährend bewiesen. Unter der Robustheit eines Programms versteht
man die Fähigkeit auch unter ungewöhnlichen Bedingungen oder Eingaben zu
funktionieren41.Das Design dieses Programms ist so ausgelegt, dass es kaum zu
fehlerhaften Eingaben kommen kann, falls doch wurden kritische Funktionen mit trycatch-Klausen umgeben, um einen Programmunterbrechung zu unterbinden. Das
Programm kann leicht erweitert werden, da es sehr dezentral entwickelt wurde, eine
Änderung oder Erweiterung der Leitungskodes ist vorgesehen. Eine Wiederverwendung
verschiedener Module findet intern statt. In wie weit einzelne Klassen in andere
Programme
eingebunden
werden
können
ist
fraglich,
da
keine
Schnittstellenspezifikation vorlag. Auf Grund des Einsatzes von Java, ist die
Kompatibilität zu anderen Betriebsystemen und Umgebungen als sehr gut
einzuschätzen.
40
Vgl. B. Meyer,Objektorientierte Softwareentwicklung,1990,S.9
41
Vgl.B. Meyer,Objektorientierte Softwareentwicklung,1990,S.3
27
5
Zusammenfassung und Ausblick
5.1
Zusammenfassung
Inhalt dieser Studienarbeit war die Entwicklung eines Lerntools für das CATS-System
der Universität Mannheim. Das Thema der Trainigseinheit war die Kodierung von
Leitungskodes. Es handelt sich dabei um eine wichtiges Kapitel jeder RechnernetzeVorlesung. Die acht wichtigsten binären Kodierungsverfahren werden unterstützt.
Die bekanntesten Lerntheorien wurden vorgestellt und eine kurze Einführung in das
didaktische Konzept gegeben. Da es sich um ein klassisches Übungsprogramm handelt ,
auch „drill&practice“ genannt, wurde besonders auf den Behaviorsismus eingegangen,
sowie auf Parametrisierung und die adaptive Komponente.
Es wurde in eine adaptive Kompenente entwickelt, d.h. die Schwierigkeit wird nur
erhöht, falls der Benutzet erfolgreich die Aufgabe bearbeitet hat.
Mit Hilfe einer
Parametrisierung werden Daten an den CATS-Server gesendet, so dass der Lernerfolg
der Studenten Zentral gespeichert oder beobachtet werden kann.
Das Applets unterstützt zwei Aufgabentypen. Während die erste, das Ziel hat , dass der
Benutzer für eine abstrakte Bitfolge ein bestimmtes Kodierungssignal zeichnet, verlangt
die Zweite eine Transformation eines bekannten Signalkodes in ein anderes. Beide
Aufgaben verlangen eine intensive Beschäftigung mit dem Lehrstoff und bieten ein
gutes Klausurentrainning.
Als Programmiersprache war JAVA vorgegeben. Da es sich um ein webbasierendes
Lernsystem handelt eignet sich die Programmiersprache besonders , da sie maximale
Kompatibilität bietet. Das Programm wurde nach den Prinzipien der Objektorientierung
entwickelt. Die Pradigmen und Qualitätsansprüche wurden bei Implemetierung
verwirklicht.
28
5.2
Ausblick
Das Applet soll einen Beitrag zum Teleteaching an der Universität Mannheim leisten.
Es ergänzt bereits bestehende Applets, die Bereiche in Multimediatechnologie sowie
Rechnernetze abdecken. Ein weiteres Ausbauen des Angebots in diesen Bereichen ist
wünschenswert.
Auch wenn das Applet bereits acht Kodierungsverfahren unterstützt, ist eine
Erweiterung problemlos möglich. Auch wurde das Programm so konzipiert, dass ein
Simulationmodus leicht hinzugefügt werden kann. Aber nicht nur interne Erweiterung
sind möglich.
Das
CATS-System
bietet
bereits
einen
Messaging-System.
Damit
ist
die
Kommunikation zwischen Benutzer und Betreuer möglich. Eine Intressante Neuerung
wäre die Kommunikation der Studenten untereinander. Es würden also in Zukunft
Gruppenaufgaben gestellt, die zu mehreren bearbeitet werden müssen. Zu diesem
Zweck müsste ein Protokoll zwischen den einzelnen Applets vorhanden sein, dass es
ermöglicht Daten zum weiteverarbeiten an Gruppenmitglieder zu übertragen.
Besonders im Bereich Rechnernetze scheint dieses Vorschlag Sinn zu machen, da es
gerade hier ein einfache aufeinander aufbauende Struktur und enge Verzahnung des
Lernstoff gibt. Mit diesem Applet , dass sich inhaltlich mit der untersten Schicht
beschäftig, könnte einer erster Schritt diese Richtung getan worden sein.
VI
Literaturverzeichnis
Martin Schader, Lars Schmidt-Thieme
Java, eine Einführung,2. Auflage, Springer
Verlag, Mannheim, 1999
Les Goldschlager/ Andrew Lister Informatik,
Eine
moderne
Einführung,3.
überarbeitete Auflage, Melbourne/Brisbane, 1990
Ullrich,Dittler, E-Learning – Erfolgsfaktoren und Einsatzkonzepte mit
interaktiven Medien , 2. Auflage, Oldenbourg, 2000
Ralf
Steinmetz,
Multimediatechnologie-Grundlagen,Komponenten
und
Systeme,3.Aufl.,Springer Verlag 2000
R. Schulmeister , Grundlagen hypermedialer Lernsysteme,3.korr. aufl,2002 Oldenburg
wissenschaftverlag.
Bernd Oesterreich, Objektorientierte Software Entwicklung, Analyse und Design mit
UML, 5. Aufl.,Oldenburg Verlag München Wien
Bertrand Meyer,Objektorientierte Softwareentwicklung,Pentrice Hall 1990
Andreas Zenk, Lokale Netze-mit neuer Technik , 5.Aufl, Addison-Wesley 1999
Dr. Franz Joachim Kauffels,Lokale Netze , 12. Auflage, MITP-Verlag 2000
W. Schiffmann,R.Schmitz,Technische Informatik 2, 4.Auflage,Springer Verlag 2002
Larry L.Peterson, Bruce S. Davie,Computernetze 1. Auflage,dpunkt.verlag 2000
Vorlesung Rechnernetze (Rechnernetze 2002)
Vorlesungsunterlagen zur Vorlesung Rechnernetze des Lehrstuhls Praktische Informatik
IV der Universität Mannheim, Sommersemester 2002.
Vorlesung Rechnernetze (Rechnernetze 1999),
Vorlesungsunterlagen
Sommersemester 1999
zur
Vorlesung
Rechnernetze
der
Universität
Hagen,
VII
CATS-Server Universität Mannheim : Communication and Tutoring System,
UniversitätMannheim, http://herodot.informatik.uni-mannheim.de, letzter Besuch der
Seite: Junil 2003
Prof.
Dr.
Wolfgang
Effelsberg:
Lehrstuhl
für
Praktische
Informatik
4,
UniversitätMannheim, http://www.informatik.uni-mannheim.de/informatik/pi4/, letzter
Besuch der Seite:Juni 2003
Gall,
Daniel,
Trinks
Timo
:
Instruktionsdesign
für
Multimedia,
http://www.trinks.org/instruktionsdesign/, letzter Besuch der Seite :Juni 2003
Microsoft Corporation:Encarta Enzyklopädie 2003, http://encarta.msn.de, letzter
Besuch der Seite :Juni 2003
Prof.
Dr.
G.
Weber,
Pädagogische
Hochschule
Freiburg,
http://www.ph-
freiburg.de/psycho/weber/instruktion/zusammenfassung.htm, letzter Besuch der Seite
Juni 2003
Informatische Bildung für Lehrer,Ein Modellversuch der Humboldt-Universität,
http://www.educat.hu-berlin.de/mv/start.html,letzter Besuch der Seite Juni 2003
VIII
Anhang
Ehrenwörtliche Erklärung
Ich versichere, daß ich die beiliegende Seminararbeit ohne Hilfe Dritter
und ohne Benutzung anderer als der angegebenen Quellen und Hilfsmittel
angefertigt und die den benutzten Quellen wörtlich oder inhaltlich
entnommenen Stellen als solche kenntlich gemacht habe. Diese Arbeit
hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen.
Ich bin mir bewußt, daß eine falsche Erklärung rechtliche Folgen haben
wird.
Mannheim, den 30.Juni 2003
_______________________
IX
Herunterladen