Zum Inhalt springen

kurtchen

Communitymitglied
  • Gesamte Inhalte

    879
  • Benutzer seit

  • Letzter Besuch

Blogbeiträge von kurtchen

  1. kurtchen
    13 Uhr - Vorlesung: "Don't believe the Hype - Ein Blick in den Dschungel der Web-Entwicklung", Prof. Dr. Sven Jörges, FH Dortmund
     
    Web-Entwicklung früher und heute
     
    Professor Jörges begann seinen Vortrag zunächst mit einem Blick zurück auf die Anfänge der Web-Entwicklung. In den 2000er Jahren reichten Grundkenntnisse in HTML und PHP, um mit Web-Entwicklung Geld zu verdienen. Damals wurden viele Studierende quasi über Nacht Web-Entwickler. Herr Jörges visulisierte diese Phase mit dem Sinnbild einer weiten grünen Wiese. Es war noch überall Platz und man konnte sich leicht orientieren. Heute ist Web-Entwicklung im großen Maßstab eine komplexe Sache. Herr Jörges visualisierte die aktuelle Situation mit dem Sinnbild Dschungel.
     
    4 Aspekte des Sinnbildes Dschungel
     
    Ein Dschungel ist gekennzeichnet durch überschießendes Wachstum. Das zeigt sich z.B. in Userzahlen, in der Anzahl von Anfragen und vielem mehr. Einen Eindruck davon vermittelt die Seite The Internet in Real-Time. Eine Konsequenz daraus ist, dass die Skalierbarkeit von Web-Anwendungen heute extrem wichtig ist. Ein zweiter Aspekt des überschießenden Wachstums ist die Bedeutung von Plattformen. Früher genügten einem Unternehmen eigene Web-Seiten. Um heute wahrgenommen zu werden, ist es wichtig, auf vielen Plattformen präsent zu sein. Ein dritter Aspekt des Wachstums ist die steigende Vielfalt von Endgeräten und Formfaktoren. In den 2000er Jahren wurde auf Startseiten oft der Hinweis eingeblendet, für welche Bildschirmauflösung sie optimiert war. Heute muss eine Web-Anwendung auf allen Geräten vom Smartphone bis zum Desktop PC gut benutzbar sein. Am besten sollte sie auch auf einer Smartwatch funktionieren. Das macht Web-Entwicklung komplizierter. Ein vierter Aspekt des Wucherns ist die unüberschaubare Vielfalt an Frameworks. Diese bieten natürlich einen stabilen Rahmen mit Basisfunktionen. Man muss nicht bei Null anfangen und kann dadurch schneller entwickeln. Außerdem helfen gute Frameworks, Standardfehler zu vermeiden. Aber die Vielfalt ist inzwischen so überwältigend, dass der Einstieg dadurch schwierig wird. Für welches Framework soll man sich entscheiden?  
    Einen Eindruck dieser Vielfalt vermittelt der Wikipedia-Eintrag Comparison of Web Frameworks. Das schnelle Entstehen neuer Technologien wird auch humorvoll aufgegriffen, z.B. durch die Seite Days since last javascript framework. Auf www.heise.de findet man auch das witzige Quiz "JavaScript oder Metal Band". Auch der nicht ganz erst gemeinte Begriff "JavaScript fatigue" zeigt, dass die sich erweiternde Auswahl neuer Technologien mittlerweile als überfordernd wahrgenommen wird.
     
    Gerade in diesem Zusammenhang passt das Sinnbild des Dschungels, denn im Dschungel ist es schwierig, sich zu orientieren und seinen Weg zu finden. Einsteiger im Bereich Web-Entwicklung fragen sich heute:
    Was soll ich eigentlich lernen? Womit fange ich an? Welches Wissen hält länger als eine Woche?  
    Web-Seite vs. Web-Anwendung vs. Desktop-Anwendung
     
    An dieser Stelle spielte Herr Jörges mit uns ein kleines Quiz-Spiel, dass mich an die alte Kindersendung "1, 2 oder 3" erinnerte. Er zeigte uns am Beamer eine Szene und wir sollten raten: Ist es eine Web-Seite, eine Web-Anwendung oder eine Desktop-Anwendung?
     
    Die ersten Beispiele waren noch einfach zuzuordnen, z.B. Fefes Blog oder Google Docs. Der bekannte Editor Visual Studio Code wird lokal installiert, ist also eigentlich eine Desktop-Anwendung. Er ist aber mit dem Framework Electron erstellt, das es ermöglicht, Desktop-Anwendungen mit den Web-Technologien HTML, CSS und Javascript zu programmieren. Ein schönes Beispiel war auch das Spiel HexGL. Es ist ein Racing Spiel im Stil des Klassikers Wipeout. Vor einigen Jahren hätte man es noch für ein Konsolenspiel halten können. Es basiert aber auf JavaScript und ist eine Web-Anwendung, die im Browser läuft. Die letzte Quizfrage richtete sich auf die Anwendung, mit der der Beamervortrag präsentiert wurde. Man hätte auf PowerPoint tippen können. Tatsächlich sahen wir eine Web-Seite, die mit dem Framework reveal.js erstellt worden war.
     
    Das Fazit dieses Spiels? Man kann die Dinge nicht mehr so leicht kategorisieren wie früher. Web-Anwendungen, Web-Seiten und Desktop-Anwendungen sind voneinander nicht mehr so klar abgegrenzt. Die Grenze zwischen Web und Native oder Web und Desktop verschwimmt zusehends. Abgesehen von Spezialisten für Embedded Systems kommt bald kein Entwickler mehr ohne Web-Technologien aus.
     
    Ein Beispiel dafür sind GUI-Frameworks für Java. Swing ist abgekündigt. Der designierte Nachfolger JavaFX ist ebenfalls abgekündigt. Aber wohin geht die Reise? Oracle weiß es selbst nicht. Womöglich braucht man in Zukunft gar kein klassisches GUI-Framework für den Desktop.
    Herr Jörges versuchte sich an dieser Stelle noch einmal an einer Definition der Begriffe Web-Seite, Web-Anwendung, Desktop-Anwendung, wohl wissend, dass die Unterscheidungskriterien nicht mehr scharf und nicht mehr dauerhaft sein können.
     
    Was tun?
     
    Herr Jörges meint: Es gibt Wege durch den Dschungel. Im letzten Abschnitt seiner Vorlesung gab er zwei konkrete Tipps, um wieder Orientierung zu gewinnen.
     
    Tipp 1: Go back to the roots!
     
    Man sollte die Grundlagen kennen und beherrschen. Die 3 wichtigsten Web-Technologien sind HTML, CSS und Javascript. Man sollte also HTML(5) gut kennen. Laut Herrn Jörges beinhaltet das sehr viel mehr Wissen, als eine einführende Lehrveranstaltung an einer Hochschule vermitteln kann. Diese kann einen Überblick und einen Einstieg verschaffen. Dann sollte man aber in die Tiefe gehen. CSS kann ebenfalls sehr komplex werden. Schließlich ist es wichtig, Javascript gut zu beherrschen, denn diese Sprache hat ihre "Untiefen". Der Tipp, JavaScript zu lernen, gilt ausdrücklich auch für Entwickler, die sich von Sprachen wie Typescript oder Frameworks wie React angezogen fühlen.
     
    Die Sprache Javascript hat sich in den vergangenen Jahren stark weiterentwickelt. Frameworks, die früher essentiell waren, verlieren dadurch schnell an Bedeutung. Als Beispiel nannte Herr Jörges jQuery oder Bootstrap. jQuery war z.B. für DOM-Manipulation und für AJAX unerlässlich. Doch diese Dinge kann man inzwischen standardmäßig mit der DOM-API machen. Bootstrap hat man gerne für Raster verwendet. So etwas geht jetzt auch mit CSS Grid Layouts. Man braucht also Frameworks nicht mehr unbedingt.
     
    Herr Jörges empfiehlt Einsteigern, sich von Frameworks zunächst fernzuhalten und stattdessen die Tiefen und Möglichkeiten der 3 Basistechnologien auszuloten. Es gibt zur Zeit viele Web-Seiten und Blog-Posts mit Titeln wie  "You might not need jQuery". (Für jQuery kann man ein beliebiges Framework oder eine beliebige Library einsetzen.) Eine Google-Suche nach so etwas führt auf Artikel, die aufzeigen, wie man vergleichbare Funktionalität mit Basistechnologien realisieren kann.
     
    Tipp 2: Das Handwerk beherrschen
     
    Web-Engineering ist eine Ingenieursdisziplin. Es gibt Prinzipien und Methoden. Das wird im Web und beim Hype um die nächste Technologie schnell vergessen.
     
    In den Software-Technik Vorlesungen lernen Studierende z.B. das Model View Controller Muster (MVC) kennen. Es entstand schon in den 70er Jahren. Für die junge Disziplin Informatik ist es also steinalt. Es ist aber immer noch extrem relevant. Inzwischen existiert es in unzähligen Varianten:
    MVVM = Model View View Model MVP = Model View Presenter MVI = Model View Intent und so fort...  
    Igor Minar, bekannt für seine Arbeit an Angular, hat eine weitere schöne Variante definiert: "... I hereby declare AngularJS to be MVW framework - Model-View-Whatever. Where Whatever stands for "whatever works for you".
     
    Wenn man MVC versteht, versteht man auch seine Varianten. In ähnlicher Weise profitieren angehende Entwickler davon, andere Grundmuster der Softwaretechnik zu lernen.
     
    Laut Herrn Jörges sollten diese beiden Tipps bereits genügen, sich im Dschungel der Web-Entwicklung zu orientieren.
     
    Q&A:
     
    Eröffnet sich nicht mit Web-Assembly die Möglichkeit, künftig in beliebigen Sprachen für den Browser zu entwickeln?
    Herr Jörges meinte, dass er das für die Zukunft halte. Aber noch sei es nicht soweit. Einstweilen sei es empfehlenswert, JavaScript zu lernen.
     
    Ist geplant, dass Curriculum im Sinne der drei genannten Basistechnologien weiter zu entwickeln?
    Herr Jörges bekräftigte, dass seine Pläne für die Studiengang in diese Richtung gehen, auch im Licht der anstehenden Reakkreditierung. Allerdings sei es nicht immer leicht, solche Pläne im gewünschten Tempo umzusetzen. Dies sei in einem reinen Präsenzstudiengang tatsächlich etwas leichter. (Dort müssen die Inhalte z.B. nicht für eine Lernplattform aufbereitet werden.)
  2. kurtchen
    Mein letztes Modul im ersten Semester sollte "Webprogrammierung" werden. Für Studierende im Studiengang "Web- und Medieninformatik" wird es als erstes Modul in diesem Fachgebiet empfohlen. Es ist zugleich Pflichtmodul im Studiengang "Wirtschaftsinformatik", wo es dem Fachgebiet Softwaretechnik zugeordnet ist. Für die Wirtschaftsinformatiker bleibt es das einzige Pflichtmodul, dass sich speziell mit Webtechnologien beschäftigt. (Sie belegen allerdings noch ein Modul zu Content Management Systemen.) Für die Webinformatiker ist es der Auftakt zu vertiefenden Modulen in HTML und CSS, in Multimedia, XML, Webdesign und serverseitiger Programmierung mit Java Server Pages. Der Wahlpflichtbereich bietet dann weitere Möglichkeiten, sich in diesem Bereich zu entwickeln, auch für die Wirtschaftsinformatiker.
     
    Doch zurück zum Modul "Webprogrammierung". Es handel von folgenden Themen:
    - XHTML
    - CSS
    - Javascript
    - XML
    - PHP
    - Java Server Pages
    - ASP.Net
    - und eine sehr knappe Einführung in Ajax
     
    Der Kurs beschäftigt sich also mit semantischem Markup, Styling und Layout, clientseitiger Programmierung und serverseitiger Programmierung.
     
    Das erste Kapitel behandelt XHTML. HTML5 war anscheinend bei der letzten Überarbeitung noch nicht so weit, auch wenn es im einführenden Kapitel kurz vorgestellt wird. Für die Bearbeitung der Aufgaben ist die XHTML-Syntax verbindlich, die in verschiedenen Punkten ein bisschen strenger ist.
    Inhalte hier sind z.B.:
    - Grundlegender Aufbau eines XHTML-Dokumentes
    - Links
    - Bilder
    - Bereiche
    - Tabellen
    - Formulare
     
    Im Grunde keine schlechte Einführung, die aber für meinen Geschmack ein wenig knapp ausgefallen ist. Möglicherweise ging man bei der Konzipierung des Moduls davon aus, dass viele Studierende in diesem Gebiet Vorkenntnisse haben. Dies trifft auch für viele meiner Kommilitonen zu, die z.B. als PHP-Entwickler arbeiten. Mit solch einem Hintergrund sollte das Kapitel zu XHTML tatsächlich recht leicht fallen. Ich ging mit wenig Vorkenntnissen in den Kurs, hatte keine Schwierigkeiten, die vorgestellten Konzepte zu verstehen, merkte aber bei den Übungen, dass ich in der Anwendung nicht richtig sicher wurde.
     
    Ein Besonderheit in diesem Kurs: Es gibt vergleichsweise wenige Einsendeaufgaben; in der Regel zu jedem Kapitel eine. Vor Bearbeitung jeder Einsendeaufgabe wird die Bearbeitung einiger Übungsaufgaben vorgeschlagen, zu denen man sich Musterlösungen runterladen kann. So kann man selbst vergleichen und schauen, ob die eigene Lösung sinnvoll und richtig war. Natürlich kann man so eine Menge lernen und ich fand die Übungen auch didaktisch gut gewählt und erkannte einen sinnvollen Aufbau. Ein wenig mehr Tutorinteraktion hätte mir aber besser gefallen, zumal das in anderen Modulen ja auch möglich ist. Die Einsendeaufgaben fassten aber meist ganz gut die einzelnen Fähigkeiten aus den vorangegangenen Übungen zu einer komplexeren Gesamtaufgabe zusammen.
     
    Im nächsten Kapitel ging es um CSS. Themen waren hier zum Beispiel:
    - Vererbung, Kaskadierung
    - Tabellengestaltung
    - Layoutgestaltung mit float
    - Absolutes Layout

    Responsive Webdesign spielte in diesem Modul keine Rolle.
     
    Weiter ging es mit Javascript als clientseitige Programmiersprache. Hier ging es ums DOM, um Event Handler und um die Validierung von Formularen. Auch dieses Kapitel war für meinen Geschmack recht knapp. Ich hatte keine Schwierigkeiten, den Stoff nachzuvollziehen, merkte aber bei den Übungen, dass es einfach zu schnell gegangen war, um eine gewisse Sicherheit im Umgang mit der Sprache zu entwickeln. Auch merkte ich, dass mir die solide Grundlage in HTML und CSS fehlte, so dass ich immer wieder im Lehrtext zurückgehen musste.
     
    Javascript sieht Java auf den ersten Blick ähnlich, hat aber ein anderes Sprachkonzept. Bei den Übungen hatte ich oft das Problem, die gewohnte Java-Syntax und die noch ungewohnte Javascript-Syntax zu mischen, was dazu führte, dass ich immer wieder viel Zeit für Fehlersuche aufbringen musste. Diese Verwirrung sollte sich um Laufe des Kurses noch steigern, wenn ähnliche Anwendungsbeispiele in verschieden Sprachen gezeigt wurden. So merkte man einerseits gut die Unterschiede zwischen den Sprachen, aber zugleich fiel es mir schwer, die Codebeispiele in meiner Erinnerung auseinander zu halten.
     
    Im folgenden Kapitel über XML ging es um:
    - den grundlegenden Aufbau einer XML-Datei
    - XML-Parser
    - die DTD
    - das XML-Schema
    - um XSL-Stylesheets

    Außerdem lernte man die Vorzüge eines XML-Editors kennen. Hier möchte ich erwähnen, dass die W3L ein eigenes Modul "XML" hat, dass wesentlich tiefer geht und das im Studiengang "Web- und Medieninformatik" Pflicht ist. Als Einführung ins Thema XML fand ich dieses Kapitel sehr gelungen.
     
    In den folgenden Kapiteln sollte es um serverseitige Sprachen gehen. Hier folgten im Schnelldurchgang:
    - PHP
    - Java Server Pages
    - ASP.Net
     
    Im PHP-Kapitel ging es natürlich um die Anbindung an MySQL, aber auch um einfache Dateiverarbeitung und die Realisierung eines Gästebuches.
     
    Eine Herausforderung im JSP-Kapitel ist, dass die Syntax häufig wechselt, denn auch EL, JSTL und JSF werden kurz angerissen. Das soll wohl einen Überblick über verfügbare Techniken vermitteln, stiftet aber aus meiner Sicht in dieser knappen Form eher Verwirrung. JSP hat nur einen geringen Marktanteil. Trotzdem lohnt es sich, dieses Kapitel gründlich zu bearbeiten, denn das Pflicht-Modul "Web-Anwendungen 2" behandelt ausführlich JSP. Auch im Wahlpflichtbereich kann man sich weiter mit Java als serverseitiger Sprache befassen, während es zum Beispiel zu PHP keine weiteren Module gibt.
     
    Sehr gelungen fand ich dafür das Kapitel zu ASP.Net. Hier ging es unter anderem um das Konzept der code behind Technik, die eine saubere Arbeitsteilung zwischen Front-End- und Back-End-Entwicklern ermöglichen soll. Hier habe ich gemerkt, dass die Einführung in C# aus dem Modul "Grundlagen der Informatik 2" doch recht knapp war. Mit meinen Java-Kenntnissen fand ich mich zwar schnell zurecht, aber an Details blieb ich doch oft hängen und verbrachte viel Zeit mit Fehlersuche. Gleichwohl hat mir besonders dieses Kapitel gut gefallen, weil ich dabei den Net-Framework als ein schönes Stück Technik schätzen gelernt habe. Schade, dass weder ASP noch C# im weiteren Curriculum der W3L eine Rolle spielen.
     
    Das letzte Kapitel stellte in sehr knapper Form die Möglichkeiten von Ajax vor. Hier habe ich definitiv nichts mehr mitnehmen können. Ich war einfach übersättigt von den rasch wechselnden Themen und hatte zu viel neue Syntax in zu kurzer Zeit verdauen müssen. Bei der Bearbeitung der Aufgaben merkte ich das daran, dass ich immer wieder die verschiedenen Sprachen mischte und verwechselte.
     
    Zusätzlich hatte ich in diesem Modul das Problem, dass meine Tutorin länger für die Korrektur meiner Aufgaben brauchte, als ich das bislang von der W3L gewohnt war. Wenn Feedback kam, war ich oft schon 2 Kapitel weiter, was es mir schwerer machte, die durchaus guten Tipps zu verwerten. Auch die Korrektur der Online-Klausur dauerte ein wenig länger, so dass ich beim Schreiben der Präsenzklausur noch nicht wusste, wieviele Bonuspunkte ich hatte.
     
    Für mich war es das erste Modul mit dem ich insgesamt unzufrieden war. Für meinen Geschmack wollte man hier zu viel auf einmal. Die Intention, einen Überblick über gängige Webtechnologien zu geben, die Themen semantisches Markup, Styling, client- und serverseitige Programmierung in einem Modul vorzustellen, war für mich nachvollziehbar. Aber nach der Bearbeitung hatte ich den Eindruck, dass weniger mehr gewesen wäre. Lieber hätte ich zunächst eine gründlichere Einführung in HTML und CSS erhalten. Diese Grundlage bringen natürlich viele Studierende schon mit, weshalb dieses Modul von vielen meiner Kommilitonen als eines der leichteren beschrieben wird.
     
    Für die Präsenzklausur hatte meine Tutorin mir den wertvollen Tipp gegeben, ein paar Aufgaben noch einmal mit Stift und Papier zu bearbeiten. Das hat mir tatsächlich geholfen, ein paar syntaktische Grundstrukturen "in die Finger" zu kriegen, wodurch ich in der Klausur etwas schneller war. Die Note war für mich zwar erfreulich, aber das gute Gefühl, sich den Stoff richtig angeeignet zu haben, blieb in diesem Modul für mich aus. Die Klausur deckte die Themen des Kurses recht breit ab, so dass ich anderen Studierenden empfehlen würde, alle Kapitel zu wiederholen. 
     
    Meine Tutorin hat mir übrigens am Ende erklärt, warum die Bearbeitung in meinem Fall etwas länger gedauert hat als üblich, und das war für mich auch gut nachvollziehbar. Da ich bald das Modul "Web-Anwendungen 1" belegen wollte, das ebenfalls von ihr betreut wurde, plante ich eine etwas längere Bearbeitungszeit ein und belegte parallel GdI3 "Anwendungsprogrammierung". Rückblickend muss ich sagen, dass es hilfreich war, das Thema der längeren Korrekturzeiten anzusprechen. Das Problem ließ sich dadurch zwar nicht sofort lösen, aber immerhin habe ich so einen guten Workaround finden können. Ich nehme daraus mit, dass es sich lohnt, sich mit den Tutoren über die eigenen Lernziele auszutauschen, auch und gerade was Klausurtermine und die angepeilte Bearbeitungszeit angeht. Wenn man rechtzeitig weiß, was einen erwartet - z.B. vorrübergehend etwas längere Korrekturzeiten - kann man einen Plan B machen.
     
    Rückblickend betrachtet, hätte ich lieber das Modul "Webanwendungen 1" als erstes bearbeitet. Hier erhält man die sehr gründliche Einführung in HTML5 und CSS, die ich mir von einem einführenden Modul in Webtechologien erhofft hätte. Dieser Kurs orientiert sich außerdem an Fallbeispielen, was für mich sehr zum Verständnis beigetragen hat. Aus meiner Sicht sollte "Web-Anwendungen 1" das erste Modul zu Webtechnologien sein. Doch darüber schreibe ich zu einem anderen Zeitpunkt mehr.
     
    Ich meine, das Modul leidet etwas unter seiner Doppelfunktion: Für die Wirtschaftsinformatiker ist es sozusagen die eierlegende Wollmilchsau. Es verschafft ihnen einen Überblick über verschiedene Webtechnologien, ohne allzu sehr in die Tiefe zu gehen. Für die Webinformatiker soll es zugleich eine Einführung sein, auf die umfangreiche Vertiefungsmodule folgen. Das erfordert ein paar didaktische Kompromisse.
     
    Als Sekundärliteratur für dieses Modul habe ich "HTML & CSS: Design and Build Websites" und "Javascript & JQuery: Interactive Front-End Web Development" verwendet. Beide Titel sind von Jon Ducket. Sie glänzen durch ein sehr aufgeräumtes Layout. Der Stoff wird in appetitlichen, kleinen Häppchen serviert und man hat eine schöne Gegenüberstellung von Code und grafischer Darstellung. Ich habe diese Bücher parallel zum Kurs gelesen und empfand die besonders ästhetische Form der Darstellung als ideale Ergänzung zum sachlichen und systematischen Stil des im Kurs verwendeten Lehrbuches.
  3. kurtchen
    Das Modul "Grundlagen der Informatik 4: Algorithmen und Datenstrukturen" ist Pflicht für Studierende im Studiengang Web- und Medieninformatik. Die Wirtschaftsinformatiker dürfen es als Wahlpflicht-Modul belegen. Die W3L schlägt vor, es im vierten Semester nach GdI3 zu belegen. Nötig sind aber nur die Kenntnisse aus GdI2. Konkret sollte man gute Grundkenntnisse in objektorientierter Programmierung und in generischer Programmierung haben. Letzteres, weil die meisten Algorithmen im Kurs für generische Typen entwickelt werden. Wer sich auf diesen Kurs ein wenig vorbereiten will, sollte vor allem noch einmal das Kapitel zu generischer Programmierung aus GdI2 wiederholen.
     
    Auf GdI4 hatte ich mich sehr gefreut, weil Kenntnisse im Bereich Algorithmen und Datenstrukturen zu meinem Bild von einem Informatiker gehören. Mathematik oder BWL sind Teil sehr vieler Studiengänge und viele Naturwissenschaftler und Ingenieure lernen programmieren. Aber Algorithmen sind für mich ein wesentlicher Teil dessen, was die Informatik als eigenständige Disziplin auszeichnet.
     
    Ein bisschen hatte ich mich schon einmal mit dem Thema beschäftigt. Zu Schulzeiten hatte ich mal ein Buch über Algorithmen und Datenstrukturen, die damals noch in einer strukturierten Programmiersprache behandelt wurden. Hier ging es zum Beispiel um Sortieralgorithmen, Binärbäume und verkettete Listen. Als Schüler habe ich leider vieles nicht verstanden, obwohl ich das Thema sehr spannend fand. Nun wollte ich herausfinden, ob mir diese Konzepte inzwischen zugänglicher waren.
     
    Schon im ersten Teil des Kurses gab es erste Überlegungen zur Korrektheit und Komplexität von Algorithmen. Überlegungen zur Komplexität bei wachsender Problemgröße ziehen sich durch den ganzen Kurs. Dies ist wichtig, um später für ein gegebenes Problem eine vorteilhafte Datenstruktur oder einen geeigneten Algorithmus auswählen zu können. Das zweite Kapitel handelte von Rekursion. Hier ging es darum, ein Verständnis dafür zu entwickeln, was beim rekursiven Methodenaufruf im Speicher passiert. Klassisches Fallbeispiel ist das Problem der Türme von Hanoi. Interessant war eine allgemeine Strategie, rekursive Algorithmen in iterative Algorithmen umzuwandeln. Oft ist der Algorithmus dann nicht mehr so übersichtlich und nachvollziehbar. Dafür verbessert sich die Laufzeit und der Speicherbedarf. Bis hier fand ich den Kurs noch recht trocken. Der Stoff war durchaus interessant aber nicht das, was ich erwartet hatte.
     
    Das änderte sich im nächsten Kapitel, wo es um Suchalgorithmen ging. Im wesentlichen wurden hier die drei grundlegenden Strategien sequentielle Suche, binäre Suche und Hashing-basierte Suche behandelt. Der Kurs entwickelt die Codebeispiele in Java, weil das an der W3L die Lehrsprache ist. Aber ich habe rasch den Eindruck gewonnen, dass es in diesem Kurs eben nicht um Java sondern um ein Verständnis der Algorithmen und Datenstrukturen ging. Auch wenn immer wieder darauf verwiesen wird, was die Java-Klassenbibliothek schon fix und fertig anbietet. Denn natürlich wird man selten selbst die Algorithmen und Datenstrukturen aus dem Kurs implementieren. In der Regel wird man Bibliotheken benutzen, die sie zur Verfügung stellen. Sinn des Kurses ist eher, das man versteht, was man da benutzt und was das für Implikationen hat. Das macht sich auch ein wenig bei den Einsendeaufgaben bemerkbar. Ich hätte erwartet, hier vor allem Algorithmen implementieren zu müssen. Tatsächlich wurden viele Implementierungen im Lehrbuch schrittweise entwickelt. Oft ging es eher darum, diesen Code in kleinen Problemstellungen zu benutzen, ihn zu erweitern, zu ergänzen oder zu modifizieren.
     
    Im nächsten Kapitel ging es um Sortierverfahren. Es zerfiel in zwei Teile. Im ersten Teil ging es um die sogenannten direkten Verfahren: - Sortieren durch direkte Auswahl
    - Sortieren durch direktes Einfügen
    - Sortieren durch direktes Austauschen
    Diese Verfahren sind leicht zu verstehen aber sie sind langsam. Im zweiten Teil werden diese einfachen Verfahren schrittweise verbessert. Aus dem langsamen BubbleSort wird so z.B. der sprichwörtlich schnelle QuickSort-Algorithmus. HeapSort, QuickSort, ShellSort und MergeSort sind schon etwas schwieriger zu verstehen als die direkten Verfahren. Auch hier ist die Implementierung in Code das geringste Problem. Wichtiger ist, zu begreifen, wie auf der Datenstruktur (in der Regel ein Array) gearbeitet wird, wieviele Vergleiche und Tauschoperationen für große n anfallen, warum ein Verfahren terminiert und so weiter. Eine wichtige Frage ist auch immer wieder die sogenannte Stabilität eines Verfahrens. Hierbei geht es darum, ob sich die Reihenfolge von Elementen mit gleichem Schlüssel im Laufe des Sortierens ändern kann, oder ob sie "stabil" bleibt. Bei diesem Kapitel bedauerte ich nur, dass der BucketSort-Algorithmus nicht ausführlich vorgestellt wurde.
     
    Im nächsten Kapitel ging es um Datenstrukturen. Hier wurden eigene Implementierungen von Feldlisten (ArrayList) und verketteten Listen, von Stapeln (Stack) und Schlangen (Queue), von Mengen (Set) und Abbildungen (Map) entwickelt. Hier wurden immer wieder Bezüge zu den Klassen hergestellt, die Java von Haus aus mitbringt. Es war für mich wirklich schön, zu begreifen, was ich bislang nur benutzt hatte, endlich zu verstehen, was "unter der Haube" passiert. Im Rest des Kapitels ging es um Bäume, um das Einfügen und Löschen in Bäumen und um ausgeglichene Bäume. Also darum, wie man Bäume reorganisieren kann, um zu verhindern, dass sie im schlimmsten Fall zur Liste entarten. Die verschiedenen Baumrotationen fand ich leider im Lehrbuch zu knapp erklärt, um sie nachvollziehen zu können. Zum Glück werden Algorithmen und Datenstrukturen in praktisch allen Informatik-Studiengängen gelehrt. Es war so kein Problem im Internet Skripte und Folien anderer Unis und FHs zu finden und da war dann schließlich auch eine Darstellung dabei, mit der auch ich gut zurechtkam.
     
    Bis hier war ich mit dem Modul sehr zufrieden. Mit diesem Themen war dann wohl auch der Grundstock dessen abgehandelt, was zu einer einführenden Lehrveranstaltung "Algorithmen und Datenstrukturen" gehört. Von hier aus hätte es in verschiedene Richtungen weitergehen können. Die Autoren dieses Modul haben sich dafür entschieden, Algorithmen auf Texten zu behandeln. Konkret ging es um den KMP und den Boyer-Moore-Algorithmus. Dieses Kapitel ist mir sehr schwer gefallen. Ich war zunächst mit der Darstellung des Stoffes unzufrieden. Meine Suche nach alternativem Material, das verständlicher aufbereitet ist, blieb leider erfolglos. Möglicherweise haben die Autoren also ihr bestes getan und ich hatte hier einfach nicht den richtigen Dreh raus. Ich verstand die Algorithmen schon, aber nach ein bis zwei Tagen war alles wieder weg, während ich mich an den Rest des Stoffes gut erinnerte. Zum Glück kamen die Algorithmen auf Texten in der Präsenzklausur nicht dran.
     
    Das letzte Kapitel handelte von kombinatorischen Algorithmen. Zunächst ging es um Backtracking. Damit kann man einige klassische Probleme lösen, zum Beispiel das Färben von Landkarten. Oder klassische Denksportaufgaben, die sich um das geschickte Positionieren von Springern oder Damen auf einem Schachbrett drehen. Schließlich wurde ein Constraint-Solver entwickelt. Dessen Funktionsweise konnte ich leider nicht in allen Details nachvollziehen, denn nun wurde es doch sehr komplex. Hier bewegt man sich schon in Richtung KI. Ich fand es irre spannend, dass dieses Thema im Kurs enthalten war, auch wenn es zum Glück nicht klausurrelevant war. Gerne hätte ich an dieser Stelle noch weiter gemacht, aber es passt eben nicht beliebig viel Stoff in ein Modul.
     
    Mein Tutor hatte in diesem Modul einen einfach zu begreifenden Arbeitsrhythmus. Korrekturen kamen am Samstag, ganz gleich, wieviel man die Woche über eingereicht hatte. Ich konnte mein Arbeitsverhalten gut daran anpassen. Hilfestellung bei Problemen gab es schneller. Interessant für mich: Während in GdI1 noch sehr viel Wert auf einen sehr sauber strukturierten und expliziten Code gelegt wurde, ermutigte mich mein Tutor in GdI4, meinen Code kompakter zu schreiben, mehr Operationen in einer Zeile zusammen zu fassen. Meine Programme wurden so kürzer, waren aber auch nicht mehr ganz so leicht leserlich. Man erinnere sich: Dieser Kurs ist fürs 4. Semester vorgesehen. Da traut man den Studierenden schon einen dichteren Programmierstil zu.
     
    Die Präsenzklausur lief für mich ziemlich gut. Anscheinend lag mir das Thema, denn ich konnte hier eines meiner besten Ergebnisse erzielen. In der Vorbereitung hatte ich mich auf die Grundkonzepte Suchalgorithmen, Sortierverfahren und Datenstrukturen konzentriert. Überraschend für mich: Java-Code musste ich nur wenig schreiben. Es wurde geprüft, ob man die Verfahren und Strukturen begriffen hatte, unabhängig von der Implementierung in einer bestimmten Programmiersprache. Ein Vorteil bei diesem Modul: Hier gibt es in der Regel ein eindeutiges "richtig" und "falsch", während es in anderen Modulen - nennen wir z.B. "Webdesign" - ein bisschen mehr Interpretationsspielräume gibt.
     
    Was ich gerne noch gelernt hätte:
    - Algorithmen zu Pfadsuche in Graphen
    - etwas über genetische Algorithmen
    - etwas über neuronale Netze
    Am liebsten wäre mir, die W3L würde ein eigenes Modul "Künstliche Intelligenz" anbieten. Aber vielleicht passt das nicht zum Profil eines Studiengangs "Web- und Medieninformatik".
     
    Im Kurs ist noch eine ganz knappe Einführung in die funktionale Sprache "Clojure" enthalten, letztlich ein Lisp-Dialekt auf der Java Virtual Machine. Auf dieses Kapitel war ich sehr neugierig, weil ich immer wieder höre, dass es sinnvoll ist, andere Programmierparadigmen kennen zu lernen. Nicht, um in exotischen Sprachen zu programmieren, sondern weil sich das Verständnis für Programmierung insgesamt entwickelt. Ich höre solche Aussagen einerseits mit einer gewissen Faszination und andererseits mit einer gewissen Skepsis. (Sie erinnern mich an die These, man müsse Latein lernen, weil man dann ... besser versteht/kann/lernt.) Jedenfalls wäre ich durchaus neugierig gewesen, eine lispoide Sprache zu lernen. Das Kapitel im Kurs GdI4 ist für diesen Zweck allerdings viel zu knapp. Ich verstehe also leider immer noch nicht, was genau den Reiz funktionaler Sprachen ausmacht. Gerne würde ich diesen Faden eines Tages wieder aufgreifen und zum Beispiel das legendäre "Structure and Interpretation of Computer Programs" von Abelson und Sussman durcharbeiten. Aber ich fürchte, während meines Fernstudiums werde ich die Zeit dazu nicht finden.
     
  4. kurtchen
    Das Modul BWL1 ist Pflichtmodul sowohl für die Studierenden der Wirtschaftsinformatik als auch für die der Web- und Medieninformatik. Die Wirtschaftsinformatiker belegen zuvor noch das Modul "Grundlagen der BWL", über das ich leider nichts sagen kann. Möglicherweise hätte mir die Belegung dieses Moduls die Bearbeitung von BWL1 erleichtert. Web- und Medieninformatiker müssen im weiteren Studienverlauf mindestens noch BWL2 belegen. Für die Wirtschaftinformatiker folgen noch einige weitere BWL-Module:
    - strategisches Management und Controlling
    - Electronic Business
    - Human Ressource Management
     
    Für angehende Web-Informatiker wie mich ist BWL1 schon im 1. Semester vorgesehen. Ich hatte dieses Modul jedoch lange vor mir hergeschoben. Inzwischen hat sich das zu einem Bremsklotz meines Studiums entwickelt. BWL1 ist Voraussetzung für das Modul "Geschäftsprozess-Management" und für BWL2. Letzteres ist wiederrum Voraussetzung für weitere Module, die ich gerne belegen möchte, z.B. für "Business Intelligence". Es half also alles nichts. Ich musste dieses Thema endlich angehen.
     
    BWL habe ich lange vor mir hergeschoben
     
    Grund für meine "Aufschieberitis" war meine Vermutung, dass mir dieses Modul nicht so leicht fallen würde. Ich war Schüler eines katholischen Gymnasiums, das sich durchaus bemüht hat, mir eine solide Allgemeinbildung zu vermitteln. Betriebswirtschaftliche oder volkswirtschaftliche Grundkenntnisse gehörten damals aber nicht zum Kanon. Es wird ja in letzter Zeit immer häufiger beklagt, dass solche Themen in den Lehrplänen vieler allgemeinbildender Schulen nicht vorgesehen sind. Ich kann sowohl das FÜR als auch das WIDER der laufenden Diskussion nachvollziehen und möchte mich diesbezüglich auch gar nicht positionieren. Festzuhalten bleibt einfach, dass ich ohne nennenswerte Vorkenntnisse in dieses Modul gestolpert bin. Auch meine beruflichen Erfahrungen haben mir hier nichts genutzt. Als Beschäftigter in einem sozialpädagogischen Beruf genieße ich den Vorteil, einen vergleichsweise abwechslungsreichen Berufsalltag zu haben und innerhalb meines Berufes ganz unterschiedliche Kompetenzen entwickeln zu können. Betriebswirtschaftliche Kenntnisse gehörten in meinem Fall aber nicht dazu. Hier hatte ich immer das Glück, dass in unserer Verwaltung kompetente Kollegen saßen, die die abrechnungstechnischen Probleme für mich lösten. Das ist schön, weil es mir den Rücken für meine eigentlichen Aufgaben frei hält. Ich habe aber auch gemerkt, dass Kommilitonen, die in einem betrieblichen Umfeld arbeiten oder gar selbstständig sind, die Themen des Modules zugänglicher finden.
     
    Kursaufbau
     
    Der Kurs besteht aus 2 Lehrbüchern von 2 verschiedenen Autoren: "Basiswissen Externes Rechnungswesen" von Frank Wischmann und "Basiswissen Internes Rechnungswesen" von Rainer Ostermann. Zusammen kommt man auf an die 500 Seiten Lehrtext, so dass der Kursumfang für ein Modul bei Springer Campus als leicht überdurchschnittlich gelten kann.
     
    Teil 1: Externes Rechnungswesen
     
    Insbesondere mit dem Kursteil zum externen Rechnungswesen habe ich mich sehr schwer getan. Inhalte dieses Kurses sind:
    - Bilanz ziehen, Bilanzaufbau, Inventar und Inventur, Kapitalarten
    - die Buchhaltung als Teilgebiet des Rechnungswesens
    - die rechtlichen Grundlagen der Buchführungspflicht
    - Darstellung von Grundgeschäftsfällen mit T-Konten
    - Buchungssätze
    - Erfolgsbuchungen
    - das System der Umsatzbesteuerung
    - besondere Geschäftsfälle wie Beschaffung, Handelswaren, fertige und unfertige Erzeugnisse, Bezugskosten und Wertreduzierung, Grundlagen der Anlagenwirtschaft und der Personalwirtschaft
    - private Vorgänge wie Privatentnahmen und -einlagen
    - Bilanzierungsgrundsätze und -maßstäbe
    - Gewinn- und Verlustrechnung
    - aktive und passive Rechnungsabgrenzungsposten
    - Rückstellungen
    - Bewertung des Anlagevermögens, des Umlaufvermögens, der Forderungen und der Verbindlichkeiten
    - Bilanzpolitik und Bilanzkennzahlen
     
    Die meisten dieser Begriffe waren mir zu Beginn des Kurses völlig unbekannt. Das externe Rechnungswesen richtet sich nicht allein an Akteure innerhalb des Unternehmens sondern vor allem an solche außerhalb des Unternehmens. Zum Beispiel ist die Bilanz Grundlage für die Besteuerung des Unternehmen; insofern werden die Bücher z.B. auch für das Finanzamt geführt. Aber auch Kapitalgeber haben ein legitimes Interesse an den Büchern. Ihnen gegenüber muss man nachweisen, dass man ordentlich gewirtschaftet hat, um sich nicht etwa der Insolvenzverschleppung schuldig zu machen. Aus diesem Grund wird das externe Rechnungswesen stark durch gesetzliche Vorgaben und durch Konventionen bestimmt. Im Kurstext wird regelmäßig auf Paragraphen verwiesen, z.B. aus dem Handelsgesetzbuch oder auf Steuergesetze. Es empfiehlt sich, diese Texte als Sekundärliteratur zu besorgen und dort nachzuschlagen, wovon im Kurs die Rede ist. Schon allein, um sich an die spezielle juristische Sprache zu gewöhnen, die dort verwendet wird, was zumindest für mich im Laufe des Kurses immer eine zusätzliche Hürde blieb.
     
    Herausforderung doppelte Buchführung
     
    Große Schwierigkeiten hatte ich auch damit, die innere Logik der doppelten Buchführung zu verstehen. Jeder Vorgang wird grundsätzlich auf 2 Konten gebucht, einmal im Soll und einmal im Haben. Vieles davon war für mich kontraintuitiv und ich habe oft zurückblättern müssen, um Themen und Begriffe erneut zu erarbeiten, von denen ich eigentlich glaubte, sie endlich verstanden zu haben. Ein Beispiel für meine Schwierigkeiten: Gewinne werden im Eigenkapital als Haben gebucht, also im Prinzip als Schulden oder Verbindlichkeiten des Unternehmens. Das liegt daran, dass ein Unternehmen das Eigenkapital den Kapitalgebern schuldet, die es aus dem Unternehmen entnehmen könnten. Macht ein Unternehmen Verluste, so werden diese - für mich zunächst überraschend - im Eigenkapital ins Soll gebucht. Die Schuld gegenüber den Kapitalgebern schrumpft und diese können nun weniger Geld aus dem Unternehmen entnehmen. Wenn man einmal begriffen hat, warum das so gehandhabt wird, ist es in sich schlüssig, aber ich musste mir das sehr mühsam erarbeiten und hatte auch große Schwierigkeiten, mir solche Sachverhalte und Zusammenhänge zu merken.
     
    Online-Tests und Einsendeaufgaben
     
    Die Online-Tests konnte ich selten im ersten Anlauf lösen. Oft habe ich erst durch Rumprobieren die richtige Lösung gefunden. Dann begann meine eigentliche Arbeit: Anhand des Lehrbuches nachvollziehen, warum nun gerade DAS die richtige Lösung war. Das sorgte dann doch für gelegentliche Aha-Erlebnisse, die ich mir aber mühsam erkämpfen musste.
     
    Dabei glaube ich nicht, dass meine Schwierigkeiten dem Lehrtext geschuldet sind. Ich habe mir aus der Bibliothek Sekundärliteratur besorgt, hatte damit aber die gleichen Schwierigkeiten. Letztlich bin ich immer wieder auf den Lehrtext zurück gekommen, der immerhin den Vorteil einer kompakten, auf den Punkt kommenden Darstellung hatte. Nachdem ich mit den meisten Modulen meines Studiums recht gut zurecht gekommen bin, so z.B. auch mit den allgemein gefürchteten Mathematik-Modulen, ist mit dem externen Rechnungswesen meine Achillesferse gefunden. Dieses Thema wollte mir einfach nicht ins Hirn.
     
    So überrascht es nicht, dass ich auch bei den Einsendeaufgaben selten die volle Punktzahl erzielen konnte. Auch wenn ich meist viel mehr Zeit investiert hatte, als eigentlich vorgesehen war, und mir auch gelegentlich Rat von Kommilitonen eingeholt hatte: Irgendetwas war doch meistens falsch. Natürlich war es kein Problem, die Zulassung zur Online-Klausur zu bekommen. Aber im Hinblick auf die Präsenzklausur machte ich mir schon Sorgen, wie ich vergleichbare Aufgaben unter Zeitdruck und ohne die Möglichkeit, im Lehrbuch nachzuschlagen, lösen sollte. Nicht ganz zu unrecht, wie sich herausstellen sollte.
     
    Gleichwohl kann ich mich über den Lehrtext und die tutorielle Betreuung nicht beklagen. Aus Gesprächen mit BWL-affineren Leuten weiß ich, dass von uns nichts unmögliches verlangt wurde. Der Kurs behandelt recht grundlegende Themen und die Anforderungen der Klausur sind nicht zu hoch. Meine Schwierigkeiten haben wohl eher etwas mit meinem persönlichen Begabungsprofil zu tun.
     
    Teil 2: Internes Rechnungswesen
     
    Zum Glück fiel mir der zweite Kursteil zum internen Rechnungswesen leichter. Das interne Rechnungswesen richtet sich an Akteure innerhalb des Unternehmens. Seine Ergebnisse dienen z.B. der Preisfindung. Sie sind aber auch Grundlage für unternehmerische Entscheidungen, z.B. zwischen eigener Fertigung oder Fremdbezug einer Komponente. Hier geht es darum, Kosten zu ermitteln und auf Kostenstellen umzulegen, um für Produkte und Dienste Preise zu finden, die einerseits wettbewerbsfähig und andererseits kostendeckend sind.
     
    Dazu ein Beispiel: Wegen meines Umzuges war ich in den letzten Wochen häufiger bei IKEA. In der Markthalle stehen Einkaufswagen, die die Kunden mit ihren Möbelkartons beladen. Auf dem Parkplatz lassen sie die Wagen stehen. Nun muss jemand regelmäßig Wagen zurück in die Markthalle schieben und das verursacht der Filiale Kosten. Diese müssen in irgendeiner Weise auf die Produkte umgelegt werden. Wenn ich mein neues Billy-Regal mit nach Hause nehme, ist im Preis auch das Zurückschieben meines Einkaufswagens enthalten. Aber woher weiß man, wie viel man auf den Preis eines Regals aufschlagen muss, damit solche Kosten gedeckt sind? Und was ist mit anderen Kosten, die sich nur schwer einem einzelnen Artikel zurechnen lassen? Die Kundentoiletten mit ihrem Wasserverbrauch, die Handwerker, die das Gebäude instand halten, die Kosten für die Aktualisierung der Homepage, für die Kataloge, die Verwaltung...
     
    Nach dem Kurs zum internen Rechnungswesen versteht man etwas besser, wie so etwas abläuft. Die grobe Gliederung des Kurses ist:
    - Kostenartenrechnung
    - Kostenstellenrechnung
    - Kostenträgerrechnung
    - Weiterentwicklung der Kostenrechnung, z.B. mit Normalkostenrechnung oder Plankostenrechnung.
     
    Die Einsendeaufgaben waren für mich nachvollziehbarer als im externen Rechnungswesen. Nach meiner Empfindung ist das interne Rechnungswesen ein bisschen mehr "common sense" während das externe Rechnungswesen ein bisschen mehr "Konvention" ist. Im internen Rechnungswesen geht es oft darum, Gemeinkosten Kostenträgern und Kostenstellen zuzuordnen. Da das Rechnungswesen selbst Kosten verursacht, muss man immer wieder abwägen zwischen möglichst präziser Zuordnung der Kosten einerseits und dem Aufwand für diese Zuordnung andererseits, der natürlich vertretbar bleiben muss. Interessant ist, dass sich viele kleine und mittelständische Unternehmen diesen Aufwand komplett sparen und gar kein internes Rechnungswesen haben. Verpflichtet sind sie dazu auch nicht. Die entsprechenden Aufschläge und Umlagen auf Produkte und Dienstleistungen werden dann eher intuitiv oder nach Erfahrung festgelegt. So kann es aber leicht passieren, dass ausufernde Kosten in bestimmten Bereichen lange unbemerkt bleiben, was dann Gewinne aufzehrt. Oder dass ungünstige unternehmerische Entscheidungen getroffen werden. Manche Ergebnisse der Kostenrechnung können nämlich durchaus kontraintuitiv sein. So kann es manchmal den Gewinn eines Unternehmens mehren, Produkte z.T. zu einem Preis anzubieten, der unter den Selbstkosten liegt, weil sich so Gemeinkosten auf eine größere Stückzahl verteilen und die Gewinnmarge für andere Teile der Produktion so größer wird. Ich war oft überrascht, was bei meinen Rechnungen heraus kam.
     
    Das interne Rechnungswesen war für mich jedenfalls interessant und hat auch Spaß gemacht.
     
    Was kann man am Ende des Moduls?
     
    Mir gefallen am Modul auch die realistisch formulierten Ziele: Natürlich wissen wir am Ende nicht genug, um im internen oder externen Rechnungswesen tätig zu werden. Es geht eher darum, dass wir mit Menschen zu tun bekommen werden, die im Rechnungswesen tätig sind. Mit denen sollen wir besser kommunizieren können. Wenn wir Entscheidungen mittragen oder umsetzen müssen, die vom Rechnungswesen informiert sind, können wir damit vielleicht besser umgehen, weil wir zumindest ein erstes Verständnis für die Notwendigkeiten und Zwänge des Rechnungswesens haben. Dass ich hier ein paar Fortschritte gemacht habe, bemerke ich bereits, auch wenn ich befürchte, das sich das nicht in meiner Klausurnote bemerkbar machen wird.
     
    Online-Klausuren
     
    In der Online-Klausur konnte ich mir ein paar Bonuspunkte sichern. Eine Besonderheit in diesem Kurs ist, dass man zwei Online-Klausuren schreiben kann, eine für jeden Kursteil. Das bedeutet natürlich auch doppelten Zeitaufwand. Gleichzeitig kann man pro Klausur nur die Hälfte der sonst üblichen Bonuspunkte erlangen. Ich glaube, meine Bonuspunkte werde ich diesmal gut gebrauchen können. In der Online-Klausur konnte ich mich natürlich an den bislang gelösten Einsendeaufgaben orientieren und in den Lehrbüchern nachschlagen. Das darf man in der Präsenzklausur nicht. Dies ist also ein Kurs, bei dem auch ein bisschen Auswendiglernen gefragt ist. Beim internen Rechnungswesen war das nicht so nötig, weil ich hier vieles plausibel fand, so dass ich mir vergessene Details wieder erschließen konnte. Beim externen Rechnungswesen hingegen, das stark durch gesetzliche Vorgaben bestimmt wird, muss man mehr WISSEN. Für die Online-Klausur im externen Rechnungswesen kann ich anderen Studierenden den Hinweis geben, dass bei vielen anwendungsbezogenen Aufgaben auch nach den Paragraphen gefragt wird, die das Vorgehen bestimmen. Beim internen Rechnungswesen ist es nützlich zu wissen, dass auch Stoff aus dem letzten Kapitel "Die Weiterentwicklung der Kostenrechnung" abgeprüft wird.
     
    Präsenzklausur
     
    Kommen wir zur Präsenzklausur: Sie dauert 2 Stunden. Die Punkte verteilen sich genau gleichmäßig auf internes und externes Rechnungswesen. Beim externen Rechnungswesen gab es einige Wissensfragen zu grundlegenden Konzepten und Begriffen. Hier sollte man sich mit gründlicher Vorbereitung und fleißigem Lernen Punkte sichern können. Genau das habe ich neben meinem Umzug leider nicht geschafft. Bei vielen Aufgaben wurden Geschäftsvorgänge geschildert und man sollte zeigen, welche Buchungen das auf welchen Konten auslöst. Meine grundlegenden Schwierigkeiten mit diesem Thema zeigten sich auch in der Klausur. Es gibt keine Aufgabe, bei der ich mir sicher bin, das richtige Ergebnis geliefert zu haben. So blieb mir nur, bei möglichst jeder Aufgabe eine Lösung zu versuchen. Unterm Strich meine ich aber, dass die Klausur durchaus gutmütig gestellt war. Es ist schon meine eigene Verantwortung, falls ich diesmal nicht bestehen sollte.
     
    Die Aufgaben zum internen Rechnungswesen erschienen mir anwendungsbezogen und praktisch. Bearbeitungsschritte, an die ich mich nicht mehr erinnern konnte, glaubte ich mir erschließen zu können. Was diesen Teil der Klausur angeht, bin ich optimistischer. Anderen Studierenden würde ich empfehlen, zur Vorbereitung vor allem die Einsendeaufgaben und die Aufgaben der Online-Klausur zu wiederholen.
     
    Ein Ergebnis liegt mir noch nicht vor. Ich erwarte aber diesmal nicht, gut abzuschneiden. Angesichts der vielen Aufgaben in Beruf und Privatleben und der knappen Vorbereitungszeit wäre ich diesmal zufrieden damit, die Klausur nicht wiederholen zu müssen; auch wenn das zu Lasten meines Notendurchschnitts gehen sollte. Ich wäre einfach froh, dieses Modul hinter mir lassen zu können.
     
    Trotzdem war es sicher gut, sich einmal mit dem Thema Rechnungswesen auseinander zu setzen. Mein Respekt und meine Wertschätzung für Leute, die solche Aufgaben tagtäglich für mich erfüllen, hat durch das Modul jedenfalls zugenommen.
     
    Wie geht es weiter?
     
    Als nächstes möchte ich nun BWL2 und Geschäftsprozess-Management bearbeiten; beides Module, denen ich nicht unbedingt entgegen gefiebert habe. Beim Geschäftsprozess-Management habe ich inzwischen einen Teil des Lehrbuches gelesen. Es ist interessanter als ich dachte und ich sehe mehr Bezüge und Analogien zur Informatik als ich vermutet hätte. Das könnte eigentlich noch richtig Spaß machen.
     
    In BWL2 soll es um Ökonomie und Unternehmensführung gehen. Insbesondere beim Kursteil Ökonomie hoffe ich, dass ich daraus etwas mitnehmen kann. In der täglichen Berichterstattung der Medien spielt ja das wirtschaftliche Geschehen eine große Rolle und es ist auch politisch relevant. Oft habe ich das Gefühl, dass meine Allgemeinbildung nicht ausreicht, um hier folgen zu können. Vielleicht wird meine Zeitungslektüre nach diesem Modul ja etwas aufschlussreicher als bislang.
  5. kurtchen
    Nach Datenbanken, Mathe1 und SQL hatte ich richtig Lust, wieder einen Kurs mit Java zu belegen. Der nächste Kurs aus dieser Gruppe war "Grundlagen der Informatik 3: Anwendungen programmieren". Der Kurs deckt verschiedene Themen ab, die mit Anwendungsentwicklung zu tun haben. Aus meiner Sicht gibt es aber 3 inhaltliche Schwerpunkte:
    - GUI-Programmierung
    - Persistenz mit relationalen Datenbanksystemen
    - Erzeugung und Verarbeitung von XML-Dateien
     
    Der Kurs beginnt wie bei der W3L üblich mit einem Schnelleinstieg, der eine Art Überblick über die Themen des Kurses gibt. Bei GdI3 handelt dieser Schnelleinstieg aber nur von den GUI-Kapiteln, die auch mehr als die Hälfte des Kursumfangs ausmachen. Die GUI-Programmierung wird noch am Beispiel Swing behandelt, obwohl mit JavaFX ja ein aktuellerer Rahmen zur Verfügung steht. Das hat mich anfangs ein bisschen enttäuscht.
     
    Auf den ersten 40 Seiten lernt man das Grundgerüst einer Swing-Anwendung kennen; lernt, wie man ein Fenster durch Kompositon oder Vererbung erzeugt, macht erste Erfahrungen mit Event-Handling und lernt einfache Komponenten wie Textfelder und Buttons kennen. In diesem Zusammenhang muss man auch mit inneren Klassen und mit Lambda-Ausdrücken umgehen. Hier geht es zunächst gemächlich voran. Eine wichtige Rolle spielt stets die Darstellung der Zusammenhänge zwischen den Swing-Klassen durch Klassendiagramme in UML. Es geht in erster Linie um das Verstehen der Grundkonzepte. Für meinen Geschmack war es ein bisschen viel UML und ein bisschen wenig Code. Auch das Herumexperimentieren mit den Komponenten kam mir ein bisschen zu kurz. Hier musste ich mir selber zusätzliche Gelegenheiten suchen, das Gelernte durch kleine Experimente zu vertiefen. Auf das Buch, das ich ergänzend verwendet habe, verweise ich am Ende meines Beitrages.
     
    Es folgen 3 kürzere Kapitel über das Testen von GUIs, über GUI-Grafikeditoren und über Applets, die ja inzwischen keine so große Rolle mehr spielen. Da Applets am Anfang sehr wichtig für die Etablierung der Sprache Java waren, konnte man sie wohl nicht übergehen. Die Kapitel über Grafikeditoren sind nicht so umfangreich, dass man hinterher wirklich mit so einem Werkzeug umgehen könnte. Man weiß, dass es so etwas gibt und welche Vor- und Nachteile die Arbeit mit einem Editor haben kann. Ich habe die Aufgaben alle von Hand gecodet und ich glaube, so lernt man in diesem Stadium auch am meisten.
     
    Das Kapitel über Grafikprogrammierung fand ich nicht sehr zugänglich. Natürlich hätte man hier schnell zeigen können, wie man ein paar Linien und Formen zeichnet, aber die Intention war, zu vermitteln, was der Grafikontext ist und wozu man die Methode paint() überschreibt. Später im Kurs ist das einmal Grundlage dafür, Swing-Komponenten ein wenig zu erweitern und mit einer eigenen Optik auszustatten. Außerdem lernt man, wie man Grafiken lädt und anzeigt.
    Interessanter ist das Kapitel, das die Ereignisverarbeitung in Java im Detail behandelt. Hier lernt man das Beobachter-Muster kennen und begreift, wie Adapterklassen die Ereignisverarbeitung vereinfachen. Das Praxisbeispiel ist ein sehr einfacher UML-Editor.
     
    An diesem Punkt des Kurses begann mir zu dämmern, das GUI-Programmierung eine recht zeitaufwändige Angelegenheit sein kann. Man landet schnell bei ziemlich umfangreichem Code, der gar nicht mehr so leicht zu navigieren ist.
     
    Das für mich interessanteste Kapitel war "GUI-Gestaltung - Theorie und Praxis". Hier lernt man viele verschiedene Swing-Komponenten im Zusammenspiel kennen: Fenster, Menüs, Multifunktionsleisten, Listen, Dialoge und die unterschiedlichsten darin enthaltenen Interaktionselemente. Als Fallbeispiel dient eine Artikel- und Lieferantenverwaltung. Konzeptionell lernt man etwas über das MVC-Muster. Sehr interessant fand ich die Abschnitte, wie man auf der Grundlage der objektorientierten Analyse ein GUI konzipieren kann. Die hier vorgestellten Heuristiken sind für kaufmännisch-administrative Anwendungen gedacht, aber der Stoff war sehr aufschlussreich, weil einem klar wird, dass man nicht immer das Rad neu erfinden muss. Lohnend war auch der Abschnitt über Layout-Manager. Hier ging es zunächst um die Layout-Manager, die Swing von Haus aus mitbringt. Es brauchte eine Weile, bis ich das Konzept des schon recht flexiblen GridBag-Layoutmanagers verstanden hatte. Wirklich schwierig fand ich die Ausführungen zur Entwicklung eigener Layout-Manager. Hier konnte ich nicht in allen Punkten folgen.
     
    Nach einem kurzen Kapitel über modellgetriebene Entwicklung am Beispiel von Enterprise Architekt landete man beim zweiten großen inhaltlichen Block: Persistenz mit relationalen Datenbanken. Ich hatte mir vorgestellt, recht pragmatisch zu lernen, wie ich mit JDBC eine Verbindung zu einer relationalen Datenbank wie z.B. MySQL aufbaue. Darum ging es auch zunächst, aber eigentlich ging es vor allem um das DAO-Muster, das Fachkonzept und Datenbank schön entkoppelt, so dass man z.B. die verwendete Datenbank relativ leicht wechseln könnte, ohne Code in den Fachkonzeptklassen ändern zu müssen. Man arbeitet allein an der schlanken Schnittstelle. Das wird dann schon recht komplex und ich habe eine ganze Weile gebraucht, bis ich das Zusammenspiel der vielen verschiedenen Klassen begriffen habe. Der Clou an der Angelegenheit ist natürlich, dass nicht jeder Entwickler verstehen muss, was hier im Detail passiert. In der Regel wird interessieren was vor der Schnittstelle passiert. Diese Abschnitte waren für mich sehr lohnend, weil ich hier das Gefühl hatte, nicht allein etwas über Java zu lernen.
     
    Weniger gelungen fand ich den Abschnitt über die Java Persistence API. Hier ist es mir leider auch nicht gelungen, die Codebeispiele aus dem Kurs zum Laufen zu bringen.
     
    Es folgt ein kurzes Kapitel über Nebenläufigkeit. Das ist nötig, weil Swing nicht threadsicher ist. Wer in Java GUIs programmiert muss sich mit Nebenläufigkeit auseinander setzen. Hier lernt man aber nur das nötigste, denn es gibt ein eigenes Modul "Nicht-sequentielle Programmierung", in dem Nebenläufigkeit viel ausführlicher behandelt wird.
     
    Nun folgte ein umfangreiches Fallbeispiel "Auftragsverwaltung", bei dem die verschiedenen Abschnitte der Entwicklung vorgestellt wurden: Pflichtenheft und Glossar, OOA-Modell, GUI, Architektur und Komponenten, OOD des Fachkonzeptes, Persistenzschicht und natürlich auch die Ausprogramierung der entwickelten Modelle. An diesem Punkt möchte ich erwähnen, dass die Code-Beispiele in diesem Kurs viel umfangreicher sind als in GdI1 und GdI2. Anliegen des Kurses ist auch, dass der Lernende den Überblick über größere Mengen Code behalten kann. Die BlueJ-IDE aus den ersten beiden Modulen reicht hier nicht mehr aus. Die Studierenden sollen sich mit Eclipse vertraut machen. Die herunterladbaren Codebeispiele sind auch dafür aufbereitet. Ich mag Eclipse nicht und habe lieber mit Netbeans gearbeitet, was natürlich auch in Ordnung war, aber manchmal ein bisschen Mehrarbeit bedeutet hat. Bei vielen Aufgaben programmiert man nicht mehr "from scratch" sondern soll vorhandenen Code weiterentwickeln. Interessant waren auch Aufgaben, bei denen man Fehler aufspüren und beheben sollte. Dazu musste man erkunden, wie das Zusammenspiel vieler Klassen in unterschiedlichen Paketen funktioniert. Hier genügte oft wenig Code, um das Problem zu lösen, aber es kostete viel Zeit, zu verstehen, wo dieser Code hin musste, um seine Wirkung zu entfalten. Es verschaffte mir eine gewisse Befriedigung, mich in umfangreicheren Code einarbeiten zu können und mich dann auch darin zurecht zu finden. Den Abschluss dieses sehr aufschlussreichen Fallbeispiels bildeten 2 Abschnitte über Berechtigungssteuerung und Internationalisierung.
     
    Und nun begann der dritte größere inhaltiche Block des Kurses. Am Fallbeispiel der technischen Anwendung "Wetterstation" wurde die Verarbeitung von XML-Dateien behandelt. Die Wetterstation ist eine GUI-Anwendung, die sich Wetterdaten von einem Server holt und am Bildschirm in Form verschiedener Instrumente darstellt. Die Wetterdaten kommen im XML-Format und müssen geparst werden. Hier war ich froh, Webprogrammierung schon belegt zu haben, denn so hatte ich Vorkenntnisse in XML. Zwar gab es auch hier eine knappe Einführung in XML, aber allein damit wären mir diese Abschnitte schwer gefallen.
     
    Im letzten Kapitel wurde am Beispiel Othello (oder auch Reversi) ein Strategiespiel mit GUI entwickelt. Hier spielt Grafikprogramierung eine Rolle, aber eigentlich ging es um den Minimax-Algorithmus, der den besten Zug ermitteln sollte. Im Prinzip schon ein kleiner Vorgeschmack auf GdI4 "Algorithmen und Datenstrukturen".
    Für die Online-Klausur ist es nützlich, den Code der Übungen und Aufgaben griffbereit zu haben. Manche Aufgaben hätte ich in der zur Verfügung stehen Zeit nicht ausprogrammieren können, wäre mir nicht recht früh aufgefallen, dass ich Code aus vorangegangenen Übungen anpassen kann. Ich nehme an, dass war hier auch Zweck der Übung.
     
    Da man bei der GUI-Programmierung recht schnell bei umfangreichem Code landet, war ich natürlich sehr gespannt auf die Präsenzklausur. Wie wollte man den umfangreichen Inhalt in der kurzen Zeit abprüfen? Tatsächlich musste ich relativ wenig Code schreiben. Hier ging es um das Verständnis für die Zusammenhänge zwischen den verschiedenen Swing-Klassen und sehr allgemein um die objektorientierten Konzepte aus dem Modul. Sehr nützlich wäre es hier gewesen, noch einmal Stoff aus GdI2 zu wiederholen. In UML sollte man fit sein. Reines Programmieren genügte hier nicht.
     
    Ich hatte aber Glück und konnte das Modul mit einem schönen Ergebnis abschließen. Auch mit meinem Tutor hatte ich Glück. Er war derselbe wie in GdI2 und es war schön, in 2 aufeinanderfolgenden Modulen die auch noch inhaltlich eng zusammenhingen vom gleichen Tutor betreut zu werden. Von ihm habe ich nicht nur gute und schnelle Rückmeldungen zu meinen Aufgaben bekommen. Ich hatte auch immer wieder Fragen, die eher auf Nebengleise führten und gelegentlich bekam ich sehr interessante Anregungen. Das hat mal wieder Spaß gemacht.
     
    Anderen Studierenden, die GdI3 belegen wollen, würde ich empfehlen, zuvor "Webprogrammierung" und "SQL und relationale Datenbanken" zu belegen, um die Kapitel über XML-Parsing und Datenbankanbindung zu zu verstehen. Ein nicht zu großer zeitlicher Abstand zu GdI2 erscheint mir ebenfalls günstig. Insgesamt würde ich empfehlen, beim Bearbeiten von GdI2 gründlich vorzugehen. Die hier behandelten Grundlagen verfolgen euch über viele Module. GdI3 ist dafür ein gutes Beispiel.
     
    Ich hatte ja schon erwähnt, dass mir das praktische Herumprobieren mit Code im Modul ein wenig zu kurz kam. Hier habe ich mir selber eine alternative Möglichkeit gesucht, nämlich das Buch "Swing - A Beginner's Guide" von Herbert Schildt. Das ist kein Uni-Lehrbuch sondern ein praktisches Programmierbuch. Im wesentlichen stellt Herr Schildt Swing-Komponenten vor und zeigt an kleinen Codebeispielen, wie man sie benutzt. In jedem Kapitel gibt es auch kleine Übungsaufgaben. Das hat mir sehr viel gebracht, um zu lernen, wie ich die sehr gut aufbereiteten Konzepte aus dem W3L-Modul ganz praktisch in Java ausprogrammieren kann. Von Herrn Schildt gibt es auch ein einführendes Buch in JavaFX, das allerdings sehr dicht geschrieben ist und sich klar an Leser richtet, die Swing-Vorkenntnisse haben.
  6. kurtchen
    Bislang habe ich folgende Module abgeschlossen:
     
    3. Semester - Wintersemester 2016/2017
    - Mathematik 3
    - Softwaretechnik 1
    - Nicht-sequentielle Programmierung
    - Statistik
    - IT-Sicherheit
    - Mobile Computing
     
    2. Semester - Sommersemester 2016
    - Grundlagen der Informatik 3
    - Grundlagen der Informatik 4
    - Web-Anwendungen 1
    - Web-Ergonomie und Web-Design
    - Computernetze
    - Mathematik 2
     
    1. Semester - Wintersemester 2015/2016
    - Grundlagen der Informatik 1
    - Grundlagen der Informatik 2
    - Rechnerstrukturen und Betriebssysteme
    - Datenbanken und SQL
    - Mathematik 1
    - Web-Programmierung
     
    Aktuell in Bearbeitung
    - Web-Anwendungen 2
    - Softwaretechnik 2
  7. kurtchen
    Zur Rolle des Moduls im Studium
     
    Das Modul "Electronic Business" ist bei Springer Campus ein Pflichtmodul für Studierende im Studiengang "B.Sc. Wirtschaftsinformatik". Dort wird es dem Studienbereich "BWL" zugeordnet. Empfohlen wird die Belegung im 5. Fachsemester. Als inhaltliche Voraussetzungen werden die Module BWL2, Geschäftsprozess-Management und Web-Programmierung empfohlen. Meiner Meinung nach lässt sich das Modul auch ohne dieses Vorwissen gut bearbeiten.
     
    Studierende im Studiengang "B.Sc. Web- und Medieninformatik" können das Modul im Wahlpflichtbereich belegen. Das habe ich getan, weil ich es für sinnvoll hielt, die durch das Studium vermittelten Kenntnisse in serverseitiger Programmierung auch mal in einen betriebswirtschaftlichen Rahmen einzuordnen. Denn am Ende wird eine Web-Anwendung programmiert, weil jemand Kosten senken, Prozesse optimieren und schlicht Erträge erzielen möchte.
     
    Manche Studierende belegen dieses Modul auch, weil es als nicht so umfangreich gilt. Von dieser Strategie würde ich abraten. Auch ein nicht so dickes Lehrbuch kann lang werden, wenn das inhaltliche Interesse fehlt. FH-Studiengänge sind traditionell stärker verschult. Es gibt vergleichsweise wenige Wahlmöglichkeiten. Ich würde daher empfehlen, hier nicht die Aufwandsminimierung in den Mittelpunkt zu stellen, sondern aus dem Angebot etwas zu wählen, dass man auch interessant findet.
     
    Das Lehrbuch
     
    Das Buch "Basiswissen E-Business" von Dr. Tilo Hildebrandt hat einen Umfang von ca. 250 Seiten. Die Schriftgröße ist relativ klein, so dass die Lektüre ein bisschen länger dauert, als man zunächst vermuten würde. Insgesamt würde ich den Stoffumfang des Moduls trotzdem mit unterdurchschnittlich beschreiben.
     
    Kapitel 1 - Rahmenbedingungen
     
    Kapitel 1 "Rahmenbedingungen des Web-Business" war für mich am interessantesten, weil der Autor hier viele Schritte zurück geht. Es gibt z.B. einen kleinen Ausflug in die Medientheorie, wenn betrachtet wird, wie mündliche Überlieferung, schriftliche Kommunikation und in Abgrenzung dazu elektronische Medien die Art der Informationsaufnahme und -Verarbeitung beeinflussen. Das geht in die Richtung von Marshall McLuhans "Das Medium ist die Botschaft". Schließlich wird die Entwicklung des E-Business auch wirtschaftshistorisch eingeordnet. Theoretischer Rahmen hierfür ist Kondratieffs Theorie der langen Wellen. Diese sind zyklische Schwankungen der Konjunktur mit deutlich längerer Periode als die bekannten Konjunkturzyklen. Sie werden laut Kondratieff angestoßen durch Basisinnovationen, die die Rahmenbedingungen des Wirtschaftens grundsätzlich verändern, zu großen Investitionstätigkeiten führen, aber auch bisherige Geschäftsmodelle ersetzen. Beispiele für solche Basisinnovationen sind Erfindungen wie die Dampfmaschine oder die Eisenbahn. Die These des Autors ist, dass das Internet eine solche Basisinnovation sein könnte, und somit der Beginn eines weiteren Kondratieffzyklus. Das passt zur allgemeinen Erwartung eines umfassenden gesellschaftlichen Wandels durch die Digitalisierung. Informationstechnologien senken dabei vor allem Transaktionskosten. Sie machen es z.B. schneller möglich, günstige Preise oder neue Lieferanten zu finden. Sie ermöglichen es auch, Produktionsprozesse noch stärker arbeitsteilig zu gestalten, weil der damit steigende Aufwand zur Koordination und Überwachung von Prozessen durch sie handhabbarer wird. Das führt z.B. zu einer immer stärkeren Spezialisierung.
     
    Dieses Kapitel hätte für mich sehr interessant sein können, denn eine allgemeine historische und gesellschaftliche Perspektive auf die Entwicklung meines Feldes hätte ich mir im Studium manchmal gewünscht. Auch in manchen BWL-Studiengängen wird ja inzwischen Wirtschaftsgeschichte oder Wirtschaftsethik gelehrt. Leider ist das Kapitel doch recht komprimiert geschrieben und könnte mir daher eher als Orientierung dienen, falls ich solche Themen durch eigene Lektüre einmal vertiefen wollte. Die folgenden Kapitel sind doch wieder aus einer betriebwirtschaftlichen Perspektive geschrieben. Aber immerhin schön, dass der Autor hier mal einen breiteren Rahmen skizziert hat.
     
    Kapitel 2 - Ertragsmodelle
     
    Im zweiten Kapitel "Ertragsmodell" geht es um direkte und indirekte Ertragsmodell im Web-Business. Sicher ist es sinnvoll, diese einmal explizit vorzustellen und die verschiedenen Geschäftsmodelle zu kategorisieren. Nun ist es so, dass seit vielen Jahren jedermann kostenlose und kostenpflichtige Dienste im Internet nutzt. Etwas bislang unbekanntes wird man hier also kaum erfahren. Immerhin kennt man die Beispiele für Ertragsmodelle so aus eigener Anschauung und ordnet sie in einen übergreifenden begrifflichen Rahmen ein.
     
    Kapitel 3 - Struktur des Web-Business
     
    Das dritte Kapitel "Struktur des Web-Business" stellt schließlich ein theoretisches Werkzeug oder Modell vor, mit dem sich verschiedene Aspekte des Web-Business untersuchen lassen: Die Web-Business Pyramide. 
    Diese ist für das Modul wichtig, denn sie bildet eine Art Klammer, die alle folgenden Kapitel zusammenhält. Immer wieder wird dort der Bezug zur Web-Business Pyramide hergestellt und sie stiftet auch einen Zusammenhang zwischen den Kapiteln.
     
    Die Pyramide hat vier Seiten, die in den folgenden Kapitel näher betrachtet werden. Die erste Seite ist dabei die Konversionsseite. Sie beschreibt die Rollenwechsel vom noch anonymen Besucher einer Web-Präsenz zum Stammkunden, der sich mit geringerem Aufwand ansprechen und motivieren lässt. Jede Rolle entspricht einer Stufe der Pyramide. Der Besucher wird zum Interessenten, indem er auf der Seite verweilt und sie erkundet. Er wird zum Kaufwilligen, indem er etwas in den Warenkorb legt und persönliche Informationen preisgibt. Er wird zum Käufer, indem er eine Bestellung ausführt. Und im besten Fall wird er zum Stammkunden, der die Seite künftig gezielt und mit Kaufabsicht aufsucht.
    Die Pyramidenform soll dabei verdeutlichen, dass jeweils nur ein kleiner Teil der Nutzer die nächste Stufe der Pyramide erreicht. Bildet man den Quotienten aus den Nutzerzahlen zweier aufeinanderfolgender Stufen, so erhält man eine Konversionsquote, eine Maßzahl dafür, wie gut der Übergang von einer Stufe zur anderen gelingt. Ziel des Betreibers einer Präsenz ist, Konversionsquoten zu steigern. Die folgenden Kapitel beschäftigen sich damit, wie dies geschehen kann. Eine gute Suchmaschinenoptimierung soll z.B. nicht einfach nur mehr Besucher auf die eigene Web-Präsenz lenken, sondern solche, für die das eigene Angebot relevant ist. Sonst verlassen die Besucher die Seite nach dem ersten Eindruck wieder. Interessieren sich die Besucher für die dargebotenen Inhalte, so wird die Usability der Seite wichtiger, damit sie auch dort bleiben.
     
    Die anderen Seiten der Web-Business Pyramide beschäftigen sich mit den Kostenarten, mit dem Marketing und mit den Prinzipien, die Entscheidungen des Webseiten-Betreibers leiten. Diese sind jeweils auf Stufen der Konversionsseite bezogen. Auf jeder Stufe gibt es also korrespondierende Kostenarten, Marketingschwerpunkte und leitende Prinzipien.
     
    Das Modell Web-Business Pyramide fand ich interessant. Leider ist das Buch ziemlich komprimiert geschrieben. Neben allgemein bekanntem Wissen stehen Formulierungen, die wohl eher für BWL-affine Leser verständlich sind.
     
    Kapitel 4 - Aufbau der Web-Präsenz
     
    Im Kapitel "Aufbau der Webpräsenz" werden Hinweise zur Gestaltung einer Web-Präsenz gegeben. Hier geht es nicht darum, wie so etwas technisch umgesetzt wird, sondern um Dinge wie Zielgruppenausrichtung, Corporate Identity, Arten der Führung durch die Seite und verschiedene Arten der inhaltlichen Ausrichtung. Die vermittelten Begrifflichkeiten fand ich zum Teil nützlich und interessant. Auch diese Kapitel waren aber für meinen Geschmack sehr dicht geschrieben. Von einem langsameren und expliziteren Vorgehen mit mehr Fallbeispielen hätte ich als Leser profitiert. Schlagworte dieses Kapitel sind z.B. der Primacy-Effekt oder der Halo-Effekt.
     
    Die restlichen Kapitel
     
    Die restlichen Kapitel "Verkauf im Web-Business", "Vertrieb im Web-Business", "Marketing im Web-Business" und "Potentiale im Web-Business" nehmen immer wieder Bezug auf das Modell Web-Business Pyramide. Das ist gut. Leider sind auch sie recht dicht geschrieben. Von Kapitel zu Kapitel werden oft ähnliche Konzepte wiederholt, wobei sich der Blickwinkel ändert. Das ist an sich kein schlechtes didaktisches Konzept. Leider wirkt die Umsetzung auf mich eher repetitiv und kann die gedrängte Darstellung innerhalb der Kapitel nicht ausgleichen.
     
    Insgesamt lässt mich das Lehrbuch unbefriedigt zurück. Viele Themen werden mir zu knapp vorgestellt. Natürlich wäre es empfehlenswert, eigenständig weitere Fachliteratur zu lesen, auf die im Lehrbuch auch verwiesen wird. Aber die Darstellung ist hier z.T. so knapp, dass es zumindest mir schwer fällt, zu erkennen, welche der angegebenen Quellen für mich lesenswert wären. Vielleicht macht sich hier bemerkbar, dass dies ein Lehrbuch für Studierende aus dem Studiengang Wirtschaftsinformatik ist, denen eine betriebswirtschaftliche Perspektive vertrauter ist.
     
    Sehr gut gefallen hat mir, dass im ersten Kapitel eine Einordnung in einen weiteren gesellschaftlichen und historischen Kontext versucht wurde. So etwas würde ich mir auch von anderen Autoren und in anderen Modulen wünschen.
     
    Tests und Aufgaben
     
    Die Tests waren für mich zum Teil hilfreich, mein Verständnis des Stoffes zu entwickeln. Leider waren die Lösungen spärlich kommentiert, so dass mir bei einem Fehler nicht immer klar war, warum ich falsch gelegen hatte. Mittlerweile halte ich kommentierte Testergebnisse für wünschenswert, auch wenn manche Autoren der Ansicht sind, unkommentierte Lösungen seien förderlicher für eigenständiges Denken. In einer Lehrveranstaltung würde ein Dozent zwischendurch Fragen stellen. Die Antworten würde er üblicherweise nicht nur mir "richtig" oder "falsch" bewerten, sondern inhaltlich darauf eingehen. Diese Art von Interaktion in einer Vorlesung fehlt im Fernstudium. Tests mit Verständnisfragen zum Stoff könnten die Nachfrage des Dozenten simulieren, gut kommentierte Lösungen seine Rückmeldungen.
     
    Die Aufgaben zielten mir zu sehr auf Reproduktion des Stoffes, z.B. durch Erklären von Konzepten und Begrifflichkeiten. Ein gewisser Transfer kam dadurch ins Spiel, dass man immer wieder konkrete Beispiele nennen sollte. Da konnte man dann auf bekannte Web-Präsenzen verweisen, auf denen dieses oder jenes Prinzip (hoffentlich gut) umgesetzt ist. Im Vergleich zu Modulen der Softwaretechnik oder Programmiermodulen kam mir aber hier das aktive Problemlösen zu kurz.
     
    Präsenzklausur
     
    Die Präsenzklausur war gutmütig gestellt, weil sich Art und Inhalte der Aufgaben z.T. recht eng an den Einsendeaufgaben orientierten. Wer alle Aufgaben macht und die erhaltenen Rückmeldungen verwertet, sollte gut vorbereitet sein.
     
    Fazit
     
    Dieses Modul wäre für meinen Studiengang nicht zwingend gewesen. Ich habe es belegt, um meine eher technische Sicht auf Web-Anwendungen um eine betriebswirtschaftliche Perspektive zu ergänzen. Das Modul ordnet viele Phänomene in einen begrifflichen Rahmen ein, die eigentlich jedem Nutzer des Webs bekannt sein sollten. Daher meine ich, man hätte an einigen Stellen tiefer schürfen dürfen. Nicht gut zurechtgekommen bin ich mit der sehr dichten Darstellung. Mehr Seiten hätte man z.B. nutzen können, um Aussagen durch mehr Fallbeispiele zu verdeutlichen. Interessant wäre z.B. gewesen, bei mehr Themen mehrere Web-Präsenzen gegenüber zu stellen und diese zu vergleichen. So etwas wäre auch eine schöne Einsendeaufgabe gewesen.
     
    Die Aufgaben hätten stärker den Aspekt Wissenstransfer und Problemlösung betonen dürfen. Statt bestimmte Prinzipien zu beschreiben und zu erklären, hätte man doch auch Konzepte für Web-Präsenzen entwickeln können, in denen sie umgesetzt werden. Aufgaben dieser Art gab es z.B. im Modul "Web-Design und -Ergonomie". Rückblickend betrachtet würde ich mich heute lieber für ein anderes Wahlpflichtmodul entscheiden, z.B. für das technischere Modul "ERP-Systeme".
     
    Gleichwohl bin ich nach diesem Modul nun "scheinfrei" und das ist natürlich ein schönes Gefühl. Weitere Module werde ich in diesem Blog nicht mehr vorstellen.
     
    Für diejenigen Leser, die sich für den Studiengang "Wirtschaftsinformatik" bei Springer Campus interessieren: Mein Blog deckt zwar recht viele Pflichtmodule dieses Studiengangs ab, aber es fehlen auch einige:
    - Grundlagen BWL
    - Strategisches Mangement und Controlling
    - Human Resources
    - Grundlagen Wirtschaftsinformatik
    - ERP-Systeme
     
    Vielleicht werden diese Lücken einmal von anderen Bloggern geschlossen.
     
    An diesem Punkt meines Studiums blicke ich nun zurück auf insgesamt 39 Präsenz-Klausuren und ähnlich viele Online-Abschlussklausuren und -Tests, auf hunderte Einsendeaufgaben und eine in jedem Fall vierstellige Zahl von Online-Tests. Ich bin nun froh, diesen Abschnitt meines Studiums hinter mir zu lassen. Ab nächste Woche werde ich mich auf meine Bachelorarbeit konzentrieren. Nun heißt es, "ohne Stützräder fahren" und "selbst die Balance halten", auch wenn im Hintergrund noch jemand steht, der meine Fahrversuche kritisch beobachtet und begleitet.
  8. kurtchen
    Das Modul "Content-Management-Systeme" (CMS) ist ein Pflichtmodul im Studiengang "Wirtschaftsinformatik" und wird dort auch dem Studienbereich Wirtschaftsinformatik zugerechnet. Springer Campus empfiehlt, es im 3. Semester zu belegen. Aber auch Studierende im Studiengang "Web- und Medieninformatik" dürfen es als Wahlpflichtmodul im Vertiefungsbereich belegen. Als inhaltliche Voraussetzungen werden genannt:
    - Web-Programmierung
    - Web-Anwendungen 1
    - XML
     
    Ich glaube, dass man dieses Modul auch ohne diese Grundlagen belegen kann. Tatsächlich kommt im Studienplan für Wirtschaftsinformatik "Web-Programmierung" nach dem Modul CMS und weder "Web-Anwendungen 1" noch "XML" sind für Wirtschaftsinformatiker verpflichtend. Richtig durchdacht wirken die Empfehlungen zu den inhaltlichen Voraussetzungen auf mich deshalb nicht.
     
    Ich habe das Modul belegt, weil ich fand, als Studierender der Web-Informatik müsse man auch Ahnung von CMS haben. Erwartet hatte ich eine Einführung in ein gängiges Web-CMS, z.B. in TYPO3, also ein Modul mit vielen praktischen Übungen. Wie schon bei anderen Wirtschaftsinformatik-Modulen war ich auch hier auf dem Holzweg, denn eine praktische Einführung in ein WCMS will dieses Modul nicht sein. Allerdings lernt man hier einige grundlegende Konzepte, die es einem erleichtern sollten, sich schnell in ein x-beliebiges WCMS einzuarbeiten.
     
    Mein erster Irrtum war die Gleichsetzung von CMS und WCMS. Content Management Systeme dienen dazu, Content für eine Website zu managen, wozu sonst? Nein, denn es gibt Dokumenten-Management-Systeme (DMS), Electronic Record Management Systeme (ERMS), Medienbibliotheken, mobile Content Management Systeme (mCMS), semantische Content Management Systeme (SCMS) und Component Content Management Systeme (CCMS) und außerdem verschiedene Mischformen. Näher beleuchtet werden im Kurs das WCMS, das DMS und das SCMS.
     
    Im Grundlagen-Kapitel geht es um Themen und Konzepte, die alle Arten von Systemen betreffen: Content-Modellierung, Metadaten, Standardisierung, Dokumenten-Management-Standards und Metadaten-Standards. Und um die grundlegenden Fragen:
    - Was ist Content?
    - Wie unterscheidet sich Content von Daten oder Information?
    - Was ist ein Dokument?
    - Was ist Content Management?
     
    Im Kapitel zu WCMS geht es um grundlegende Konzepte wie:
    - Benutzer und Berechtigungsstrukturen und ihre Bedeutung für den Workflow
    - Customizing, das Arbeiten mit Themes, Plugins, Templates
    - strukturierte Texte, Multimediaelemente
    - Inhaltsbearbeitung, -organisation und -darstellung
     
    Dieses Kapitel war für mich enttäuschend, weil ich eben etwas ganz anderes erwartet hatte, nämlich eine praktische Einführung in ein exemplarisches CMS. Ganz umsonst war die investierte Zeit am Ende aber nicht.
     
    Das Kapitel über DMS war schon spannender. Dokumenten-Management-Systeme werden oft in einem behördlichen Umfeld eingesetzt. Hier geht es i.d.R. darum, gesetzliche Aufbewahrungsfristen einzuhalten. Im Vergleich zum WCMS ist hier die Versionierung besonders wichtig. Es muss stets nachvollziehbar bleiben, wer, wann, was geändert hat. Vorherige Versionen eines Dokumentes sollen sich wieder herstellen lassen. Langfristige Archivierung spielt oft eine große Rolle. Dem Metadaten-Management kommt eine besondere Rolle zu, weil Content über die Metadaten schneller gefunden werden kann als über eine aufwendige Volltext-Suche. Oft ist nicht leicht zu beurteilen, was relevante Metadaten sind. Wenn Dokumente über lange Zeiträume aufbewahrt werden, können andere inhaltliche Kriterien für das Retrieval relevant werden, als man zum Zeitpunkt der Erfassung für plausibel hielt. Mit dem DIRKS-Modell wird ein allgemeines Vorgehensmodell vorgestellt, um ein Dokumenten-Management-System in einem institutionellen Kontext zu etablieren.
     
    Wirklich interessant war für mich das Kapitel über semantische Content-Management-Systeme (SCMS). Um für den Nutzer navigierbar zu sein, sollte Content mit anderem Content anhand von inhaltlichen Bezügen verknüpft werden. SCMS nutzen semantische Information, mit der Content angereichert ist, um solche Bezüge, die implizit enthalten aber nicht explizit bekannt sind, zu entdecken. So kann ein SCMS Metadaten automatisiert hinzufügen und Nutzern Inhalte anbieten, die inhaltlich zu denen passen, nach denen sie suchen. Ein SCMS kann zum Beispiel unterscheiden, ob ein Nutzer, über die UNO als Organisation oder über UNO als Kartenspiel recherchiert. Und je nachdem Information über andere internationale Institutionen oder über andere Kartenspiele anbieten.
     
    Zur Anreicherung von Content mit semantischer Information dient der Resource Description Framework (RDF). Mit ihm beschreibt man, dass eine Ressource, z.B. ein Content-Objekt im Web, eine bestimmte Eigenschaft mit einem bestimmten Wert hat. Man erhält so eine Aussage mit Subjekt (Ressource), Prädikat (Eigenschaft) und Objekt (Wert bzw. Belegung der Eigenschaft), die man auch als Triplet bezeichnet. Man kann zum Beispiel behaupten, dass ein Affe Bananen frisst. Das erinnert ein wenig an die Art und Weise, wie in logischen Programmiersprachen (etwa Prolog) Fakten beschrieben werden. RDF ist XML-basiert. Das ist wahrscheinlich der Grund, dass das Modul "XML" als sinnvolle Vorbereitung genannt wird. Vertiefte XML-Kenntnisse braucht man aber nur, wenn man das Thema Semantic Web auf eigene Faust weiter erkunden möchte.
     
    Mit dem Resource Description Framework Schema (RDFS), kann man solche Aussagen semantisch strukturieren. Man kann zum Beispiel festlegen, dass Affen Tiere sind oder das Tiere Nahrung essen. Mit dem Rule Interchange Format (RIF) beschreibt man Regeln, die von regelbasierten Systemen interpretiert und verarbeitet werden können. Man kann zum Beispiel Bedingungen formulieren, unter denen ein Tier Bananen als Nahrung nutzen würde, etwa, wenn es ein Affe ist und einer Umgebung lebt, in der Bananen wachsen. Ähnlich wie in einem Prolog-System kann dann ein regelbasiertes System aus bekannten Fakten und Regeln neue Fakten ableiten, die logisch implizit vorhanden aber bislang nicht explizit bekannt waren. Auf diese Weise kann ein solches System Wissen entdecken. Über solche Mechanismen kann neuer Content mit altem Content inhaltlich verknüpft werden. Logische Aussagen, die Triplets, können in speziellen Datenbanken, sogenannten Triplestores, gespeichert werden. Mit der Abfragesprache SPARQL kann man in diesen Wissensbeständen nach bestimmten Mustern suchen, ähnlich wie mit SQL in einer relationalen Datenbank. Als Fallbeispiel für ein semantisches CMS dient Apache Stanbol.
     
    Dieses Kapitel war für mich das Beste am Kurs. Leider fehlt im Kursangebot von Springer Campus ein Modul "Klassische KI", das nötig wäre, um die hier vorgestellten Konzepte wirklich en detail zu verstehen. (Klassische KI ist ja ein Thema, mit dem ich mich gerne noch beschäftigen möchte.) Die spannende Idee hier scheint zu sein, dass Web-Content mit Fakten und Regeln angereichert wird, so dass ein wissens- und regelbasierte Systeme damit arbeiten können.
     
    Es folgten 2 Kapitel über "Dokumenten-Management-Systeme in der Praxis" und über ein Fallbeispiel zur Erstellung einer Unternehmenswebseite mit einem CMS. Bei letzterem ging es weniger um Technik als um die einzelnen Phasen des Projektablaufs und die daran beteiligten Akteure.
     
    Mit Ausnahme des Kapitels über SCMS hat dieses Modul keine ausgesprochen technische Perspektive. Es geht eher um die Einbettung von CMS in organisatorische und institutionelle Kontexte, um Vorgehensweisen im Projektverlauf, um die Ermittlung von Anforderungen, die Formulierung von Projektzielen und Erfolgskriterien. Schon nachvollziehbar, dass das ein Modul für die Wirtschaftsinformatiker ist.
     
    Eine Besonderheit in diesem Modul ist, dass es hier mal kein gedrucktes Lehrbuch sondern nur ein Skript gibt. Das hatte ich bei Springer Campus noch nicht erlebt, obwohl ich vom Hörensagen weiß, dass das vereinzelt auch noch in anderen Modulen vorkommt. Ein Buch ist natürlich schöner und lässt sich besser mitnehmen, aber das Skript ist völlig in Orndung. Die Einsendeaufgaben fand ich in diesem Modul vergleichsweise einfach. Das gleiche galt für Abschlusstest und Abschlussklausur.
     
    Die Präsenzklausur fand ich im Vergleich etwas schwerer. Ich hatte mich aber auch nicht gut vorbereitet. Da ich am Prüfungswochenende 4 Klausuren schreiben wollte, musste ich Prioritäten setzen. Softwaretechnik 3 und Web-Engineering waren mir am wichtigsten. Darum hatte ich dort am meisten Zeit investiert. Für CMS hatte ich vor allem die Inhalte aus dem Kapitel über SCMS wiederholt, denn die fand ich am anspruchsvollsten. Außerdem war ich der Meinung, dass das guter Stoff für Prüfungsfragen sei. Leider spielte ausgerechnet dieser Kursteil in der Klausur eine geringe Rolle. Die Aufgaben deckten ansonsten alle Kursteile recht breit ab, so dass ich hier nur den Tipp geben kann, bei der Wiederholung des Stoffes auf möglichst gleichmäßige Abdeckung zu setzen und sich nicht in Details zu verlieren. Die Aufgaben fragen in erster Linie Wissen ab, indem man Konzepte und Begriffe erklärt. Solche Klausuren mag ich nicht besonders, aber es passt zum Kurskonzept.
     
    Nicht ganz zu unrecht hatte ich damit gerechnet, dass die Klausur zu CMS die leichteste an jenem Prüfungswochenende sein würde. Darauf hatte ich mich leider ein bisschen zu sehr verlassen, und so erzielte ich insgesamt nur 75 von 100 Punkten. Da diese Klausur wirklich nicht zu schwierig war, war ich mit meiner Leistung nicht zufrieden. Dank der Bonuspunkte aus Online-Test und Online-Klausur war die Note dann trotzdem ganz gut.
     
    CMS ist ein Modul für Wirtschaftsinformatiker. Es geht um Anwendung im institutionellen Kontext, um Vorgehensweisen, Projektplanung, Standards. Wie die Technik funktioniert, spielt eine untergeordnete Rolle. Man lernt nicht, mit einem bestimmten CMS umzugehen. Insgesamt habe ich schon einige neue Erkenntnisse aus dem Modul mitgenommen, vor allem aus den Kapiteln über Dokumenten-Management-Systeme. Aber nochmal würde ich es nicht belegen, weil es mir zu sehr auf die Wirtschaftsinformatiker zugeschnitten ist.
  9. kurtchen
    Zur Rolle des Moduls im Studium
     
    Das Modul "Software-Testen" ist ein Pflichtmodul im Studiengang "Web- und Medieninformatik". Es wird dort dem Studienbereich "Softwaretechnik" zugerechnet. Formal darf das Modul jederzeit belegt werden, aber als fachliche Grundlage werden viele andere Module empfohlen: 
    Grundlagen der Informatik 1 Grundlagen der Informatik 2 Grundlagen der Informatik 3 Softwaretechnik 1 Softwaremanagement 1  
    Diese Empfehlung finde ich im Großen und Ganzen plausibel, auch wenn ich selbst das Modul "Softwaremanagement" nocht nicht belegt hatte. Aufgrund der vielfältigen Voraussetzungen wundert es nicht, dass die Belegung erst für das 5. Fachsemester empfohlen wird. Es ist also eines der letzten Pflichtmodule.
     
    Für den Studiengang "Wirtschaftsinformatik" ist das Modul nicht vorgesehen, nicht einmal im Wahlpflichtbereich. Es ist aber ein Baustein des Hochschulzertifikates "Software-Manager".
     
    Das Lehrbuch
     
    Das Buch "Basiswissen Testen von Software" von Torsten Cleff hat knapp 300 Seiten. Der Umfang ist für ein Modul bei Springer Campus also unterdurchschnittlich. Ziel des Lehrbuches ist, Grundwissen zu Testtechniken aber auch zu Prüftechniken zu vermitteln, so dass Fehler möglichst früh entdeckt und behoben werden. Die Erfahrung zeigt, dass die Kosten für die Behebung von Fehlern umso niedriger ausfallen, je früher ein Fehler entdeckt wird. Gemeint sind hier nicht nur Fehler im Quellcode, an die ich zu Beginn des Moduls als erstes gedacht habe. Fehler können auf allen Ebenen der Software-Entwicklung passieren, z.B. auch beim Erfassen von Anforderungen, bei der objektorientierten Analyse oder beim Entwurf, also bevor auch nur die erste Zeile Code geschrieben ist.
     
    Grundlagen
     
    Im ersten Teil des Buches werden vor allem Begriffe geklärt. Interessant war für mich z.B. die Unterscheidung von Teststufen, die jeweils mit Entwicklungsstufen eines Softwaresystems korrespondieren. Zu den vertraglichen Anforderungen an ein Software-Produkt gehört ein Abnahmetest, zur Produktdefinition ein Systemtest, zum Produktentwurf ein Integrationstest und zum Komponentenentwurf ein Komponententest.
     
    Nun ist klar, dass der Komponententest der erste Test ist, den man machen kann, wenn Quellcode vorliegt. Erst kann man die Integration von Komponenten testen und so fort. Die Teststufen folgen also in entgegensetzter Reihenfolge wie die Entwicklungsstufen. Visualisiert man diesen Ablauf, steigt man vom Anforderungsdokument Stufe um Stufe hinab bis zur Implementierung und arbeitet sich dann mit den Tests Stufe im Stufe wieder hinauf bis zu den Anforderungen. Der visualisierte Ablauf hat die Form des Buchstabens V, weshalb man auch vom V-Modell spricht.
     
    Interessant sind auch die verschiedenen Integrationsstrategien. Bei der Bottom-up Integration, baut und testet man zunächst Komponenten, die keine Dienste untergeordneter Komponenten in Anspruch nehmen. Dann baut und testet man die Komponenten, die auf diesen aufsetzen. So arbeitet man sich Stufe für Stufe nach oben. Ein Vorteil dieser Strategie ist, dass man keine Platzhalter programmieren muss. Der Nachteil ist, dass man das Zusammenspiel der Komponenten im Großen erst spät testen kann. Darum gibt es auch eine Top-down Integrationsstrategie. Hier werden möglichst bald Komponenten höherer Ordnung getestet. Da diese untergeordnete Komponenten brauchen, die noch nicht vorliegen, muss man viele Platzhalter programmieren. Dafür bekommt man früh einen Eindruck des Gesamtsystems aus Benutzersicht.
     
    Interessant waren auch die verschiedenen nicht-funktionalen Testverfahren. So werden z.B. bei einem Stresstest die definierten Leistungsgrenzen eines Systems bewusst überschritten, etwa um zu testen, ob das System nach einer Überlastung wieder in den Normalzustand zurückkehren kann.
     
    Testfälle entwickeln
     
    Diesen Kursabschnitt betrachte ich als den inhaltlichen Kern des Moduls. Der größte Anteil der Einsendeaufgaben aber auch der Aufgaben in der Online- und Präsenzklausur bezieht sich hierauf.
     
    Black-Box-Tests
     
    Zunächst geht es um spezifikationsorientierte Testtechniken. Komponenten sollen zu bestimmten Kombinationen von Eingabewerten eine Ausgabe entsprechend der Spezifikation liefern. Diese Tests werden auch als Black-Box-Tests bezeichnet, weil hier nicht interessiert, wie eine Komponente intern arbeitet. Es geht allein darum, ob sie zu gegebenen Eingaben die erwarteten Ausgaben liefert.
     
    Die erste derartige Testtechnik ist die funktionale Äquivalenzklassenbildung. Hier fasst man gleichwertige Eingabewerte zu einer Klasse zusammen, aus der man einen Repräsentanten auswählt. Getestet wird nur mit dem Repräsentanten, was den Testaufwand beträchtlich reduziert. Da die Erfahrung zeigt, dass Fehler vor allem an Klassen- und Intervallgrenzen auftreten, gibt es die Grenzwertanalyse. Hier wählt man als Repräsentanten Werte an den Grenzen eines Intervalls. Bei beiden Testtechniken ist wichtig, dass man gültige und ungültige Repräsentanten testet. Ungültige Repräsentanten sollten dann z.B. dazu führen, dass eine Exception geworfen wird.
     
    Der Entscheidungstabellentest eignet sich, wenn eine natürlich-sprachliche Testbasis vorliegt. Er ermöglicht, die verschiedenen Kombinationen von Eingangsbedingungen übersichtlich darzustellen. Oft ist es dann möglich, Fälle zusammen zu fassen und die Tabelle auf diese Weise stark zu vereinfachen. Auch dies kann den Testaufwand erheblich reduzieren.
     
    Bei der Ursache-Wirkungsanalyse visualisiert man die Beziehungen zwischen Ursachen und Wirkungen als Graph, dessen Kanten logische Verknüpfungen sind. Solche Graphen lassen sich in Entscheidungstabellen überführen.
     
    Beim zustandsbezogenen Test modelliert man ein System als Zustandsautomaten. So kann man die Historie des Systems in den Test einbeziehen. Das Zustandsdiagramm lässt sich in eine Zustandstabelle und in eine Zustandsmatrix überführen. Daraus lassen sich wiederum Testfälle ableiten. Interessant ist diese Testart z.B. für Systeme aus der Automatisierungstechnik.
     
    Auf höheren Teststufen gibt es den anwendungsfallbasierten Test. Ein konkreter Anwendungsfall wird als Use-Case-Diagramm modelliert. Auch hieraus lassen sich Testfälle ableiten.
     
    White-Box-Tests
     
    Während bei den spezifikationsorientierten Testtechniken nicht relevant ist, wie eine Komponente ihre Leistung erbringt (Black-Box-Test), muss man für die kontrollfluss-orientierten Testtechniken den Quellcode eines Programmes kennen. Darum werden diese auch als White-Box-Tests bezeichnet. Bei diesen Testtechniken visualisiert man den Kontrollfluss durch den Quelltext als Graph.
     
    Beim Anweisungsüberdeckungstest möchte man durch geschickte Auswahl möglichst weniger Testfälle sicherstellen, dass alle Anweisungen des Quellcodes ausgeführt werden. Beim Zweigüberdeckungstest sollen die Testfälle nicht nur alle Anweisungen (Knoten) des Graphen abdecken. Auch alle Zweige (Kanten) sollen mindestens ein Mal durchlaufen werden. Dieser Test ist also umfassender als der Anweisungsüberdeckungstest. Noch weiter geht der Bedingungsüberdeckungstest. Er beschäftigt sich mit der Kombination von Bedingungen, die erfüllt sein müssen, damit ein Zweig durchlaufen werden kann. Diese lassen sich z.B. wie eine Digitalschaltung visualisieren. Beim Pfadüberdeckungstest müssen nicht nur alle Kanten durchlaufen werden, sondern jeder mögliche Pfad vom Startpunkt bis zum Endpunkt eines Programmes. Die Zahl möglicher Pfade wächst oft sehr schnell. Entsprechend wächst auch die Zahl nötiger Testfälle.
     
    Erfahrungsbasiertes Testen
     
    Freies Testen ist ein erfahrungsbasiertes Verfahren. Die Testfälle basieren auf Testhypothesen eines erfahrenden Testers. Da hier die Intuition eine große Rolle spielt, sind solche Verfahren schlecht formalisierbar und nicht leicht in den Entwicklungsprozess zu integrieren. Sie werden daher meist nur ergänzend eingesetzt.
     
    Fehlerhypothesen lassen sich methodischer ableiten, wenn man auf der Grundlage bisher entdeckter Fehler Fehlerklassen bildet. Das sind Gruppierungen typischer Schwachstellen, die in vergangenen Tests an ähnlichen Systemen aufgefallen sind. Ein Beispiel für so eine Fehlerklasse wären etwa Fehler bei Klassen oder Datentypen. Konkrete Ausprägungen dieser Fehlerklasse wären dann z.B. Fehler bei Mehrfachvererbung, Typtransformationen oder fehlerhafte Deklarationen von Attributen oder Methoden. 
     
    Exploratives Testen ergänzt das erfahrungsbasierte Testen um ein Element der Analyse und Reflexion. Die dadurch gewonnenen Einsichten werden für die Entwicklung der nächsten Fehlerhypothesen genutzt. Auch dies ist ein Versuch, erfahrungsbasiertes Testen methodischer zu machen.
     
    Testen vs. prüfen
     
    Ein weiterer thematischer Schwerpunkt des Moduls sind Prüftechniken. Während bei Tests vorausgesetzt ist, dass man ein Testobjekt ausführen kann, wird bei einer Prüfung ein Artefakt der Softwareentwicklung nicht ausgeführt sondern inhaltlich nach formalen Kriterien kontrolliert. Dies hat verschiedene Vorteile:
    Nicht nur Quellcode kann geprüft werden, sondern auch Spezifikationen, Modelle, Dokumentationen oder andere Artefakte des Entwicklungsprozesses. Man benötigt keine Testumgebung, Testdaten oder Testtreiber Testen kann man erst, wenn Code vorliegt. Prüfen kann man dagegen in jeder Phase.  
    Entscheidend ist, dass man durch Prüfverfahren Fehler viel früher entdecken kann als durch Tests. Dadurch lassen sich Kosten vermeiden. Allerdings lassen sich durch Prüfungen nicht alle Arten von Fehlern entdecken. Zum Beispiel lassen sich Leistungskennzahlen auf diesem Weg nicht ermitteln, denn dazu müsste Code ausgeführt werden. Im Kurs behandelte manuelle Prüftechniken sind die Inspektion, das technische Review, der Walkthrough und das informelle Review.
     
    Softwaremaße
     
    Es gibt aber auch automatisierte Prüftechniken. So lassen sich z.B. mit geeigneten Werkzeugen sogenannte Softwaremaße bestimmen. Ein gängiges Maß ist sind zum Beispiel die Lines of Code (LOC), mit denen der Umfang eines Quellcodes angegeben wird. Dieses Maß ist nicht so selbstverständlich, wie es auf den ersten Blick scheint. LOCs können stark schwanken, je nachdem welche Formatierungskonventionen angewendet wurden. Dennoch werden LOCs häufig für grobe Umfangsschätzungen verwendet.
     
    Ein genaueres Umfangsmaß ist das Halstead-Maß. Dazu muss man zunächst alle Operanden und Operatoren eines Quellcodes auszählen. Die Anzahl unterschiedlicher Operatoren bezeichnet man mit N1, die der unterschiedlichen Operanden als N2. Operatoren sind z.B. Schlüsselwörter einer Programiersprache, Klammern aber auch Modifier, die die Sichtbarkeit einer Variable festlegen. Operanden sind z.B. Variablen oder auch boolesche Werte wie true oder false. Halstead bezeichnet nun die Summe N1+N2 als Vokabular eines Programmes. Als Volumen bezeichnet er die Summe N1+N2+log(N1+N2). Man kann sich vorstellen, dass das manuelle Auszählen von Operatoren und Operanden für Menschen eine mühselige Arbeit ist. So etwas kann automatisch von Werkzeugen erledigt werden, weshalb man in diesem Zusammenhang von automatisierten Prüftechniken spricht.
     
    Das McCabe Maß wird auch als zyklomatische Komplexität beschrieben. Um das McCabe-Maß berechnen zu können, muss man die Knoten und Kanten eines Kontrollflussgraphen auszählen und die Anzahl verbundener Kontrollflussgraphen bestimmen. McCabe liefert die maximale Zahl linear unabhängiger Programmpfade. Damit kann man abschätzen, wieviele Testfälle man für einen Zweigüberdeckungstest braucht.
     
    Es gibt auch Maße für Bindung und Kopplung von Komponenten.
     
    Problemmuster
     
    Problemmuster sind Anomalien im Quelltext, die erfahrungsgemäß die technische Qualität eines Programms senken. Sie lassen sich durch geeignete Werkzeuge aufspüren, damit sie überarbeitet werden können. Ein bekanntes Beispiel ist die Codedopplung. Wenn an verschiedenen Stellen des Programmes identischer Quellcode steht, muss man bei Änderungen alle entsprechenden Stellen finden. So etwas wird von einem Wartungsprogrammierer leicht übersehen. Meist ist es dann besser, solchen Code in einer eigene Komponente oder Methode zusammenzufassen. Das vermeidet Probleme bei künftiger Wartung. Im Kurs werden viele weitere Problemmuster vorgestellt, etwa mangelnder Polymorphismus, die Verletzung des Geheimnisprinzips, die Verwendung einfacher Typen, die zu Datenklumpen führt oder auch problematisch zusammengesetzte Datentypen.
     
    In den letzten Kapiteln geht es um das Management von Softwaretests sowie die Automatisierung von Tests. In diesem Zusammenhang werden auch ein paar Testwerkzeuge knapp vorgestellt.
     
    Online-Tests und Einsende-Aufgaben
     
    Die Tests decken die Inhalte des Moduls gut ab. Die Einsendeaufgaben konzentrieren sich vor allem auf die Kapitel zur Entwicklung von Testfällen. Aber auch das Entdecken von Problemmustern in Quellcode und die Bestimmung von Softwaremaßen spielt eine Rolle. Man vereinfacht Entscheidungstabellen, zeichnet Kontrollflussgraphen zum Quelltext, verbessert Anomalien in Quellcode, visualisiert komplexe Bedingungen als Digitalschaltung, zeichnet Zustandsautomaten, findet Testklassen, Repräsentanten und Testfälle. Die Aufgaben sind also recht vielfältig. Bei einigen Aufgabentypen hätte ein wenig mehr Übungsmaterial nicht geschadet. Die Aufgaben sind aber didaktisch geschickt gewählt, so dass sie zum Verständnis der vermittelten Konzepte beitragen. Insbesondere geben die Aufgaben einen guten Vorgeschmack auf das, was einen in der Online- und in der Präsenzklausur erwartet.
     
    Die Rückmeldungen meines Tutors kamen auch in diesem Modul sehr zügig. Sein Stil war manchmal etwas knapp, so dass ich gelegentlich noch einmal nachfragen musste. Das hat sich aber dann auch gelohnt und kleinere Unsicherheiten behoben. Ich hatte übrigens den gleichen Tutor wie im Modul "Grundlagen der Informatik 2" zu Beginn meines Studiums. Bei ihm habe ich objektorientiertes Programmieren gelernt. Ich habe mich sehr gefreut, gegen Ende meines Studiums noch einmal von ihm betreut zu werden.
     
    Präsenzklausur
     
    Die Aufgabentypen der Klausur ähnelten den Einsendeaufgaben, so dass man eigentlich gut vorbereitet sein sollte, wenn man alle Aufgaben bearbeitet und die Rückmeldungen seines Tutors genutzt hat. Wissensfragen zu den Prüftechniken spielten auch eine gewisse Rolle. Ich empfand das Arbeitspensum als angemessen für die Dauer der Klausur.
     
    Bei den Aufgaben zur Äquivalenzklassenbildung und Grenzwertanalyse wollte man den Studierenden anscheinend etwas Zeit ersparen, indem man Tabellen zur Verfügung gestellt hat, in die man z.B. Testfälle eintragen konnte. Das Layout dieser Tabellen war für mich allerdings ungewohnt und überraschend. Ich selber hätte meine Tabellen anders aufgebaut, so dass ich gelegentlich Lösungen in falsche Felder eingetragen habe, was ich dann wieder korrigieren musste. Das hat Zeit und Nerven gekostet. Nach der Klausur sprach ich mit einem Kommilitonen, dem es ähnlich ergangen war wie mir. Der hatte die zur Verfügung gestellten Tabellen gar nicht erst genutzt sondern sich lieber selbst welche gezeichnet. Diese Freiheit hätte ich mir auch nehmen sollen. Die dafür nötige Zeit hätte ich bestimmt mit Zinsen zurück bekommen. Wegen dieser Schwierigkeiten rechnete ich damit, ein paar Flüchtigkeitsfehler gemacht zu haben.
     
    Diese Sorge war anscheinend unbegründet. Das Klausurergebnis war erfreulich und spiegelte auch meinen subjektiven Eindruck wieder, den Stoff des Moduls im wesentlichen verstanden zu haben.
     
    Fazit
     
    Grundsätzlich finde ich es sehr sinnvoll, dass das Curriculum ein eigenes Modul zum Thema Testen enthält. Gut gefallen haben mir vor allem die Kapitel zur Entwicklung von Testfällen, weil ich hier die Einsendeaufgaben didaktisch klug gewählt und auch interessant und abwechslungsreich fand. Auch das Thema Problemmuster war für mich spannend. Es hat Spaß gemacht, in fremdem Quellcode nach problematischen Stellen zu suchen und sich bessere Lösungen zu überlegen. Weniger interessant waren für mich die Kapitel zu Prüftechniken und zum Management von Testfällen. Diese empfand ich als theoretischer und trockener, was sich bei diesem Stoff wohl auch nicht vermeiden lässt. Wegen dieser für mich etwas zäheren Abschnitte zählt Softwaretesten zwar nicht zu meinen Favoriten im Studienbereich Softwaretechnik, aber ich ziehe hier ein positives Fazit.
  10. kurtchen
    Welche Rolle spielt Softwaretechnik 2 im Studium?
     
    Das Modul "Softwaretechnik 2" wird - wenig überraschend - dem Studienbereich "Softwaretechnik" zugerechnet, der in den Studiengängen von Springer Campus einen recht großen Raum einnimmt. Das Modul ist Pflicht, sowohl im Studiengang "Web- und Medieninformatik" als auch im Studiengang "Wirtschaftsinformatik". Als inhaltliche Voraussetzung gilt das Modul "Softwaretechnik 1", bei dem es um Basistechniken und die Basiskonzepte Statik, Dynamik und Logik geht. Dieser Einschätzung würde ich mich anschließen. In SWT1 wird vor allem eine solide Grundlage in UML vermittelt, die man in SWT2 braucht. Springer Campus empfiehlt, auch das Modul "Softwaremanagement 1" vorher zu belegen, weil es das Verständnis von SWT2 erleichtere. Dazu kann ich nichts näheres sagen, weil ich SWM1 nicht vorher belegt hatte. Ich hatte den Eindruck, mit dem Stoff gut zurecht zu kommen und SWM1 als Grundlage nicht unbedingt zu brauchen. Möglicherweise wären mir die Kursabschnitte zur Aufwandsschätzung so leichter gefallen.
     
    SWT2 ist auch ein Pflichtmodul in den Weiterbildungszertifikaten "Requirements Engineer", "Software-Architekt" und "Software-Manager". Wer sich für eine dieser wissenschaftlichen Weiterbildungen interessiert, sei es als Etappenziel auf dem Weg zum Bachelor oder auch als eigenständige Weiterbildung, der muss sich mit den Inhalten dieses Moduls beschäftigen.
     
    Das Lehrbuch
     
    Inhaltlich geht es in SWT2 um Requirements Engineering, Aufwandsabschätzung und die Modellierung von Anforderungen. Ein neues Lehrbuch bekommt man nicht. Man bearbeitet die verbleibenden Kapitel vom (hervorragenden) "Lehrbuch der Softwaretechnik - Basiskonzepte und Requirements Engineering" von Helmut Balzert, welches ja schon SWT1 zu Grunde lag. Während SWT1 mit über 400 Seiten ein umfangreicher Kurs war, fällt SWT2 mit nur ca. 150 restlichen Seiten deutlich kompakter aus. Ich habe den Eindruck, dass sich das nicht ganz im Zeitaufwand niederschlägt. Viele Kapitel zum Requirements-Engineering sind vergleichsweise trockene Themen, durch die man sich mühsam durchbeißen muss. In SWT1 nahmen große UML-Diagramme viel Raum auf den Seiten ein, so dass man oft schneller voran kam. Dieses Modul ist etwas textlastiger. Gleichwohl scheint mir, dass der Arbeitsaufwand ungleichmäßig verteilt ist. Ich hätte es besser gefunden, die Kapitel zur Logik aus SWT1 noch SWT2 zuzuteilen. Allerdings ginge dabei die klare thematische Gliederung der Module verloren. Wahrscheinlich muss man sich damit abfinden, dass die Module trotz formal gleichem Workload mal anstrengender und mal etwas leichter ausfallen. Dies bezieht sich allerdings nur auf den Arbeitsumfang. Inhaltlich ist SWT2 anspruchsvoll und relevant.
     
    Requirements Engineering
     
    Beim Requirements Engineering geht es im wesentlichen um das Erfassen von Anforderungen für Software-Projekte. In der Vergangenheit sind immer wieder große Software-Projekte spektakulär gescheitert. Ein wesentlicher Grund war, dass die Anforderungen an das Produkt zu Beginn nicht präzise ermittelt wurden, Entwurf und Implementierung also schon vorangeschritten waren, als wesentliche Anforderungen erst bekannt wurden. So etwas endete oft damit, dass sich der erstellte Code als unbrauchbar erwiest, weil der Entwurf schon in den Grundzügen an den Anforderungen vorbei ging. Die nötigen Änderungen wären teurer gewesen als ein kompletter Neubeginn. Requirements Engineering beschäftigt sich mit Techniken und Vorgehensweisen, um relevante Anforderungen zu Beginn eines Projektes (und im laufenden Projekt) zu ermitteln, um ausufernde Kosten, Terminverzögerungen oder gar ein Scheitern des Projektes zu vermeiden.
     
    Das klassische Vorgehen ist ein dreistufiges. Die Anforderungen werden aus Kundensicht definiert. Das Ergebnis ist ein Lastenheft, das i.d.R. auch Angebotsgrundlage ist. Dann werden die Anforderungen aus dem Lastenheft spezifiziert. Das Ergebnis ist das deutlich umfangreichere Pflichtenheft, zu dem auch Abnahmekriterien gehören. Die im Pflichtenheft spezifizierten Anforderungen werden dann klassischerweise in eine fachliche Lösung in Form eines OOA-Modells überführt. Damit sind wir aber schon im Bereich Anforderungs-Modellierung.
     
    Es gibt aber auch agile Softwareentwicklung. Hier ist das Ziel mit möglichst wenig Dokumenten außer dem Code auszukommen. Ein Kunde oder Kundenrepräsentant wird ins Entwicklungsteam integriert, die Anforderungen werden in Form von User Stories erhoben, die beschreiben, was das Softwaresystem für die Benutzer leisten soll. Kennzeichnend für agile Entwicklung ist, dass die Anforderungen nicht vollständig vor sondern nach und nach während des Projektes ermittelt werden.
     
    Der inhaltliche Fokus von SWT2 liegt aber klar auf dem klassischen sequentiellen Vorgehen. Im Rahmen der Einsendeaufgaben erstellt man auch selbst ein Lasten- und ein Pflichtenheft, was sich vergleichsweise lange hinzieht und ungewohnt viel Schreibarbeit ist. Hier geht es unter anderem darum, Anforderungsschablonen anzuwenden, die eine klare inhaltliche Gliederung vorgeben und zum Teil auch mit einheitlichen Formulierungen arbeiten. Hier muss man sich ein bisschen disziplinieren. Man muss zum Beispiel sehr präzise unterscheiden, was ein System leisten SOLL und was es leisten MUSS. Beim Pflichtenheft ist es wesentlich, Abnahmekriterien zu formulieren, die eindeutig überprüfbar sind. Hier kam es mir tatsächlich einmal zu Gute, dass ich eine pädagogische Ausbildung habe. Bildungs- und Förderziele sollten ebenfalls so formuliert sein, dass sie konkretes und beobachtbares Verhalten beschreiben, damit man nachprüfbar ist, ob der Lernende sie erreicht hat. Schwammige Formulierungen wie "das Sozialverhalten der Schüler soll sich verbessern", lassen viel Interpretationsspielraum. Man kann mir so zwar nicht beweisen, dass meine Maßnahme wirkungslos war, aber ich kann umgekehrt auch nicht beweisen, dass ich etwas erreicht habe. Hier sah ich also eine gewisse Analogie, die mir das Verständnis erleichterte.
     
    Aufwandsschätzung
     
    In den folgenden Kapiteln geht es um das Schätzen des Entwicklungsaufwandes. Das ist ein sehr wichtiger Schritt, weil ein Unternehmen, das Software entwickelt, dem Kunden ein Angebot machen muss. Schätzt man den Aufwand zu hoch ein, geht der Kunde zu einem günstigeren Mitbewerber und man bekommt den Auftrag nicht. Schätzt man ihn zu niedrig ein, sind die Entwicklungskosten höher als der vereinbarte Preis und man verliert Geld. Eine möglichst gute Aufwandsschätzung ist also wesentlich für den wirtschaftlichen Erfolg, auch wenn es gute Gründe geben kann, eine Software unter den tatsächlichen Entwicklungskosten anzubieten. Zum Beispiel weil man damit in eine neue Anwendungsdomäne vordringen kann und sich eine Codebasis erarbeitet, die man in künftigen, ähnlichen Projekten wiederverwenden kann. Solche Entscheidungen sollte man dann aber bewusst und strategisch treffen.
     
    Aufwandsschätzung ist leider alles andere als einfach. Im Kurs lernt man verschiedene Schätzverfahren kennen, wozu auch algorithmische Verfahren wie Function Points oder Object Points gehören. Viele der Verfahren sind selbst recht aufwendig, so dass allein die Durchführung der Schätzung schon beträchtliche Kosten verursacht. Auch formalere Verfahren wie Functions Points müssen mit Erfahrungswerten aus dem Unternehmen sozusagen kalibriert werden, um ermittelte Aufwandspunkte in Entwicklermonate umrechnen zu können. Hier spielen viele Faktoren eine Rolle. Eine Rolle spielt zum Beispiel die Erfahrung der Entwickler mit ähnlichen Projekten, der Anteil von Code, der wiederverwendet werden kann, aber auch die Sprache, in der entwickelt werden soll.
     
    Natürlich darf man nicht erwarten, allein auf Grundlage eines Studienmoduls in der Lage zu sein, eine Aufwandsschätzung vorzunehmen. Man lernt Methoden kennen, mit denen Unternehmen versuchen, dieses Problem zu lösen. Man lernt relevante Begriffe und Konzepte. Und man entwickelt ein Bewusstsein, für die damit verbundenen Probleme. Einsendeaufgaben hier beinhalten z.B. das Bestimmen von Function Points für ein skizziertes Projekt.
     
    Anforderungen modellieren
     
    Im letzten Kursabschnitt geht es um objektorientierte Analyse, also das Erstellen eines OOA-Modells auf Grundlage einer Spezifikation. Wichtigstes Ergebnis ist in der Regel ein UML-Klassendiagramm, das die Statik des Systems modelliert. Der Kurs vermittelt 10 sogenannte OOA-Muster, wiederkehrende Formen der Verknüpfung von Klassen, mit charakteristischer Semantik und charakteristischen Multiplizitäten. Hier muss man wieder Diagramme zeichnen und dieser Kursteil war dann schon wieder lebendiger und näher dran an der Programmierung. Für mich persönlich war das der Teil des Kurses, der mir am meisten Spaß gemacht hat. Eine typische Einsendeaufgabe hier wäre das Wiedererkennen der behandelten Muster in kleinen Spezifikationen, die man modellieren soll.
     
    Prüfungen
     
    Online-Test und Online-Klausur deckten die Inhalte des Kurses noch einmal breit ab. Eine kleine Warnung vorweg: Ich hatte ein Lastenheft mit Glossar zu schreiben. Da steckt viel Schreibarbeit drin und es ist nicht ganz einfach, sich die Zeit gut einzuteilen. Hier habe ich Punkte verschenkt, weil ich mich mit Schreiben zu lange aufgehalten habe und die verlorene Zeit beim Modellieren nicht mehr rausholen konnte. Hilfreich wäre vielleicht, gewisse Text- und UML-Schablonen schon griffbereit zu haben.
     
    Ich hatte den gleichen Tutor wie in SWT1. Auch in SWT3 er mich voraussichtlich wieder begleiten. Die Kurse bauen aufeinander auf und es ist sehr schön, hier einen kontinuierlichen Ansprechpartner zu haben, der einen durch einen längeren Lernprozess begleitet.
     
    Die Präsenzklausur deckte die Inhalte breit ab, wenn auch mit unterschiedlicher Gewichtung. Ich hatte relativ viel Modellierung, was mir eigentlich Spaß gemacht hat. Mal sehen, ob ich das auch in eine gute Note umsetzen konnte. Der Zeitdruck war im Vergleich zur Online-Klausur geringer, so dass die Online-Klausur hier als gute Vorbereitung gelten kann. So ist es mir am liebsten.
     
    Ausblick
     
    Ich bin nun sehr gespannt auf SWT3, wo es unter anderem um Entwurfsmuster gehen wird. Laut meinem Tutor wird dort auch wieder mehr programmiert. Darauf freue ich mich schon richtig.
  11. kurtchen
    Hier kommt die Fortsetzung meines Berichts über den Springer Campus Präsenztag am 10.03.2018.
     
    12:15 Uhr - Vortrag: Big Data, Prof. Dr. Uwe Schmitz, FH Dortmund
     
    Ich gebe die Inhalte des Vortrages auf der Grundlage eigener Notizen in knapper Form wieder.
     
    Ausgangssituation
    Es ist zu erwarten, dass Industrie 4.0 die Industrieproduktion verändern wird. Es fallen massenhaft strukturierte Daten aus operativen Informationssystemen an. Hinzu kommen massenhaft unstrukturierte Daten, z.B. aus sozialen Netzwerken. Viele der anfallenden Daten bleiben noch ungenutzt.  
    Was kennzeichnet Big Data?
    Volume (Umfang): Das Datenvolumen steigt jedes Jahr im den Faktor 40. Variety (Vielfalt): Es gibt eine Vielfalt der Formate und der Quellen. Daten können strukturiert, unstrukturiert und halbstrukturiert vorliegen. Strukturierte Daten kennzeichnen klassische Datenbanken. Unstrukturierte Daten sind z.B. Photos, Videos oder Audiodateien. Halbstrukturierte Daten sind z.B. E-Mails oder Word-Dokumente. Velocity (Geschwindigkeit): Hier geht es um die Geschwindigkeit, mit der Daten generiert und ausgewertet werden. Velocity hat zwei Aspekte. Zum einen die Geschwindigkeit, mit der Daten verarbeitet werden. Zum anderen die Geschwindigkeit, in der Daten sich ändern. Heute möchte man Updates möglichst in Echtzeit, d.h. die Geschwindigkeit der Verarbeitung soll mit der Geschwindigkeit der Veränderung Schritt halten. Veracity (Richtigkeit): Dies betrifft die Datenqualität. Man möchte wissen, mit welcher Wahrscheinlichkeit ein Wert valide ist. Beispielsweise müssen Stromerzeuger recht zuverlässig wissen, wie das Wetter der nächsten Tage wird, denn das beeinflusst Produktion und Verbrauch von Strom. Value (Mehrwert): Das Sammeln und Auswerten von Daten ist kein Selbstzweck. Die dazu nötigen Investitionen müssen sich lohnen.  
    Aktuell bedeutsame Datenquellen sind noch immer Transaktionsdaten, Protokolldaten, Ereignisdaten. Transaktionsdaten werden seit Jahrzehnten in klassischen relationalen Datenbanken erfasst. Auch Log-Dateien gibt es seit langem. Für die Zukunft werden große Zuwächse bei anderen Datenquellen prognostiziert, z.B. bei Social Media, Sensordaten oder Geodaten.
     
    Die gesammelten Daten sind potentiell in allen Unternehmensbereichen nützlich, also z.B. im Vertrieb, in Finanzen & Controlling, im Marketing, in der Produktion, der Logistik, im Supply-Chain-Management und im Kundenservice.
     
    Big Data Technologie leistet einen unverzichtbaren Beitrag für die Industrie 4.0. Zu nennen sind vier Bereiche:
    Smart Factory: Sensoren schaffen bessere Planungsfähigkeit. Smart Operations: Vernetzte Produktion ermöglicht flexible Steuerung der Produktion. Smart Service: Durch Vernetzung von Produkt und Hersteller und werden neue Dienstleistungen möglich. Smart Products: Hier gab es eine kleine Diskussion über die Frage, was ein smartes Produkt kennzeichnet.  
    Beispiel Netflix
     
    Die Plattform versucht vorauszusagen, was Nutzer künftig sehen wollen. Nutzerprofile werden dazu ausgewertet, z.B. Korrelationen, wann ein begonnener Film abgebrochen wurde. Auf diese Weise werden Präferenzen für Schauspieler, Inhalte, Themen und ähnliches für bestimmte Nutzergruppen ermittelt. Dies hat Auswirkungen auf die Produktion von Serien. Zum Beispiel wurde die bekannte Serie "House of Cards" auf der Grundlage solcher Nutzerdaten produziert. (Eigene Anmerkung: Natürlich haben Produzenten von Filmen und Serien immer versucht, den Geschmack ihrer Zielgruppen zu treffen. Neu erscheint mir hier, die Geschwindigkeit der Rückkopplung und die Verknüpfung von Informationen. Früher konnte man sagen, dass die Einschaltquoten für eine Serie zurückgegangen sind. Für jeden Zuschauer, der abspringt, kann man heute sagen, was er stattdessen geschaut hat.)
     
    Big Data Technologien verändern die Datenhaltung, den Datenzugriff, die analytische Verarbeitung, die Datenintegration und die Visualisierung.
     
    Beispiel Datenhaltung
     
    In-Memory-Datenbanken laden bei Programmstart den kompletten Datenbestand in den Hauptspeicher. Dies erhöht die Geschwindigkeit der Verarbeitung erheblich. Die Datenbankserver müssen dann natürlich besonders gegen Stromausfälle gesichert werden, z.B. durch Akkus. In zeitlichen Abständen gibt es Backups auf nicht-flüchtige Datenspeicher (Save Points). Diese Datenbanken können viele Terrabytes umfassen. Aufgrund der hohen Geschwindigkeit entfällt der bisherige ETL-Prozess. (ETL steht für Extract, Transform, Load. Bislang mussten Daten aus operativen Systemen aufbereitet und verdichtet werden, bevor man sie analysieren konnte. In-Memory-Datenbanken sind schnell genug, um direkt auf den vollständigen operativen Datenbeständen zu arbeiten.) Vorteile sind z.B. schnelle Reaktion auf Preisschwankungen, schnelle Sperrung bei Missbrauchsverdacht, schnelle Reaktion auf aufkommende Gerüchte (Shitstorm-Erkennung!), Verringerung von Out-of-shelf-Problemen, positiveres Image durch schnellere Reaktion auf Kundenanfragen. Ein Beispiel für eine In-Memory-Datenbank wäre SAP Hana.
     
    Beispiel Sentiment-Analyse
     
    Bei der Sentiment-Analyse geht es darum, wie eine Person zu etwas steht. So gibt es mittlerweile Standard-Extraktoren für Posts auf Plattformen wie Twitter und Facebook über standardisierte Schnittstellen. Diese ermitteln z.B. Korrelationen zwischen Schlüsselwörtern und Adjektiven wie "successful" oder "bad". Auf die Weise kann man nicht nur schnell ermitteln, wie ein Produkt, ein Service oder eine Organisation wahrgenommen wird, sondern auch, wie diese Wahrnehmung sich aktuell verändert. Das kann man im Marketing und in der Öffentlichkeitsarbeit nutzen.
     
    Anforderungen
     
    Um Big Data nutzen zu können, muss man verschiedene Arten von Anforderungen erfüllen:
    Technische Anforderungen: Dazu zählen z.B. Skalierbarkeit, um mit dem rasanten Wachstum der Bestände Schritt halten zu können, aber auch Schnittstellen, um Daten aus immer vielfältigeren Quellen verknüpfen zu können. Personelle Anforderungen: Es erweist sich als schwierig, Mitarbeiter mit den nötigen Kompetenzen zu beschaffen. Dazu später mehr bei den Herausforderungen. Organisatorische Anforderungen: Man braucht Regelungen zum Umgang mit den neuen Daten. Auch Regelungen zum Datenschutz sind wichtig. (Wie man in jüngerer Zeit immer wieder erleben muss, kann sorgloser Umgang mit Kundendaten den Ruf eines Unternehmens nachhaltig schädigen.) Projektspezifische Anforderungen: Hier geht es darum, Business-Cases zu finden, also Möglichkeiten, durch Analyse und Verknüpfung von Daten einen Mehrwert zu erzeugen. Dies könnten Einsparungen in der Produktion sein, eine schnellere Bereitstellung von Diensten als Mitbewerber, eine gezieltere Ansprache von Kunden durch Werbung, eine bessere Planung des Produktportofolios und vieles mehr.  
    Herausforderungen beim Einsatz von Big Data
     
    Der Einsatz und die Einführung von Big Data Technologien ist mit verschiedenen Herausforderungen verbunden:
    Fehlendes analytisches Know-How: Ideale Mitarbeiter haben Kenntnisse in Statistik, BWL und Informationstechnologie. Die Person, die diese Fähigkeiten kombiniert, nennt man Data Scientist. Offen bleibt die Frage, wie wahrscheinlich es ist, diese Kompetenzen tatsächlich häufig genug vereint in einer Person zu finden. Voraussichtlich wird man eher interdisziplinäre Teams bilden müssen. Datenschutz: Hier geht es einerseits darum, was Unternehmen dürfen und müssen, und andererseits darum, wie Kunden auf Sicherheitslecks reagieren. Fehlendes technisches Know-how Datensicherheit: Wie verhindert man z.B. unauthorisierten Zugriff? Kosten Fehlender Business-Case Die Geschäftsprozesse sind nicht reif genug für den Einsatz von Big Data  
    Wie etabliert man Big Data in einem Unternehmen?
     
    Dafür gibt es das BITKOM-Vorgehensmodell:
    Assessment: Eine Ist-Analyse erfasst, was die aktuellen Daten sind und wie die aktuelle Systemlandschaft aussieht. Readyness: Neue Datenquellen werden eingebunden. Die Datenquellen werden vereinheitlicht. Implementierung und Integration: Die eigentliche Einführung einer Big Data Applikation. Konsilidierung und Migration Nutzung der neuen Daten Reportung und Predictive Analytics: Hier geht es um die Gewinnung neuer Einsichten, indem man unbekanntes und ungenutztes Wissen in den zusammengeführten Datenbeständen entdeckt. End-to-End-Prozesse: Man wandelt die gewonnenen Einsichten in Vorteile, indem man neue und bessere Geschäftsprozesse konzipiert und einführt. Im Grunde wird erst durch diesen Schritt der Nutzen realisiert. Optimierung und Tuning: Hier geht es um die Frage, wie eine künftige und bessere Systemlandschaft aussehen könnte. Damit schließt sich ein Kreis und die Phasen können erneut durchlaufen werden.  
    Erwarteter Nutzen
     
    Durch den Einsatz von Big Data erwartet man vielfältigen Nutzen:
    Bessere Informationen über das Informations- und Konsumverhalten der Kunden Bessere Steuerung von Marketing und Vertrieb Optimierte Logistik Einschätzung von Marktpotentialen und Business Cases Höhere Renditen durch optimierte Preisgestaltung: Das ist ein heißes Eisen. Technisch betrachtet, könnten Algorithmen eine Prognose erstellen, wie viel ein Kunde für ein Produkt oder eine Leistung zu zahlen bereit oder in der Lage ist. Sie könnten dann einen individuellen Preis je nach Größe des Geldbeutels und Ausgabenbereitschaft machen. (Eigene Anmerkung: Rechtlich ist das problematisch. Bekannt wurde zum Beispiel, dass Disneyland Paris unterschiedliche Preise je nach Herkunftsland der Kunden nahm.) Wettbewerbsvorteile durch genauere Marktkenntnis  
    Reifegrad-Modelle
     
    Reifegrad-Modelle beantworten die Frage: Ist mein Unternehmen reif genug, um Big Data Technologien einsetzen zu können? Ein Beispiel ist das Business Intelligence Maturity Model von Steria Mummert Consulting. Es unterscheidet fünf Stufe der Reife.
    Lokale Daten, bezogen auf bestimme einzelne Aufgaben Informationsinseln, z.B. nach Unternehmensbereichen Informationsintegration, d.h. die Daten sind unternehmensweit vernetzt Informations-Intelligence, d.h. die Daten sind logisch integriert Informationsgetriebenes Unternehmen  
    Zur Person
     
    Prof. Dr. Uwe Schmitz betreut im Online-Studiengang B.Sc. Wirtschaftsinformatik die Module "Strategisches Management & Controlling" und "Grundlagen BWL".
     
    Soweit zum ersten Vortrag des Präsenztages.
     
    13:30 Uhr - Vortrag: DevOps, Dr. Hendrik Neumann (W3L AG)
     
    Nach einer Pause gab es ab 13:30 Uhr einen weiteren Vortrag zum Thema "DevOps" von Dr. Hendrik Neumann (W3L AG), der ebenfalls interessant und aufschlussreich war. Allerdings machte sich an diesem Punkt bemerkbar, dass ich am gleichen Tag auch noch eine zweistündige Klausur geschrieben hatte. Die Qualität meiner Notizen war leider nicht mehr ausreichend, um die Inhalte hier detailliert wiederzugeben.
     
    Fazit
     
    Wichtig war wie immer auch der informelle Austausch mit anderen Studierenden. In Kombination mit dem gebotenen Programm war es die lange Anfahrt nach Dortmund wert. Allmählich kommt für mich die Zielgerade in Sicht. Allzu oft werde ich wohl nicht mehr Gelegenheit haben, an einem Präsenztag teilzunehmen. Mindestens einmal fahre ich aber noch nach Dortmund, wahrscheinlicher sogar zweimal. Ich werde hier im Blog berichten.
  12. kurtchen
    Diesmal kommt kein Modulbericht. Eben habe ich mich auf der Lernplattform der W3L eingeloggt. Und dort, wo bislang das W3L-Logo zu sehen war, ist nun das Springer Logo. Das ist zugegebenermaßen recht chic, aber noch wirkt es auf mich an dieser Stelle fremd. Ich habe nun darüber nachgedacht, wie ich im Hinblick auf meinen Blog mit dieser Namensänderung umgehen möchte.Tatsächlich habe ich mit dem Gedanken gespielt, die Bezeichnung W3L in allen meinen Artikeln zu ändern. Andererseits habe ich mein Studium nun einmal nicht bei Springer Campus begonnen sondern bei der W3L. Und das war ein guter Anfang.
     
    Ich hoffe (und bin auch guten Mutes), dass es mit Springer Campus gut weitergehen wird. Ab jetzt werde ich in meinen Beiträgen also den neuen Namen verwenden.
     
    Sinn meines Blogs war und ist, dass künftige Studierende es ein wenig leichter haben als ich, Informationen zum Studium aus einer Insider-Perspektive zu finden. Damit diese Leute meine Modulberichte gut finden, habe ich zumindest in den Stichworten zu den Blogeinträgen konsequent W3L durch Springer Campus ersetzt.
     
    Bis zum nächsten ausführlichen Bericht dauert es noch ein bisschen. Zur Zeit bearbeite ich das Modul Nicht-sequentielle Programmierung und nebenbei auch schon ein bisschen Mobile Computing.
  13. kurtchen
    Heute kamen Mails vom Studienbüro. Zum einen ging es wieder um eine Einladung zum Prüfungstermin. Da ich mittlerweile scheinfrei bin, betrifft mich das nicht mehr. Das andere war eine Einladung zu einem Vorkurs Mathematik. Der richtet sich aber nicht allein an Studierende bei Springer Campus sondern allgemein an künftige Studierende der FH Dortmund. Darum ist es auch ein Präsenzkurs vor Ort, der sich über eine Woche hinzieht. Ich habe meine Mathe-Scheine, aber zu Beginn meines Studiums hätte mich so ein Angebot schon interessieren können. Bislang hat mir das Studienbüro zu so etwas keine Einladungen geschickt. Wir hatten unsere eigenen Mathe-Tutorien auf den Präsenztagen. Aber schön fände ich das schon, wenn Studierende aus den Präsenz-Studiengängen und aus den Online-Studiengängen sich in so einem Rahmen begegnen würden. Ich vermute, dass das eher selten in Anspruch genommen wird. Viele Online-Studierende haben eine weite Anfahrt. Und natürlich haben sich die meisten für ein Online-Studium entschieden, weil sie arbeiten müssen. Allerdings tun sich auch viele mit Mathe schwer und können ein bisschen Starthilfe gebrauchen. Vielleicht wäre das für den einen oder anderen ja doch Motivation, sich ein paar Tage freizunehmen.
  14. kurtchen
    Am Präsenztag der W3L Akademie am 24.09.2016 informierte Dr. Olaf Zwintzscher aus dem Vorstand der W3L AG über die bevorstehende Übernahme der W3L Akademie durch Springer Campus. Als Studierender im Studiengang Web- und Medieninformatik habe ich am Präsenztag teilgenommen. Ich habe mich bemüht, seine Ausführungen zu protokollieren, um sie an dieser Stelle zu teilen.
     
    Laut Herrn Zwintzscher unterliegt der Fernstudienmarkt in Deutschland einer starken Konkurrenz. Es gibt Player, die breiter als die W3L aufgestellt sind. Die W3L Akademie bietet bislang nur 2 Studiengänge an - Web- und Medieninformatik sowie Wirtschaftsinformatik. Andere Anbieter können ein deutlich breiteres Angebot machen, haben insgesamt mehr Studierende und ein größeres Finanzvolumen. Damit haben Sie auch die Möglichkeit, Werbung im öffentlichen Raum zu platzieren, z.B. auf U-Bahnen, Plakatwänden, in Zeitschriften. So etwas wäre für die W3L Akademie zu teuer. Da sie eine kleinere Zielgruppe anspricht, wäre es auch ineffektiv. Im Marketing der eigenen Studiengänge kann die W3L mit größeren Anbietern nicht mithalten.
     
    Aus diesem Grunde war die W3L schon längere Zeit auf die Suche nach Kooperationspartnern. Dabei hoffte man zunächst auf Firmen, die Angebote der W3L für die Weiterbildung ihrer Mitarbeiter nutzen wollten. Nachdem dies nicht aufging, suchte man auch nach Partnern, die das bestehende Konzept weiterführen wollten.
     
    Es gab schon längere Zeit eine Zusammenarbeit zwischen der W3L Akademie und dem Springer Verlag. Zum Beispiel verlegt Springer die Lehrbücher zur Softwaretechnik von Herrn Balzert, der die W3L Akademie aufgebaut hat. Diese Lehrbücher werden auch in den Softwaretechnik-Modulen der W3L verwendet.
    Springer bietet mit Springer Campus eigene Fernstudiengänge in Biologie, Chemie und Elektrotechnik an. Sie fanden das Studienangebot der W3L gut, wollten aber keine Kooperation sondern kaufen.
     
    Die W3L hat sich entschieden, ihr Angebot an Springer Campus abzugeben, weil andere mögliche Partner das bestehende Konzept ändern wollten. Mit Springer soll das nicht passieren. Die Ansprechpartner für die Studierenden im Studienbüro bleiben die gleichen. Sie wechseln zu Springer Campus. Auch die Dozenten sollen die gleichen bleiben, was auch Herrn Zwintzscher selbst einschließt. Erhalten bleiben soll ferner der Standort Dortmund.
     
    Springer Campus wird die bestehende Kooperation mit der FH Dortmund fortsetzen, die auch in Zukunft die Bachelor-Abschlüsse verleiht. Laut Herrn Zwintzscher war dies sowohl für die W3L als auch für Springer wichtig.
     
    Mit der Übernahme durch Springer verbinden sich verschiedene Hoffnungen:
    - Möglichkeiten für besseres Marketing, weil Springer größer ist als die mittelständische W3L.
    - Weil Springer in der Wirtschaft gut vernetzt ist, könnte es ihnen gelingen, Kooperationen mit Firmenkunden aufzubauen.
    - Mehr Studierende in den beiden Studiengängen.
    - Wenn dies aufginge, könnte es auch mehr Prüfungsstandorte geben.
    - Das Studienangebot könnte schließlich erweitert werden, z.B. um einen Masterstudiengang (sobald es genügend Bachelor-Absolventen gibt).
     
    Herr Zwintzscher glaubt ferner, dass Springer Campus größere unternehmerische Hürden nehmen kann als das mittelständige Unternehmen W3L. Die Sicherheit für die Studierenden sollte damit steigen.
     
    Ändern könnte sich in absehbarer Zeit die Lernplattform. Es ist möglich, dass Springer Campus auf Dauer nicht verschiedene Plattformen parallel betreiben sondern alle Inhalte in einer Plattform zusammenfassen möchte. Allerdings ist solch eine Migration aufwendig, weshalb die meisten Bestandsstudierenden das wahrscheinlich nicht mehr erleben werden.
     
    Soweit die Ausführungen von Herrn Zwintzscher zur bevorstehenden Übernahme der W3L Akademie durch Springer Campus.
  15. kurtchen
    Im Bereich Mathematik möchte ich nicht nur die einzelnen Module beschreiben, sondern auch etwas zum Gesamtkonzept sagen, wie es für mich bislang erkennbar ist. Aus Gesprächen mit Kommilitonen weiß ich, dass Mathematik für viele Studierende ein "Angstfach" ist. Auch eine lästige Pflicht, die man irgendwie "abhaken" und dann hinter sich lassen möchte. Selten wird Mathematik als etwas beschrieben, das Spaß gemacht hat.
     
    Die anscheinend weit verbreitete Abneigung gegen Mathematik teile ich nicht. Zu Schulzeiten habe ich im Abitur einen Mathe-Leistungskurs gewählt. (Damals, als es noch Leistungskurse gab.) Mathematik gehörte für mich zu den Schulfächern, die mir Spaß gemacht haben und die mir relativ leicht gefallen sind. Das muss man vielleicht im Hinterkopf behalten, wenn man meine folgenden Modulberichte liest. Ich bin bislang gut zurechtgekommen, aber ich mag Mathe auch.
     
    Allerdings ist mein Abitur schon lange her. Und seit der Schule hatte ich wenig Gelegenheit, mich mit Mathematik zu beschäftigen, weil ich mir einen Beruf ausgesucht habe, der keinerlei Bezüge zu diesem Gebiet hat. Als ich mich über Informatik-Studiengänge informiert habe, spielte es also schon eine Rolle für mich, was in Mathematik verlangt wird. Verschiedene Unis und FHs bieten auch Vorkurse an, die den Einstieg erleichtern sollen. Einen solchen Kurs durchgearbeitet hatte ich nicht, aber reingeschnuppert. Und dabei gemerkt, dass ich mich noch ziemlich gut an den Stoff bis zur 10. Klasse erinnerte, von der Oberstufenmathematik aber nicht mehr viel übrig war.
     
    Die W3L bietet die Möglichkeit, sich zu den Modulen Probekapitel runterzuladen und mal "reinzuschnuppern". Darum wusste ich, dass es im Modul "Mathe2" bzw. "Mathematik für Informatiker" um Analysis und Lineare Algebra geht. Inhalte, die mir zu Abiturzeiten geläufig waren, mir aber nach vielen Jahren fremd vorkamen. Der Stoff von "Mathe3" bzw. "Angewandte Mathematik" war mir unbekannt. Hier geht es um Numerik, Grafik, Kryptik. 
    Ich hatte also vor Mathematik nicht unbedingt Angst aber doch Respekt, weil mir dämmerte, dass es schon ein Stück Arbeit werden würde, mich nach langer Abstinenz wieder in dem Thema einzufinden.
     
    Im Bachelor-Studiengang "Web- und Medieninformatik" der W3L gibt es insgesamt 4 Mathematik-Module mit je 5 ECTS. Sie heißen:
    - Mathe1: Mathematisch-logische Grundlagen der Informatik
    - Mathe2: Mathematik für Informatiker
    - Mathe3: Angewandte Mathematik
    - Statistik
     
    Die Studierenden im Studiengang "Wirtschaftsinformatik" müssen Mathe3 "Angewandte Mathematik" nicht belegen, können es aber im Wahlpflichtbereich buchen.
    Da ich inzwischen das dritte Modul "Angewandte Mathematik" bearbeite, kann ich sagen, dass Mathe2 und Mathe3 inhaltlich sehr eng aufeinander aufbauen. Die beiden Module sind vom gleichen Autor geschrieben, der zugleich auch mein Tutor ist. Hier ist ein modulübergreifendes Konzept aus "einem Guss" erkennbar.
     
    Das Modul Mathe1 hat drei Autoren. Man merkt hier einen anderen Stil. Es geht erkennbar darum, den Studierenden einen sanften (Wieder-)Einstieg ins Fach zu bieten. In allen drei Modulen gibt es ein Bemühen, inhaltliche Bezüge zur Informatik herzustellen. Sehr gelungen finde ich das bislang in Mathe1 und Mathe3 gelöst. In Mathe2 wirkt es auf mich bislang ein wenig bemüht. Allerdings muss man sich klarmachen, dass Lineare Algebra und Analysis unbedingte Voraussetzungen für die anwendungsbezogenen Themen Numerik, Grafik und Kryptik aus dem dritten Modul sind. Da muss man also einfach durch, auch wenn man zwischenzeitlich nicht sieht, was das genau mit Informatik zu tun hat.
     
    An den Präsenztagen werden üblicherweise Tutorien zur Mathematik angeboten. Die bezogen sich bislang immer auf das Modul Mathe2, es ging also um Analysis und/oder Lineare Algebra. Dies scheinen die Themen zu sein, die den Studierenden am meisten Mühe machen.
     
    Zu Statistik kann ich bislang noch nichts sagen, da ich dieses Modul noch nicht belegt habe.
     
    Die W3L muss damit zurechtkommen, dass die Studierenden mit recht unterschiedlichen Vorkenntnissen kommen. Es gibt Studierende mit Abitur, das im Idealfall noch nicht lange zurückliegt. Die finden insbesondere im Modul Mathe2 viel bekannten Stoff. Es gibt aber auch Studierende ohne Abitur, die z.B. nach einer Ausbildung zum Fachinformatiker studieren. Für die ist der in den Mathe-Modulen behandelte Stoff oft Neuland und die Bearbeitung ist entsprechend zeitaufwändiger. Es gibt aber auch Abiturienten, die sich mit den Mathe-Modulen schwerer tun, z.B. mit den Modulen Mathe1 und Mathe3. Weil dort nämlich Stoff behandelt wird, denn man aus der Schule in der Regel nicht kennt.
     
    Manche Studierende möchten die Mathe-Module einfach nur bestehen. Mathematik gilt als eines der Fächer, an denen sich entscheidet, ob man das Studium beenden kann. Viele Studierende sind daher der Meinung, dass man die Mathe-Module nicht vor sich herschieben sondern zügig angehen sollte. Wenn es schief geht, soll es bald schiefgehen, bevor man viel Zeit und Geld investiert hat.
     
    Aber natürlich gibt es auch Studierende, die die Mathematik-Module mit dem Ehrgeiz studieren, dort gute Leistungen zu erbringen. Mein bisheriger Eindruck ist: Die W3L hat ein Mathematik-Konzept, dass beiden Fraktionen etwas bietet. Wer die Klausuren einfach gerade so bestehen möchte, hat eine gute Chance, wenn er sich in der Vorbereitung auf bestimmte Grundlagen konzentriert, mit denen er relativ sicher Punkte holen kann. Wer wirklich gut abschneiden möchte, muss auch bereit sein, sich breiter vorzubereiten und etwas mehr Selbstständigkeit zeigen. Das betrifft hier vor allem den Bereich Bonuspunkte. Für die Präsenzklausuren ist die Stoffmenge ein bisschen eingeschränkt. Nicht alles, was im Kurs behandelt wird, kann auch in der Klausur drankommen. Das gibt den Leuten, die nur bestehen wollen, die Möglichkeit, sich bei der Vorbereitung ein bisschen zu spezialisieren. Bei den Abschlusstests kann aber ALLES drankommen und auch bei den Online-Klausuren wird breit geprüft. Wer also mit ein paar Bonuspunkten in die Abschlussklausur gehen möchte, der muss sich schon mit dem ganzen Stoff so auseinandersetzen, dass er sein Verständnis unter Beweis stellen kann.
     
    Mir gefällt, dass es hier ein Angebot gibt, aus dem Leute, die Mathematik mögen, etwas machen können; das aber auch Leuten, denen Mathematik nicht so leicht fällt, eine realistische Chance bietet, ihr Studium erfolgreich zu beenden und ihre Stärken in den anderen Bereichen auszuspielen.
     
    Bedenken muss man allerdings: Sowohl für die Web- und Medieninformatiker als auch für die Wirtschaftsinformatiker ist Mathematik Pflicht und die Module gehen genau wie alle anderen Module  in die Berechnung der Endnote ein.
     
    Abschließend möchte ich noch bemerken, dass die W3L ja mit der FH Dortmund zusammenarbeitet, die Mathematik-Module also FH und nicht Uni-Niveau haben. Gefragt ist also eher problemlösende Anwendung mathematischer Konzepte und weniger das Führen von Beweisen. Damit kann man eventuell in den Klausuren das letzte Quäntchen rausholen. Bestehen kann man aber auch, wenn man im Beweisen nicht so stark ist.
  16. kurtchen
    Seit neuestem ist es möglich, auch in Heidelberg Klausuren zu schreiben. Das liegt daran, dass der Springer Verlag eine Zweigniederlassung in Heidelberg hat. Der Klausurort ist darum auch das große Gebäude in der Tiergartenstraße 17.
     
    Klausuren in Heidelberg sind bis auf weiteres Freitags von 10 bis 12 und bei Bedarf von 13 bis 15 Uhr möglich. Samstags kann man in Heidelberg keine Klausuren schreiben.
     
    Wenn man mit dem Auto anreist, sollte man bedenken, dass der Verkehr sich morgens im Berufsverkehr stadteinwärts staut. Das kennt man auch von anderen Städten. Die Parksituation vor Ort ist gut. Springer hat einen großen Firmenparkplatz, den ich aber gar nicht nutzen musste, weil ich einen der zahlreichen öffentlichen und gebührenfreien Parkplätze einer nahe gelegenen Sportanlage nutzen konnte. Auch die Anreise mit öffentlichen Verkehrsmitteln scheint nach Auskunft eines Kommilitonen kein Problem zu sein.
     
    Beim Betreten des Gebäudes muss man sich am Empfang in eine Besucherliste eintragen und beim Verlassen des Gebäudes auch wieder abmelden. Das dauert einen Moment. Dafür ist der Klausurraum im Erdgeschoss nahe beim Eingang und nicht schwer zu finden. Wie an anderen Klausurorten üblich, werden Getränke und ein paar Süßigkeiten zur Verfügung gestellt.
     
    Ein großes Plus in Heidelberg ist die hervorragende Betriebskantine von Springer. Ob süß oder herzhaft, üppig oder gesundheitsorientiert, mit oder ohne Fleisch, hier ist für jeden etwas geboten. Ich hatte bei meinem ersten Besuch am Ende mehr auf dem Tablett, als ich mir vorgenommen hatte, weil so viele leckere Dinge lockten. So konnte ich gut gestärkt in meine zweite Klausur gehen.
     
    Schön am Standort Heidelberg ist auch, dass man dort Mitarbeiter von Springer Campus trifft, die unseren aber auch weitere Fernstudiengänge organisatorisch betreuen. Das ist eine schöne Gelegenheit zum informellen Austausch, über die aktuelle und künftige Situation unseres Studienganges. Es ist durchaus interessant zu erfahren, wie bestimmte Aspekte unseres Fernstudiums aus Anbietersicht wahrgenommen werden.
     
    Bislang nutzen nur wenige Studierende den  Klausurstandort Heidelberg. Allerdings weiß ich von Kommilitonen, dass trotz eindeutiger E-Mail-Einladung noch längst nicht alle mitbekommen haben, dass es diese neue Möglichkeit gibt. Ich glaube, dass Heidelberg vor allem für die Studierenden aus Baden-Württemberg eine interessante Alternative sein könnte. Aber nicht nur. Ich wohne in Unterfranken und möchte in Zukunft gerne öfter meine Klausuren in Heidelberg schreiben.
  17. kurtchen
    12:45 Uhr - Vortrag "Sicherheit im Internet"
     
    Der Vortrag hielt Prof. Rettinger von der FH Dortmund. Seine Lehrgebiete dort sind Grundlagen der Informatik und Compilerbau. Herr Rettinger hat Erfahrung mit Fernlehre, unter anderem weil er als Lehrbeauftragter für die Fernuni Hagen tätig ist. Bei Springer Campus betreut er künftig Grundlagen der Informatik 1 und 2, also die Einführungen in die strukturierte und objektorientierte Programmierung in Java. Herr Rettinger hat früher einmal im Bereich "Public Key Kryptographie" geforscht. Möglicherweise ist dies sein Bezug zum Thema des Vortrages. Dieses lautet...

    "Sicherheit im Internet. Eine kurze Einführung in die moderne Kryptographie"
     
    Der Vortrag begann mit einer alltäglichen Anwendungssituation im Internet, dem Abruf eines Wikipedia-Eintrages. Dabei wird eine HTML-Datei von einem Server per Internet auf den heimischen Laptop gesendet. Die Übertragung erfolgt mit den bekannten Protokollen, die aufeinander aufbauen.
    - Ethernet als Netzzugangsschicht
    - IP als Internetschicht
    - TCP als Transportschicht
    - HTTP als Anwendungsschicht
     
    3 Grundfragen der Sicherheit im Internet
     
    Im Hinblick auf die Sicherheit dieser Situation stellen sich folgende 3 Grundfragen:
    1. Wer sagt mir, dass am anderen Ende der Kommunikation wirklich ein Server der Wikipedia ist? Das ist das Problem der Authentizität.
    2. Liest jemand mit? Das ist das Problem der Vertraulichkeit.
    3. Ist der empfangene Inhalt manipuliert? Das ist das Problem der Integrität.
     
    Symmetrische Verschlüsselung
     
    Der klassische Ansatz wäre Verschlüsselung beim Sender, Entschlüsselung bei Empfänger. Dann kann ich Inhalt über einen unsicheren Kanal wie das Internet übertragen. Eine gängige Technik dazu wäre z.B. die Verschlüsselung mit AES. Verwendet man EINEN Schlüssel zum Ver- und Entschlüsseln, so spricht man von symmetrischer Verschlüsselung. Dabei treten 2 prinzipielle Probleme auf:
    1. Wie vereinbaren die Kommunikationspartner den gemeinsamen Schlüssel? Dazu bräuchten sie einen sicheren Kanal. Wenn sie den hätten, bräuchten sie nicht verschlüsseln. Tatsächlich ist das eine gängige Strategie. Beispielsweise verschicken Banken das Kennwort für den Zugang zum Online-Banking per Briefpost, in der Hoffnung, dass die Abhörsicherer ist als eine E-Mail.
    2. Die Anzahl der nötigen Schlüssel. Wollen 1000 Teilnehmer miteinander kommunizieren, müssen sie an die 500.000 Schlüssel vereinbaren. Bei einer Million Teilnehmern braucht man schon an die 500.000.000.000 Schlüssel.
     
    Um die genannten Probleme zu überwinden, hat man asymmetrische Verschlüsselungsverfahren entwickelt. Hier verwendet man unterschiedliche Schlüssel zum Ver- und Entschlüsseln. Davon später mehr.
     
    Einwegfunktionen
     
    Verschlüsselung basiert allgemein auf Einwegfunktionen. Eine Einwegfunktion ist eine Funktion, deren Umkehrung schwierig ist. Ein einfaches Beispiel für eine Einwegfunktion ist die Multiplikation von Primzahlen:
    - Das 143 das Produkt der Primzahlen 11 und 13 ist, errät man nicht so schnell.
    - Dagegen ist es sehr leicht, 11*13 zu rechnen.
    - Werden die Primzahlen größer, steigt die Schwierigkeit der Faktorisierung enorm. Man ist im wesentlichen auf rumprobieren angewiesen.

    Die Multiplikation von Primzahlen ist also eine Einwegfunktion, weil ihre Umkehrung, die Primfaktorzerlegung, schwierig ist.
     
    Prinzipiell immer möglich: Brute-Force-Angriffe
     
    Schwierig ist natürlich ein schwammiger Begriff. Möglich ist die Umkehrung einer Einwegfunktion prinzipiell immer, nämlich mit dem brute force Ansatz. Er besteht im Ausprobieren aller möglichen Schlüssel. Die in der Praxis relevante Frage ist, wie lange brute force Entschlüsselung dauert. Für die meisten Anwendungsfälle würde es reichen, wenn das Brechen der Verschlüsselung im Schnitt 50 Jahre dauert.
     
    Hat ein Schlüssel die Länge 500 Bit, so muss man im Schnitt 2 hoch 249 mögliche Schlüssel ausprobieren. Wir nehmen an, jedes Atom im Universum sei als Prozessor nutzbar. Man schätzt, dass es 10 hoch 85 Atome bzw. ungefährt 2 hoch 282 Atome gibt. Wir nehmen an, dass jedes Atom mit 1 PHz gtaktet wird. Für die Berechnung geben wir uns 1.000.000.000 Jahre. Dann können wir 2 hoch 387 Schritte ausführen. Das reicht bei weitem nicht, um den Schlüssel durch Ausprobieren zu finden. Man kann also sagen: Ist ein Schlüssel nur lang genug, so wird brute force Entschlüsselung praktisch unmöglich.
     
    Wichtige Einwegfunktionen sind z.B. Hashfunktionen. Diese dampfen in kurzer Rechenzeit große Datenmengen, z.B. komplette Internetseiten, auf einen kleinen Zahlenwert ein, den sogenannten Hashwert. Gängige Hashfunktionen sind SHA1 (gebrochen) und SHA256 (noch sicher).
     
    Primfaktorzerlegung: Grundlage des RSA-Verfahrens
     
    Für Verschlüsselung bedeutsamer sind Einwegfunktionen mit Hintertür (im englischen auch trap door also eigentlich Falltür). Sie verwenden 2 Schlüssel, einen zum Ver- und einen zum Entschlüsseln. Das sind also die oben genannten asymmetrischen Verschlüsselungsverfahren. Die beiden Schlüssel nennt man auch öffentlichen Schlüssel und privaten Schlüssel. Wichtig dabei ist: Es muss unmöglich sein, den privaten Schlüssel aus dem öffentlichen Schlüssel zu errechnen. Das nennt man Unabhängigkeit der Schlüssel. Ein bekanntes asymmetrisches Verschlüsselungsverfahren ist RSA. Es basiert auf der oben erwähnten Schwierigkeit der Primfaktorzerlegung.
     
    An dieser Stelle sei bemerkt: Die Schwierigkeit der Primfaktorzerlegung ist ein Erfahrungswert. Mathematiker versuchen sich seit langer Zeit an diesem Problem und konnten es bislang nicht in akzeptabler Zeit lösen. Es könnte natürlich sein, dass es ein schnelles Verfahren zur Primfaktorzerlegung gibt, das bislang nicht entdeckt wurde. In dem Fall wäre die Multiplikation von Primzahlen keine Einwegfunktion mehr und die darauf basierenden Verschlüsselungen leicht zu brechen.
     
    Auf die Details des RSA-Verfahrens gehe ich hier nicht länger ein, auch wenn sie im Vortrag kurz vorgestellt wurden. Knapp gesagt verschlüsselt man eine Botschaft M (message) mit einem Schlüssel e und erhält die verschlüsselte Botschaft C. C wird mit dem Schlüssel d entschlüsselt und man erhält wieder M.
     
    Die Grundidee lieferten im Jahr 1975 Merkle, Hellman und Diffie. 1978 wurde das eigentliche RSA Verfahren am MIT von Rivest, Shamir und Adleman entwickelt. Ihre Initialen wurden namensgebend. Kurios ist, dass diese zentrale Methode 20 Jahre vor dem eigentlichen, massenhaften Durchbruch des Internets entwickelt wurde.
     
    Problem: Authentizität
     
    Kehren wir zurück zu unserem ursprünglichen Anwendungsfall, dem Abruf einer Wikipedia-Seite. Wikipedia hat einen privaten und einen öffentlichen Schlüssel. Wikipedia könnte meinen öffentlichen Schlüssel kennen, z.B. weil ich ihn bei Aufnahme der Kommunikation genannt habe. Wikipedia verschlüsselt damit eine Seite und schickt sie mir über den unsicheren Kanal Internet. Ich kann die Seite nun mit meinem privaten Schlüssel entschlüsseln. Wer meinen privaten Schlüssel nicht kennt, kann nicht entschlüsseln. Die Vertraulichkeit der Nachricht ist also gewährt. Nicht gewährt ist allerdings die Authentizität. Ein anderer Akteur könnte eine gefälschte Wikipedia-Seite mit meinem öffentlichen Schlüssel verschlüsseln und mir senden. Ich könnte mit meinem privaten Schlüssel entschlüsseln, würde aber nicht bemerken, dass mir eine falsche Seite untergeschoben wurde.
     
    Hybride Verschlüsselung
     
    Ein weiteres Problem von RSA: Diese Art der Verschlüsselung ist langsam. Darum nutzt man RSA lediglich, um mit asymmetrischer Verschlüsselung einen symmetrischen Schlüssel zu vereinbaren, den man im folgenden benutzt. Das nennt man dann hybride Verschlüsselung. Als symmetrisches Verfahren verwendet man z.B. AES. Das ist sehr schnell und oft in Hardware implementiert. 
     
    Unser Netzwerkstack sieht nun so aus:
    - Ethernet als Netzzugangsschicht
    - IP als Internetschicht
    - TCP in Verbindung mit SSL/TLS als Transportschicht
    - darauf aufbauend HTTPS als Anwendungsschicht
     
    Problem: Echtheit öffentlicher Schlüssel
     
    Auch aus Sicht des Senders Wikipedia gibt es ein Problem. Meinen öffentlichen Schlüssel habe ich über das Internet bekannt gemacht. Natürlich könnte jemand anderes Wikipedia einen falschen öffentlichen Schlüssel unterschieben. Wikipedia würde die Seite dann nicht für mich sondern für einen anderen Akteur verschlüsseln. Wie kann der Sender wissen, dass der öffentliche Schlüssel echt ist?
     
    Die Lösung für dieses Problem ist eine vertrauenswürdige Instanz. Man nennt sie Zertifizierungsstelle. Diese hat ebenfalls einen öffentlichen und einen privaten Schlüssel. Die Zertifizierungsstelle verschlüsselt den öffentlichen Schlüssel des Senders mit ihrem privaten Schlüssel. Ich entschlüssele mit dem öffentlichen Schlüssel der Zertifizierungsstelle und erhalte den öffentlichen Schlüssel des Senders. Diesen kann ich vergleichen mit einem mir bekannt gemachten öffentlichen Schlüssel. Stimmen beide überein, ist der mir bekannt gemachte Schlüssel echt. Die Zertifizierungsstelle kann also öffentliche Schlüssel beglaubigen.
     
    Die künftige Sicherheit der Kommunikation im Internet wird von verschiedenen Grundproblemen bedroht. Das erste war bereits erwähnt:
     
    1. Wie schwer ist Faktorisierung wirklich?
     
    Oben war erwähnt, dass brute force bei hinreichend langem Schlüssel unmöglich ist. Es gibt aber zur Primfaktorzerlegung bessere Verfahren als brute force. Die Rechenleistungen steigen. Darum empfehlen Institutionen wie das BSI ständig längere Schlüssel. Für RSA gelten 1900 Bit als minimum, bis 2016 wurden 2000 Bit empfohlen und ab 2016 sogar 3000 Bit. An dieser Stelle muss man sich noch einmal klar machen, das jedes zusätzliche Bit die Anzahl möglicher Schlüssel verdoppelt.
     
    MIt Elliptische Kurven steht ein alternative Ansatz im Hintergrund bereit. Dieser wird praktisch nicht genutzt, weil er sehr rechenaufwendig ist. Außerdem ist unklar, wie sicher elliptische Kurven wirklich sind. Bei der Faktorisierung weiß man, dann man sie seit langer Zeit erfolglos versucht. Elliptische Kurven sind noch nicht so gut erforscht. Mag sein, dass unerwartet schnelle Umkehrungen entdeckt werden.
     
    2. Implementierungsprobleme
     
    i. Gebrochene Verschlüsselung basiert oft auf mangelnden Implementierungen, z.B. auf mangelnder Zufälligkeit.
    ii. Auch Protokolle sind ein häufiger Angriffspunkt, z.B. die Einigung auf ein Verschlüsselungsverfahren und die Methode des Schlüsseltausches.
    iii. Betriebssysteme halten viele Daten in Zwischenspeichern. Manche Verfahren zur Überwindung von Verschlüsselung basieren darauf, den Hauptspeicher eines Rechners auszulesen. Aus dem Speicherinhalt probiert man mögliche Passwörter. Das reduziert die Anzahl der möglichen Schlüssel erheblich.
    iv. Zertifizierungsstellen arbeiten nicht immer sauber.
    v. SSL/TLS sind auf Betriebssystem-Ebene implementiert. Der Browser vertraut dem OS. Hier ist eine Eingriffmöglichkeit.
     
    3. Quantencomputer
     
    Die ultimative Bedrohung für die aktuellen Verschlüsselungsverfahren sind Quantencomputer. Sollten sie verfügbar werden, könnten RSA und auch bekannte Alternativen wie elliptische Kurven gebrochen werden. Bislang erweist sich die Konstruktion von Quantencomputern aber als schwierig.
     
    Absolute Sicherheit
     
    Absolute Sicherheit versprechen 2 Ansätze
     
    1. One-Time-Pad
     
    Dieser Ansatz ist theoretisch perfekt und praktisch irrelevant. Man wählt einen zufälligen Schlüssel, der so lang wie die Botschaft sein muss und nur ein Mal verwendet werden darf. Diesen nimmt man zum Ver- und Entschlüsseln. Das Verfahren ist praktisch nicht nutzbar, weil man einen sicheren Kanal braucht, um diesen Schlüssel zu vereinbaren. Wenn ich einen Schlüssel von der Länge der Nachricht sicher vereinbaren könnte, so könnte ich auch gleich die Botschaft senden und bräuchte keine Verschlüsselung. (Wollen zwei Partner die Vertraulichkeit ihrer Kommunikation zu sichern, könnte man sich die Anwendung etwa so vorstellen. Man trifft sich einmalig und bespielt zwei Festplatten mit einer identischen, zufällig erzeugten Bitfolge, die mehrere Terrabyte lang ist. Die Partner trennen sich räumlich. In der folgenden Kommunikation verschlüsseln und entschlüsseln sie mit dieser Bitfolge, bis die gesamte Bitfolge konsumiert ist. Die Gefahr: Diese Bitfolge darf nicht in falsche Hände geraten. Sie muss sicher transportiert und aufbewahrt werden.)
     
    2. Quanten-Kryptographie
     
    Sie arbeitet mit verschränkten Quanten. Misst man den Zustand verschränkter Quanten an zwei Orten, so erhält man gleiche Ergebnisse. Man kann so eine zufällige Bitfolge vereinbaren. Da jede Messung den Zustand verändert, würde ein Mithören sofort bemerkt. Die Partner hätten dann nämlich keinen gemeinsamen Schlüssel mehr und könnten gar nicht kommunizieren. In der praktischen Implementierung gilt Quanten-Kryptgraphie als noch nicht sicher.
     
    Fazit
     
    Soweit die Inhalte des Vortrages von Herrn Rettinger, die ich hier aus dem Gedächtnis und auf Grundlage meiner Notizen wiedergegeben habe. Studierenden, die das Modul "IT-Sicherheit" schon hinter sich haben, dürften die meisten Inhalte bekannt gewesen sein. Sie sollten insbesondere auch deutlich mehr über die mathematischen Grundlagen und die Abläufe im Detail wissen. Allerdings erodieren solche Kenntnisse schnell, wenn sie nicht regelmäßig angewendet werden, wie ich beim Hören des Vortrages bemerkt habe. Insofern war der Besuch des Vortrages in jedem Fall lohnend. Für Studierende, die "IT-Sicherheit" noch vor sich haben, war es ein guter Einstieg ins Thema.
     
    Zum Thema Quanten-Kryptographie sei noch auf diese aktuelle Meldung verwiesen:
    Wissenschaftler kommunizieren quantenverschlüsselt
     
    Möglicherweise rückt die praktische Anwendung also näher als man denkt.
     
    Sehr empfehlenswert finde ich zu diesem Thema auch das Hörbuch "Spukhafte Fernwirkung" aus dem kleinen aber feinen Verlag supposé. Hier erzählt der Physiker Anton Zeilinger ca. 100 Minuten lang über Quantenphysik und spannt am Ende den Bogen zur praktischen Anwendung Quanten-Kryptographie. Das Hörbuch ist ein paar Jahre alt, aber für einen Einblick ins Thema noch immer hervorragend geeignet.
     
    Mathe-Tutorium
     
    Parallel zum Vortrag von Herrn Rettinger fanden die üblichen Mathe-Tutorien mit den Themen "Lineare Algebra" und "Analysis" statt. Die sind üblicherweise gut besucht, denn der Stoff des Moduls Mathe2 ist erfahrungsgemäß für viele Studierende herausfordernd, insbesondere für Studierende ohne Abitur, aber auch für diejenigen, deren Abitur länger zurück liegt. Da ich diesen Teil meines Studiums schon hinter mir habe, habe ich diesmal an den Tutorien nicht teilgenommen.
     
    Zum neuen Studiengang "Elektrotechnik"
     
    Mitarbeiter von Springer Campus standen für Fragen zu den Studiengängen Chemie, Biologie und Elektrotechnik bereit. Als Studierender im Studiengang Web- und Medieninformatik interessierte mich vor allem, ob denkbar sei, einzelne Module aus dem E-Technik-Studium als Ergänzungsmodule zum Informatikstudium zu belegen. Aus meiner Sicht könnten folgende Module aus dem Curriculum des Studiengangs Elektrotechnik auch für Informatiker interessant sein:
    - Programmierung eingebetteter Systeme (hier käme es freilich darauf an, wie hardwarelastig das Modul konzipiert ist)
    - Maschinelles Lernen (insbesondere weil im Curriculum der Informatik-Studiengänge bislang kein KI-Modul zur Verfügung steht)
    - Bildverarbeitung
     
    Zum gegenwärtigen Zeitpunkt kann man über solche Möglichkeiten der Verknüpfung der Curricula noch nichts sagen. Der Studiengang Elektrotechnik ist im Aufbau. Bislang gibt es nur wenige Studierende und viele Module sind noch nicht fertig. Ähnlich wie in den Fernstudiengängen Biologie und Chemie richtet sich auch Elektrotechnik an Studierende mit einschlägiger Berufsausbildung, um die praktischen Teile eines E-Technik-Studiums abzudecken. Präsenzen spielen in diesem Studiengang natürlich eine Rolle. Vielleicht gibt es zu einem späteren Zeitpunkt eine Möglichkeit, dass Informatik-Studenten von einzelnen Modulen aus dem E-Technik-Studium profitieren können.
     
    Das "Drumherum" eines Präsenztages
     
    Ein Präsenztag ist natürlich mehr als die Summe der gebotenen Veranstaltungen. Zunächst ist ein Präsenztag immer auch Prüfungstag. Viele Studierende bringen ihre Prüfungen schon am Anreisetag Freitag hinter sich und können den Samstag dann genießen. Aber manche müssen noch am Samstagmorgen in den Klausuren schwitzen. Ich hatte es zum Glück auch schon am Freitag hinter mich gebracht und konnte dann am Samstag gemütlich frühstücken. Interessant und nützlich ist natürlich auch immer der allgemeine Austausch mit anderen Studierenden: Über belegte Module, Prüfungen, Zeitplanung im Studium, sinnvolle Modulkombinationen und andere Themen, die im Leben eines Fernstudenten eine Rolle spielen. Das allgemeine "Hallo" macht natürlich abgesehen vom Nutzen auch Spaß, denn meistens kämpfen wir ja alleine. Schön ist auch, dass die Mitarbeiter von Springer Campus immer wieder den Kontakt zu den Studierenden suchen und an Rückmeldungen sichtlich interessiert sind. Der nächste Präsenztag ist am 10.03.2018. Ich komme gerne wieder.
  18. kurtchen
    Zur Rolle des Moduls im Studiengang

    Das Modul "Business Intelligence" ist ein Pflichtmodul für Studierende im Studiengang "B.Sc. Wirtschaftsinformatik". Dort ist es auch dem Studienbereich "Wirtschaftsinformatik" zugeordnet. Studierende der "Web- und Medieninformatik" dürfen es im Vertiefungsbereich belegen. Den Wirtschaftsinformatikern wird empfohlen, dieses Modul zusammen mit "Human Resources" und einem weiteren Wahlpflichtmodul im 6. Fachsemester zu belegen. Es ist also vorgesehen, dieses Modul im gleichen Semester zu bearbeiten wie die Bachelorarbeit. Dies erklärt vielleicht den vergleichsweise niedrigeren Bearbeitungsaufwand.
     
    Formale Voraussetzungen gibt es keine, so dass das Modul theoretisch auch schon im ersten Fachsemester gebucht werden dürfte. Als inhaltliche Voraussetzungen werden "Data Warehouse & Data Mining" sowie "BWL2" genannt. Dies erscheint mir sinnvoll. Business Intelligence hat eine große inhaltliche Überlappung mit dem Modul Data Mining, nimmt aber noch stärker eine betriebswirtschaftliche Perspektive ein. Mehr noch als im Modul Data Mining liegt also der Fokus darauf, wie man Methoden der Business Intelligence für den Erfolg eines Unternehmens nutzen kann. Die Implementierung dieser Methoden in einer konkreten Programmiersprache ist nicht Thema des Moduls. Es betrachtet Business Intelligence aus Anwender- bzw. Nutzerperspektive. Das Modul Data Mining ist eine nützliche Vorbereitung, weil man dadurch schon viel über die Funktionsweise analytischer betrieblicher Informationssysteme (im Vergleich zu operativen Systemen) weiß. BWL2 ist nützlich, weil es viele inhaltliche Bezüge zwischen dem Lehrbuch zur Unternehmensführung aus BWL2 und den Methoden der Business Intelligence gibt.
     
    Zum Lehrbuch
     
    Das Lehrbuch "Basiswissen Business Intelligence" ist von Christoph Engels und lag mir in der 2. Auflage von 2015 vor. Es hat nur ca. 150 Seiten, gehört aber zu den Lehrbüchern mit kleinerer Schrift und engerem Druck, was die Seitenzahl etwas relativiert. Der Stoffumfang erscheint mir im Vergleich zu anderen Modulen geringer. Allerdings ist das Buch ziemlich dicht geschrieben und treibt sein Thema konsequent voran. Viel Redundanz gibt es hier nicht. Es ist in drei Teile gegliedert:
    Die betriebswirtschaftliche Sicht Die Methoden der Business Intelligence Die Werkzeuge der Business Intelligence  
    Teil 1 beginnt mit einem Kapitel zur "multidimensionalen Perspektive". Hier geht es im wesentlichen um den Unterschied zwischen operativen und analytischen Informationssystemen. Operative Systeme sind z.B. durch häufige Schreibzugriffe und eine starke Datensatzorientierung ausgezeichnet. Sie unterstüzten die alltäglichen Geschäftsprozesse des Unternehmens. Ein Beispiel für ein operatives Informationssystem wäre z.B. ein Bestellsystem. Analytische Informationssysteme verdichten Daten aus operativen Systemen (und anderen Quellen), um Führungskräfte bei unternehmerischen Entscheidungen zu unterstützen. Sie helfen also z.B. bei der Steuerung des Unternehmens und bei der Planung.
     
    Weitere Kapitel behandeln Kennzahlensystem, Performance Management, Planungskoordination, externes Rechnungswesen, Konzernkonsolidierung, Zielkostenrechnung und Kampagnen. Das Tempo in diesen Kapiteln ist hoch und der Stoff geht nicht in die Tiefe, behandelt also z.B. keine Spezialfälle. Die Intention scheint vielmehr zu sein, einem Überblick über mögliche Anwendungskontexte von Business Intelligence zu vermitteln. Um die allgemeinen Konzepte bildlicher und konkreter werden zu lassen, werden sie gelegentlich durch Beispiele aufgelockert. Diese stammen vor allem aus der Tourismusbranche. Solche Fallbeispiele werden in den folgenden Teilen des Lehrbuches häufiger und umfangreicher. Touristik bleibt dabei das gemeinsame Thema.
     
    Teil 2 behandelt Methoden der Business Intelligence. Hier geht es zunächst um klassisches Reporting und im Kontrast dazu OLAP (Online Analytical Processing). Für OLAP wird ein multidimensionaler Datenwürfel aufgebaut, der durch die grundlegenden Operationen Slicing, Dicing und Drill down unmittelbar erkundet und untersucht werden kann, um in den aggregierten Daten operativer Systeme unbekannte Zusammenhänge und Muster zu entdecken, die sich unternehmerisch nutzen lassen. Die verschiedenen Nutzungsszenarien stehen im Fokus dieses Kursteils. So wird beispielsweise vorgestellt, wie sich Lift Charts nutzen lassen, um bei Werbekampagnen einen effizienten Werbemitteleinsatz zu erzielen. Wichtig ist auch die Arbeit mit Szenarios. Hierbei unterscheidet man zwischen Predictive Analytics und Prescriptive Analytics. Während man mit Predictive Analytics künftige Situationen anhand bisheriger Entwicklungen vorhersagen möchte, zielt Prescriptive Analytics auf einen künftig wünschenswerten Zustand und wie dieser zu erreichen wäre. Die Fallbeispiele aus der Touristik werden nun umfangreicher und unterstüzten das Verständnis der Konzepte gut. Kapitel zur Visualisierung und zur Präsentation aggregierter Unternehmensinformation in Form von Geodaten runden diesen Kursteil ab. An diesem Punkt hat man eine Vorstellung davon, welche Methoden der Business Intelligence zu den einzelnen Anwendungskontexten des ersten Kursteils passen.
     
    Im Teil 3 geht es dann stärker um die technische Seite der vorgestellten Methoden. Interessant war zum Beispiel das Kapitel über In-Memory Computing in Verbindung mit Kompressionsverfahren, über hybride Datenhaltung (mit spaltenorientierten Datenbanken) und Parallelverarbeitung. Diese Techniken beschleunigen die Analyse aggregierter Unternehmensdaten enorm, so dass man Methoden der Business Intelligence zunehmed in Echtzeit anwenden kann. In den folgenden Kapiteln wird es formaler und theoretischer, denn nun geht es z.B. um multidimensionale Datenmodelle und ihre Realisierung mit verschiedenen Datenbanktypen. Hier spielt auch formale Notation eine große Rolle.
     
    In den letzten Kapiteln wird es wieder konkret. Hier wird die Arbeit mit einem OLAP-System im Text und durch Videos vorgestellt. Ein Fallbeispiel zum Data Warehouse der TUI rundet diesen Kursteil ab.
     
    Einsendeaufgaben
     
    Die Einsendeaufgaben erschienen mir oft recht knapp, konzentrierten sich aber das das wesentliche des vermittelten Stoffes. Man konnte mit ihnen also feststellen, ob man das jeweilige Kapitel verstanden hatte. Die Aufgabentypen waren so unterschiedlich wie der vermittelte Stoff: Konzepte erklären, unternehmerische Situationen einordnen, kleine Rechenaufgaben, Zeichnen von Diagrammen. Sie passten gut zu den Inhalten. Für meinen Geschmack hätte es aber etwas mehr sein dürfen. Interessant waren die letzten Aufgaben. Diese ergänzten die Videos zur Arbeit mit einem OLAP-System. Hier musste man Verständnisfragen beantworten. Dabei musste ich oft zurückspulen, um genauer zu sehen, was der User macht. Nicht selten habe ich bei der Bearbeitung feststellen müssen, dass ich beim ersten Zuschauen doch noch nicht ganz begriffen hatte, was dort ablief. Diese Aufgaben waren etwas umfangreicher und zwangen einen, genauer hinzuschauen. Mein Tutor äußerte in diesem Zusammenhang, dass mittlerweile auch brauchbare Open Source Werkzeuge verfügbar seien, so dass man künftig die Videos durch praktische Übungen an entsprechenden Systemen ersetzen könnte. Schade, dass das noch nicht so weit ist, denn die Idee finde ich gut.
     
    Die Korrekturen kamen schnell, was die zügige Bearbeitung des Moduls erleichterte. Die Rückmeldungen durch meinen Tutor hätten zum Teil ausführlicher ausfallen dürfen. Aber wenn ich einmal etwas nicht verstanden und konkret nachgefragt hatte, bekam ich stets Antworten.
     
    Präsenzklausur
     
    Die Klausur hatte 10 Aufgaben, die Stoff aus allen Kursteilen abdeckten. Die Aufgabentypen waren dabei recht unterschiedlich. Es gab reine Wissenfragen, Aufgaben, bei denen man etwas erklären sollte, Zuordnungsaufgaben, Aufgaben zur multidimensionalen Modellierung und kleinere Rechenaufgaben. (Bei der Klausur ist kein Taschenrechner erlaubt.) Insgesamt war es eine recht abwechslungsreiche Klausur, die gut zum Modul passte.
     
    Fazit
     
    Wirtschaftsinformatik ist ein Thema, mit dem ich nicht sofort warm geworden bin. Ursprünglich hatte ich das Modul Data Mining belegt. Dabei hatte ich mir erhofft, in erster Linie etwas über mathematische und statistische Grundlagen des Data Minings und ihre Implementierung in Code zu erfahren. Stattdessen nahm das Modul aber eine betriebswirtschaftliche Perspektive ein, was mir anfangs gar nicht gefiel. Im Laufe der Zeit merkte ich aber, dass die Wirtschaftsinformatik eine eigene fachliche Perspektive hat, die auch interessant ist. Darum war ich damals neugierig, auch noch das Modul Business Intelligence zu belegen, das noch einen Schritt weiter in diese Richtung geht.
     
    Meine Leidenschaft für Wirtschaftsinformatik habe ich noch nicht entdeckt, aber es war bereichernd, hier noch einmal einen Blick über meinen persönlichen Tellerrand werfen zu können. Gleichwohl vermute ich, dass angehende Web- und Medieninformatiker dieses Modul seltener wählen werden. Für die Wirtschaftsinformatiker ist es ja ohnehin Pflicht. Für die Zukunft wäre es wünschenswert, interaktive Übungen mit einem freien OLAP-System in das Modul aufzunehmen.
  19. kurtchen
    Das Modul "Mobile Computing" kann als eines von drei Vertiefungsmodulen im Studiengang Web- und Medieninformatik gewählt werden. Springer Campus schlägt vor, es in den letzten beiden Semestern zu belegen.
     
    Gleich vier Module werden als sinnvolle Vorbereitung genannt:
    - Grundlagen der Informatik 1
    - Grundlagen der Informatik 2
    - Web-Programmierung
    - Web-Design und Web-Ergonomie

    Der Grund dafür ist der siebte Kursabschnitt "Programmierung für mobile Endgeräte", der eine Einführung in die Android-Programmierung gibt. Um hier folgen zu können, benötigt man Grundkenntnisse der objektorientierten Programmierung in Java. Die Layouts für die GUIs werden mit XML beschrieben. Darum sind Vorkenntnisse in Web-Programmierung von Vorteil.
     
    Für Studierende im Studiengang "Wirtschaftsinformatik" ist "Mobile Computing" ein Pflichtmodul und wird dem Studienbereich "Grundlagen der Informatik" zugerechnet. Für die Web- und Medieninformatiker gibt es zwei gute Gründe, ausgerechnet dieses Modul als Vertiefung zu belegen: Es ist Pflichtmodul für die Hochschulzertifikate "Anwendungs-Programmierer" und "Software-Architekt", die als Meilensteine auf dem langen Weg zum Bachelor dienen können.
     
    Ich persönlich hätte erwartet, dass es in diesem Modul vorwiegend um Android-Programmierung gehen würde. Tatsächlich nimmt diese aber nur einen relativ kleinen Teil des Kurses ein. Hier wird eher ein Einblick gegeben, der meiner Meinung nach noch nicht ausreicht, um wirklich loszulegen. Es ist allenfalls ein Einstieg und man wird auf jeden Fall vertiefende Literatur benötigen, um Fortschritte zu machen. Tatsächlich geht es in diesem Modul allgemein um mobile Rechner, die vernetzt sind und standortbezogene Informationen einbeziehen. Das Smartphone ist dafür nur das prominenteste Beispiel.
     
    Mobile Computing ist etwas schneller durchgearbeitet als andere Module bei Springer Campus. Das Lehrbuch hat lediglich 200 Seiten, wenngleich diese ein bisschen größer ausfallen als bei anderen Lehrbüchern und auch ein bisschen enger bedruckt sind. Das Lehrbuch wird ergänzt durch 84 Tests und 12 Einsendeaufgaben, von denen lediglich eine mit Android-Programmierung zu tun hat. Die meisten Aufgaben haben eine Art Aufsatzform. Es sind oft Texte bei denen man etwas abwägen muss. So soll man z.B. entscheiden, ob man für einen bestimmten Einsatzzweck einem Android- oder IOS-Gerät den Vorzug geben würde, ob man ein bestimmtes Projekt nativ oder plattformübergreifend entwickeln würde oder was für Sicherheitsmaßnahmen man für die Handynutzung eines hochrangigen Politikers für nötig erachtet. Diese Art der Aufgaben, bei denen man in erster Linie Text produziert, fällt etwas aus dem Rahmen, den ich im Studium sonst gewohnt bin. Die Rückmeldungen meines Tutors kamen in diesem Modul sehr zügig.
     
    Die 7 Kapitel decken folgende Themen ab:
    1. Was ist mobile Computing? Hier geht es auch um technische Meilensteine auf dem Weg zum mobile Computing.
    2. Mobile Geräte. Hier werden verschiedene Mobiltelefon-Plattformen vergleichend betrachtet. Obwohl die zweite Auflage des Lehrbuches von 2015 ist, merkt man hier deutlich, dass der Markt sich rasant weiterentwickelt. So werden z.B. die Vorzüge von Blackberry diskutiert, was ja mittlerweile Geschichte ist.
    3. Hardware für mobile Geräte: Hier erfährt man etwas über die Besonderheit von Prozessoren für mobile Geräte, aber auch über Akkutechnik und Grafikhardware.
    4. Drahtlose Kommmunikation: Hier beschäftigt man sich mit verschiedenen Mobilfunkstandards, mit Formen der Modulation und des Multiplexings, mit WLAN, Bluetooth aber auch mit Nahfeldkommunikation mit RFIDs.
    5. Location Based Services: Hier geht es um verschiedene Verfahren der Positionsbestimmung per Satellit (GPS) oder gestützt durch stationäre Netze (Handynetze oder auch WLAN-Accesspoints). Außerdem geht es um Techniken zur Positionsbestimmung in Gebäuden.
    6. Sicherheit für mobile Geräte und mobile Kommunikation: Aus meiner Sicht das interessanteste Kapitel. Hier werden verschiedene Bedrohungsszenarien für mobile Geräte vorgestellt und die Wirksamkeit von Gegenmaßnahmen erörtert.
    7. Programmierung für mobile Endgeräte: Ich hätte erwartet, dass es nun endlich um Android-Programmierung geht. Aber hier spielten zum Beispiel auch Besonderheiten des UI-Designs für mobile Geräte eine größere Rolle, unabhängig von bestimmten Platformen. Im Schnelldurchgang lernt man dann, wie man ein einfaches GUI programmiert, Positionsbestimmung nutzt und Google Maps in eine eigene Applikation einbindet. Auch persistente Datenspeicherung - unter anderem mit SQLite - wird knapp behandelt.
     
    Obwohl ich noch nicht weiß, wie ich in der Klausur abgeschnitten habe, würde ich sagen, dass dies einer der leichtesten Kurse im Angebot von Springer Campus ist. Das berichten mir auch immer wieder Kommilitonen. Mobile Computing gilt als ein Modul, mit dem man seinen Notendurchschnitt etwas verbessern kann. Bei mir hinterlässt das Modul einen gemischten Eindruck. Viele Inhalte könnten einem durchaus geläufig sein, wenn man regelmäßig Meldungen bei Heise oder Golem verfolgt. Mir fehlte hier das Erlebnis, ab und zu auch mal eine richtige harte Nuss knacken zu müssen.
     
    Auch die Abschlussklausur fiel etwas aus dem Rahmen. Sie besteht aus ungewöhnlich vielen Fragen, bei denen in erster Linie Faktenwissen abgeprüft wird. Selbstständiges Problemlösen steht bei dieser Klausur nicht im Mittelpunkt. Kann man so machen, aber ich persönlich bevorzuge Aufgaben, bei denen mehr Kreativität gefragt ist.
     
    Weil ich es insgesamt ein bisschen zu einfach fand und mir die echte Herausforderung fehlte, würde ich dieses Modul nur solchen Studierenden empfehlen, die - so wie ich - eines der Hochschulzertifikate als Etappenziel und kleinen Motivationskick in den Händen halten wollen. Wer eine gründliche Einführung in die Android-Programmierung sucht, wird sich an anderer Stelle umsehen müssen.
     
    Wegen Umfang, Schwierigkeitsgrad und dem sehr hohen Rückmeldetempo des Tutors ist Mobile Computing ein Modul, dass man sich für Situationen aufsparen könnte, in denen die Zeit fürs Studium knapp ist und man trotzdem zum nächsten Prüfungstermin noch etwas abschließen möchte. Solche Situationen, in denen Arbeit oder Familienleben einem kaum Zeit zum Studieren lassen, kennt wohl jeder Fernstudent. Da ist es vielleicht ganz schön, wenn es im Studium auch ein Modul gibt, dass man sozusagen "als Joker" spielen kann.
  20. kurtchen
    Das Modul "Computernetze" wird der Fachgruppe "IT-Systeme" zugerechnet. Für Studierende im Studiengang "Web- und Medieninformatik" ist es Pflicht. Die angehenden Wirtschaftsinformatiker können es als Wahlpflichtmodul belegen. Formal betrachtet gibt es keine Teilnahmevoraussetzungen. Empfohlen wird ein grundlegendes Verständnis von IT-Systemen und Informationsarchitekturen.
     
    Meiner Meinung nach lässt sich ein solches Verständnis gut mit dem Modul "Rechnerstrukturen und Betriebssysteme" aufbauen. Dies sollte nach empfohlenem Studienplan im 1. Semester belegt werden. Computernetze ist dann schon für das 2. Semester vorgesehen. Ich finde die beiden Module ähneln einander. In beiden Fällen sieht das Lehrbuch recht dünn aus. Beim Durcharbeiten merkt man dann, dass es sehr komprimiert geschrieben ist. Jeder Satz hat es in sich. Man kommt also beim Bearbeiten langsamer voran als bei anderen Modulen, die auf den ersten Blick umfangreicher wirken.
     
    Der Stoff ist - wie bei Rechnerstrukturen - zunächst einmal recht trocken und formal. Man verbringt viel Zeit damit, z.B. den bitweisen Aufbau von Headern zu verstehen, ohne an diesem Punkt zu ahnen, wozu das gut sein wird. Man muss sich auch bei diesem Modul durch einige Kapitel beißen, die die nötigen Voraussetzungen für späteres Verständis schaffen. Das macht es manchmal schwierig, die Studienmotivation aufrecht zu erhalten. Der Stoff dieses Kurses ist im Vergleich zu anderen Modulen recht technisch und formal.
     
    Das verwendete Lehrbuch "Technische Grundlagen von Computernetzen" ist von Patrick-Benjamin Bök und Andreas Noack. Es hat ca. 270 Seiten, die aber recht eng bedruckt sind und auch die Schriftgröße ist etwas kleiner als bei der W3L üblich. Lasst euch also von der Seitenzahl nicht täuschen. Das ist kein Modul, das man nebenbei belegt. Das Buch enthält viele Abbildungen, häufig schematische Darstellungen des Aufbaus von Headern oder an Graphen erinnernde Darstellungen der Topologie von Netzen. Der inhaltliche Aufbau ist wie folgt:
    - (technische) Grundlagen
    - Kommunikation auf physikalischer Ebene
    - Kommunikation auf logischer Ebene
    - Kommunikation auf Anwendungsebene
    - Performance Engineering
     
    Die Grundidee ist also, sich von der Übertragung einzelner Bits (z.B. über einen Kupferdraht) Stufe für Stufe zu immer komplexeren Protokollen hochzuarbeiten, die aufeinander aufbauen oder präsizer ineinander geschachtelt sind wie Zwiebelschalen. So landet man am Ende bei Themen wie Voice-over-IP.
     
    Es gibt Lehrbücher, die den umgekehrten Weg gehen, also von den Protokollen höherer Stufen hinabsteigen zur Bitübertragungsschicht. Der Ansatz, den die Autoren gewählt haben, scheint der gängige zu sein. Er hat für mich auch gut funktioniert, weil man an jedem Punkt versteht, auf welchem Fundament man ruht. Der Nachteil dieses Ansatzes ist, dass man viel Stoff lernen muss, bevor man schließlich mit etwas zu tun bekommt, das man aus eigener Alltagserfahrung kennt, z.B. der Übetragung einer Webseite per HTTP oder einer E-Mail per IMAP.
     
    Ziemlich zu Beginn des Kurses werden zwei Referenzmodelle eingeführt, das ISO/OSI-Modell und das TCP/IP-Referenzmodell. An ihnen verdeutlicht man sich die schichtweise Struktur der aufeinander aufbauenden Protokolle. Diese Modelle tauchen im Verlauf des Kurses immer wieder auf, um zu zeigen, wo im Schichtenmodell der gerade behandelte Stoff angesiedelt ist. Dies ist nützlich, um bei der Auseinandersetzung mit den vielen technischen Einzelheiten nicht den Überblick zu verlieren: Worauf baut das aktuelle Thema auf? Und worauf läuft es hinaus? Gerade bei diesem Modul ist es leicht, den Kompass zu verlieren. Die wiederkehrenden Verweise auf das Schichtenmodell sollen dem vorbeugen. Für mich hat das gut funktioniert.
     
    Gleichwohl musste ich mich immer wieder damit abfinden, vieles zunächst einmal nur halb zu verstehen. Das Lehrbuch war so geschrieben, dass ich das WAS und das WIE meist gut nachvollziehen konnte. Aber das WOZU, das mir auch geholfen hätte, den Stoff für mich einzuordnen und mir besser zu merken, musste manchmal vorläufig im Dunkeln bleiben. Mein Eindruck ist: Das ist kein Versäumnis der Autoren sondern der Struktur des Stoffes geschuldet. Netze entwickelten sich über die Zeit, es wurden neue Protokolle auf vorhandene Protokolle aufgesetzt. Man muss also ein Stück weit diesen historischen Entwicklungsprozess nachvollziehen.
     
    Die Online-Tests waren zum Teil etwas spitzfindig formuliert, was mich aber zwang, den Stoff der einzelnen Wissensbausteine noch einmal genauer durchzuarbeiten. Die Aufgaben waren anders, als ich erwartet hatte. Kommilitonen, die eine frühere Version dieses Moduls belegt hatten, hatten mir berichtet, dass vor allem Wissen abgefragt würde. In der aktuellen Auflage des Kurses geht es eher darum, die gelernten Konzepte anzuwenden.
     
    Man sollte z.B. zeigen, wie mit dem Spanning Tree Protocol redundante Pfade aus einem vermaschten Netz entfernt werden, so dass eine Baumstruktur entsteht. Oder erklären, wie ein Routing-Algorithmus ausgehend von einer bestimmten Ausgangssituation Schritt für Schritt eine Routing-Tabelle aufbaut. Oder durchspielen, welche Pakete bei bestimmten Formen des Queuings in welcher Reihenfolge bedient werden. Bei den Aufgaben zur Verwaltung von IP-Adressen muss man auch immer wieder ein bisschen rechnen. Da ist es gut, wenn man im Umgang mit Dualzahlen und Hexadezimalzahlen noch recht fix ist.
     
    Bei diesem Kurs sind zur Klausur keinerlei Hilfsmittel zugelassen. Um die Fülle an Stoff in den Kopf zu bekommen, habe ich an die 150 eng beschriebene A4 Seiten eigene Notizen angefertigt. Vieles davon waren Diagramme zum Aufbau der vielen verschiedenen Header, wobei ich pro Bit ein Kästchen auf Karopapier verwendet habe. Diese Zeichnungen habe ich dann stark kommentiert. Außerdem habe ich viele Fragen niedergeschrieben, die sich mir beim Bearbeiten des Kurses stellten und die Antworten, die ich darauf gefunden habe, sauber ausformuliert. Meine Notizen sahen also auf manchen Seiten aus wie Sammlungen von Quizfragen. Schließlich habe ich viele Diagramme aus dem Kurs abgezeichnet, bei denen es vor allem um Kommunikationsflüsse und die dabei ausgetauschten Daten ging. Ich habe dabei bewusst von Hand gearbeitet, weil ich gehofft habe, den Stoff so gleichsam "in die Finger" zu bekommen.
     
    Mein Tutor war der Ansicht, bei diesem Kurs ginge es nicht um das Abfragen von Wissen. Es ginge um das Verständnis von Zusammenhängen; und die Fähigkeit, dieses Verständnis problemlösend anzuwenden. In der Klausur erwies das als einerseits richtig. Aber andererseits auch wieder nicht. Ja, es gab nur wenige Wissensfragen. Meistens musste man Wissen anwenden, zeigen, wie sich eine Situation entwickelt, wer, wann, was und in welcher Form an wen sendet, damit ein Paket den Weg von A nach B finden kann. Aber um solche Probleme lösen zu können, braucht man auch Wissen: Längen von Headern, ihren Aufbau, den genauen Ablauf wechselseitig gesendeter Botschaften. Es war schon vorteilhaft, eine Menge Fakten im Kopf zu haben. Hier hätte ich in der Präsenzklausur noch etwas mehr rausholen können. Müsste ich die Klausur noch einmal schreiben, dann würde ich mehr Fakten mit Karteikarten lernen. Man verstehe mich nicht falsch: Fakten zu lernen reicht auf keinen Fall, um diese Klausur zu bestehen. Aber es ist oft nötig, um mit der eigentlichen Arbeit beginnen zu können. Ich musste an vielen Stellen raten und war hinterher überrascht, dass ich oft richtig gelegen hatte.
     
    Erwähnen möchte ich noch die sehr intensive Betreuung durch meinen Tutor. Bei diesem Modul hatte ich viele Verständnisfragen und weiterführende Fragen. Die Antwort kam oft noch am gleichen Tag und hat mich eigentlich immer weiter gebracht.
     
    Für mich war das bislang die schwierigste Präsenzprüfung meines Studiums. Dank der Bonuspunkte aus Online-Test und Online-Klausur habe ich mit einem schönen Ergebnis abschließen können, auch wenn mein Punktwert aus der Klausur im Vergleich zu vielen anderen Modulen etwas schlechter ausgefallen ist. Ich habe mich aber hier besonders über das Ergebnis gefreut, weil ich das Gefühl hatte, mir hier wirklich etwas erarbeitet zu haben.
     
    Für Studierende, die nach diesem Modul noch mehr über Netze wissen wollen, gibt es ein aufbauendes Modul "Planung und Auslegung von Computernetzen", das man als Wahlpflichtmodul belegen kann.
     
    "Computernetze" wird als Grundlage für das Modul "IT-Sicherheit" empfohlen. Das ist das nächste von insgesamt 4 Modulen aus dem Studienbereich "IT-Systeme", das ich belegen möchte. Ein bisschen dauert das aber noch, denn als weitere Grundlage wird Mathe3 empfohlen, wo unter anderem kryptographische Basistechniken behandelt werden. Nun habe ich aber Mathe2 noch nicht bestanden. Die IT-Sicherheit muss also noch ein wenig warten.
     
    "Computernetze" war ein ordentliches Stück Arbeit. Ich bin froh, dass ich das geschafft habe.
  21. kurtchen
    10:45 Uhr - Aktuelles für Studierende
     
    Den Vortrag hielt zum ersten Mal Frau Kreissig von Springer Campus. Nach der Übernahme der W3L durch Springer Campus im Herbst, gab sie uns einige Informationen über die GmbH, die nun unsere Studiengänge weiterführt. Im Studienalltag haben wir ja nicht viel davon gemerkt. Das Konzept der Studiengänge und die gesamte Studienorganisation sind gleich geblieben. Insbesondere bleibt es bei der Kooperation mit der FH Dortmund, die am Ende unsere Abschlüsse verleiht. Und doch sind wir unter einem neuen Dach. Im Vortrag ging es darum, ein wenig mehr über dieses neue Dach zu erfahren.
     
    Frau Kreissig gab uns ein kleines "who is who" der für uns relevanten Mitarbeiter von Springer Campus. Viele Namen und Gesichter waren uns ja schon bekannt, weil unsere gewohnten Ansprechpartner aus dem Studienbüro nun für Springer Campus tätig sind. Frau Kreissig selbst ist Biologin und arbeitet als Projektmanagerin für Springer Campus. Sie scheint durchaus IT-affin. Springer Campus ist eine Abteilung von Springer Nature, einem Verlag mit ca. 13000 Mitarbeitern. Und nein, Springer verlegt nicht die Bildzeitung! Das macht ein anderer Springer Verlag und ist ein häufiges Missverständnis.
     
    Spannend für mich war eine Vorstellung der anderen Studiengänge, die über Springer Campus angeboten werden. Dies gilt vor allem für den B.Sc. Biologie, den es seit 1997 gibt. Dieser Studiengang ist nur ausgebildeten Laboranten zugänglich, also BTAs und MTAs mit Berufserfahrung. Ein Biologie-Studium beinhaltet naturgemäß viele Laborpraktika. TAs bringen durch ihre Ausbildung Vorkenntnisse mit, die sich in einem Fernstudium sonst kaum vermitteln ließen. Entwickelt wurde dieser Studiengang in Kooperation der Uni Mainz mit der Firma Bayer, die ihre Laboranten berufsbegleitend wissenschaftlich weiterbilden wollte. Inzwischen hat der Studiengang Teilnehmer von über 100 Firmen. Im Gegensatz zu unseren Informatik-Studiengängen, die als Online-Studiengänge konzipiert sind, folgt das Fernstudium Biologie dem Ansatz des blended learning. Es gibt alle 2 Wochen Präsenzen. Das erzwingt auch Zeitfenster für den Studieneinstieg, während wir Informatiker uns jederzeit einschreiben können. Ein Unterschied zu uns ist auch eine stabile Gruppe von 4-35 Studierenden, die über den Zeitraum des Studiums zusammenarbeitet und von einem festen Ansprechpartner betreut wird. Die Kosten sind mit ca. 15.000 Euro etwas höher als bei uns. Das hat damit zu tun, dass Laborpraktika betreuungsintensiv und teuer sind.
     
    Wie bei uns steht auch bei den anderen Studiengängen von Springer Campus am Ende ein Abschluss einer staatlichen Hochschule, denn Springer Campus tritt bislang nicht als private Hochschule auf sondern kooperiert mit staatlichen Hochschulen. Neben dem Fernstudium Biologie gibt es seit 2015 ein Fernstudium Chemie und seit 2016 ein Fernstudium Elektrotechnik, beide mit einem ähnlichen Modell des blended learning. In Zukunft könnte es auch noch ein sozialwissenschaftliches Studium geben.
     
    Für mich war das alles recht spannend, nicht zuletzt weil meine Partnerin Biologin ist. Ich hatte den Eindruck, dass vielen Lesern hier im Forum noch nicht bekannt ist, dass ein Fernstudium in Fächern wie Biologie und Chemie möglich ist. Darum wollte ich die Gelegenheit nutzen, das hier einmal vorzustellen.
     
    FAQs aus dem Studienbüro
     
    Für uns Studierende besonders relevant waren FAQs aus dem Studienbüro und eine anschließende Frage und Antwortrunde:
    - Fachlich nicht wirklich essentiell aber für viele von uns doch von großer emotionaler Bedeutung: Die kleine Ente mit Doktorhut, die von der W3L traditionell mit der Bachelorurkunde überreicht wurde, bleibt auch unter Springer Campus erhalten. Das hatten tatsächlich viele Studierende gefragt. (Ich hatte mich nicht getraut, habe mich aber auch gefreut.)
    - Da Springer Campus in Heidelberg sitzt, kann Heidelberg als neuer Prüfungsstandort angeboten werden. Bislang hat man das erst einmal versucht aber die Resonanz war gering. Darum wurde noch einmal abgefragt, ob ein Prüfungsstandort Heidelberg interessant ist und welche Zeiten "anreisekompatibel" wären.
    - An Präsenztagen gibt es weiterhin nur Prüfungen in Dortmund, weil das Personal an diesen Tagen in Dortmund gebunden ist.
    - Das Modul "Wissenschaftliches Arbeiten" ist nun Pflichtmodul in beiden Informatik-Studiengängen, weil sich in der Vergangenheit immer wieder mal formale Mängel bei der Abschlussarbeit unvorteilhaft auf die Abschlussnote ausgewirkt haben. Viele Studierende arbeiten in einem betrieblichen Umfeld und erleben dort wissenschaftliches Arbeiten nicht. Frau Kreissig rät dringend, die Möglichkeit zur Interaktion mit dem Betreuer zu nutzen. Für diejenigen Studierenden, die noch nach einer alten Studienordnung studieren und "Wissenschaftliches Arbeiten" nicht belegen müssen, wird es dennoch dringend empfohlen.
    - Ein Notenspiegel bzw. eine Leistungsübersicht kann per Mail oder Post im Studienbüro angefordert werden.
    - Verspätete Klausuranmeldungen können grundsätzlich nicht berücksichtigt werden. Die angegebenen Fristen, in der Regel 1,5 Wochen vor Prüfungstermin, sind verbindlich.
    - Klausurkorrekturen erfolgen innerhalb von 6 Wochen. (Nach meiner Erfahrung hat man im Schnitt nach 3 Wochen ein Ergebnis.)
    - Das Modul "Skriptsprachen" wurde aus dem Curriculum genommen und wird bis auf weiteres nicht mehr angeboten. Ein Grund dafür war, dass es inhaltlich nicht mehr ganz aktuell war, obwohl die letzte Auflage des Lehrbuches eigentlich noch gar nicht so lange her war. An diesem Punkt merkt man, dass sich in der Informatik viele Themen schnell weiterentwickeln.
    - Als Ersatz für "Skriptsprachen" kann man das Modul "Web-Engineering" belegen. Hier geht es allerdings nicht allein um Javascript sondern um AJAX.
     
    Thema war auch die Umstellung auf die neue Plattform, was anfangs für einigen Unmut gesorgt hatte. Allerdings gibt es inzwischen auch Studierende, die mit der neuen Plattform zufrieden sind. Viele gemeldete Bugs wurden anscheinend in recht kurzer Zeit behoben. Die gestiegene Auslastung der Plattform führte zwischenzeitlich zu längeren Antwortzeiten. Eine neue skalierbare Hardware soll ermöglichen, künftig schneller auf solche Situationen zu reagieren. Die Umstellung auf das neue Layout hatte übrigens nichts mit der Übernahme durch Springer zu tun sondern war seit längeren geplant und in Arbeit. Es war reiner Zufall, dass die Übernahme durch Springer und die Umstellung des Layouts zeitlich eng zusammenfielen. Da noch nicht alle gemeldeten Mängel restlos behoben werden konnten, besteht nach wie vor Wahlfreiheit zwischen und alter und neuer Plattform.
     
    Bleibt zu sagen, dass ich natürlich sehr gespannt bin, wie sich diese Angelegenheit entwickelt. Ich selbst bin nach einer Weile zur alten Plattform zurück gekehrt, habe aber deswegen auch nicht mehr mitbekommen, was sich seitdem verbessert hat. Vielleicht kann mich Springer ja bald davon überzeugen, künftig mit der neuen Plattform zu lernen.
     
    Im Rahmen des Vortrags von Frau Kreissig wurden auch wieder einige Hochschulzertifikate überreicht. Frau Weirich vom Studienbüro informierte parallel in einem anderen Raum über das Studiengangskonzept.
     
    12:15 - Vortrag Prof. Dr. Uwe Klug zum Thema NoSQL-Datenbanken
     
    Professor Dr. Uwe Klug von der FH Südwestfalen ist vielen Studierenden bekannt als Autor der Lehrbücher zum Datenbank-Modul. Dort geht es in erster Linie um relationale Datenbanken und die Abfragesprache SQL. In seinem Vortrag ging es um alternative Datenbankkonzepte. Hier eine kleine Zusammenfassung:
     
    Das Konzept der relationalen Datenbank ist seit Jahrzehnten etabliert. Die Grundidee ist die Speicherung von Daten in Tabellenform. Eine mögliche Metapher hierfür ist das Adressbuch. Es hat auf jeder Seite Daten im gleichen Format, z.B. erst der Name, dann die Adresse, dann die Telefonnummer und so weiter. Relationale Datenbanken halten stark strukturierte Daten.
     
    Im Bild der Tabelle sind die Tabellenüberschriften die Felder und stehen für Typen von Daten, die in fester Reihenfolge enthalten sind. (Unter Umständen dürfen Felder immerhin leer bleiben.) Die Zeilen enthalten die eigentlichen Daten und stehen für gespeicherte Datenobjekte, die Datensätze. Kennzeichnend für relationale Datenbanken ist die starke und starre Strukturierung der Daten. Sie ermöglicht einen feingranularen Zugriff auf Daten mit teils raffinierten Abfragen, die in der Sprache SQL formuliert werden. Zu Beginn der Datenbankentwicklung werden die zu speichernden Daten modelliert und das Modell normalisiert, um Redundanzen zu eliminieren.
     
    Zentrale Eigenschaften einer relationalen Datenbank sind:
    - relationale Integrität: Sie gewährleistet die Datenintegrität, z.B. durch Check-Regeln, Trigger und die Verwendung von Fremdschlüsseln zur Vermeidung redundanter (und möglicherweise inkonsistenter) Datenspeicherung.
    - Transaktionssicherheit: Eine Folge von SQL-Anweisungen wird ganz oder gar nicht bearbeitet. Kann sie nicht ganz bearbeitet werden, gibt es einen Rollback, bei dem die bisherigen Anweisungen der unvollständigen Transaktion rückgängig gemacht werden. Wie Transaktionssicherheit intern sichergestellt wird, muss der Datenbankentwickler nicht wissen. Das macht für ihn das RDBMS.
     
    Hinter relationalen Datenbanken steht eine bestimmte kaufmännische Denkungsart. Im Vordergrund steht die Konsistenz der Daten, die jederzeit aktuell und widerspruchsfrei sein sollen.
     
    Inzwischen haben sich aber Anforderungen an Datenbanken geändert. Datenbanken werden nicht mehr vorwiegend in kaufmännischen Anwendungen eingesetzt sondern z.B. auch in Web-Applikationen. Und dort gelten oft andere Anforderungen, die von relationalen Datenbanken nicht mehr optimal erfüllt werden. Daten in Web-Applikationen sind oft nur schwach strukturiert. Feingranulare Abfragen stehen nicht immer im Mittelpunkt. Dafür sind die Nutzerzahlen oft extrem hoch.
     
    Es gibt im wesentlichen 2 Strategien, auf steigende Nutzerzahlen und Datenmengen zu reagieren:
    1. vertikale Skalierung: Ich kaufe einen schnelleren Rechner mit größerer Platte. Aber irgendwann habe ich den schnellsten Rechner und die Nutzerzahlen zwingen meinen Datenbankserver trotzdem in die Knie.
    2. horizontale Skalierung: Ich verteile meine Daten auf mehrere Server. So muss jeder Server nur einen Teil der Anfragen bewältigen. Jetzt kann ich auf steigende Nutzerzahlen reagieren, indem ich einfach immer mehr Server hinstelle. Damit handle ich mir aber ein neues Problem ein. Wenn Daten redundant auf mehreren Servern liegen, muss ich sie bei Änderungen konsistent halten.
     
    Mit den Web-Applikationen kommen neue Wünsche und Anforderungen an Datenbanken:
    - Ich möchte große Datenmengen verteilt speichern.
    - Ich möchte Schema-Änderungen WÄHREND der Nutzung des DBMS durchführen können und nicht etwa gezwungen sein, für so etwas meine Server vom Netz zu nehmen.
    - Ich möchte mit schwach strukturierten Daten arbeiten.
    - Mein System soll bei einem Ausfall einzelner Server nicht zusammenbrechen.
    - Die Aktualität und Konsistenz der Daten ist grundsätzlich weiter wichtig, aber Schnelligkeit der Informationsbereitstellung und Ausfallsicherheit sind mir wichtiger.
     
    Gerade die Schnelligkeit ist bei Web-Anwendungen sehr wichtig. Wenn mein Kunde in meinem Shop nach einem Artikel sucht und mein Server braucht zu lange, um eine Auswahl zu präsentieren, wird mein Kunde nach wenigen Sekunden einen neuen Tab aufmachen und schauen, ob mein Mitbewerber schneller ist. Das möchte ich vermeiden.
     
    In diesem Zusammenhang ist das CAP-Theorem von Eric Brewer relevant. CAP steht für Consistency (Integrität der Daten), Availability (Schnelle Antwortzeiten) und Partition Tolerance (Ausfalltoleranz). Das CAP-Theorem besagt, dass ich bei einer Datenbank in verteilter Umgebung nicht alles zugleich haben kann. Bei mindestens einer der 3 Anforderungen muss ich Kompromisse machen. Das CAP-Theorem lässt sich mit formalen Mitteln beweisen. Es gibt hier also kein Entkommen. Und darum bestimmen die Anforderungen meines Geschäftsmodells, was für ein DBMS ich brauche. Und das ist eben immer häufiger keine klassische relationale Datenbank.
     
    NoSQL-Datenbanken machen den Kompromiss bei der Konsistenz zugunsten von Ausfallsicherheit und Verfügbarkeit. Das ist für Web-Anwendungen typisch. Ein Beispiel wäre ein Web-Shop, über den Artikel verkauft werden. Er hat 2 Knoten, einen in Hamburg, einen in München. Diese synchronisieren ihre Verkäufe automatisch, so dass dem Kunden jederzeit angezeigt wird, ob sein gewünschter Artikel noch auf Lager ist. Durch eine Störung im Netz wird die Verbindung zwischen Hamburg und München für ein paar Minuten unterbrochen. Es gibt nun 2 Möglichkeiten, darauf zu reagieren:
    1. Weil ich die Knoten nicht mehr synchronisieren kann, verkaufe ich nichts mehr. So kommt nie ein Kunde in die Situation, einen Artikel zu bestellen, den ich nicht zum versprochenen Zeitpunkt liefern kann. Aber mein Kunde ärgert sich, dass ich ihm minutenlang nichts anbieten kann und bestellt stattdessen bei der Konkurrenz.
    2. Ich verkaufe weiter. Möglicherweise verkaufe ich einen knappen Artikel mehrfach. Dann muss ich einen Kunden informieren, dass ich doch nicht zum versprochenen Zeitpunkt liefern kann. Nicht optimal, aber mein Kunde wird das vermutlich eher akzeptieren als einen Web-Shop, der minutenlang nicht reagiert.
     
    Die Aufweichung der Konsistenz beschreibt man mit der Abkürzung BASE. Die steht für Basically Available, Eventually Consistent. Konsistenz wird nicht aufgegeben, aber man fasst sie als Übergangsprozess auf. Zeitweise kann es zu Inkonsistenzen kommen. Sobald eine Verbindung wieder verfügbar wird, wird die Inkonsistenz behoben. Möglich wird dies durch eine Versionierung der Datensätze. Vermittels einer Versionsnummer kann ich nachvollziehen, wie und in welcher Reihenfolge sich Datensätze verändert haben. Bei der Synchronisation paralleler Prozesse fällt nun möglicherweise auf, dass eine Versionsnummer doppelt existiert, weil ein paralleler Prozess den gleichen Datensatz schon geändert hat. Es gibt dann verschiedene Strategien, wie man mit diesem Problem umgehen kann. Welche man wählt, hängt vom Anwendungsfall ab.
     
    Vorgestellt wurde auch die Technik des Map Reduce. Dies ist ein zweischrittiges Verfahren, das von Google entwickelt wurde. Es dient der verteilten Ausführung von Operationen über große Datenmengen (von mehreren Terabyte!). Auf verschiedenen Knoten wird parallel gesucht (map). Dann werden die Zwischenergebnisse zusammengeführt (reduce). Map Reduce ist ein Konzept. Es ist somit unabhängig von eingesetzter Hardware. Angewendet wird es z.B. in der CouchDB.
     
    Eine Vorstellung der CouchDB bildete den letzten Teil des Vortrags. Sie kann große Datenmengen speichern, die keine feste Struktur aufweisen. Die Daten werden in Form von JSON-Objekten abgelegt. CouchDB hat einen nativen Support für BLOBS (binary large objects). Sie ist quelloffen, einfach zu installieren und bietet eine gute Dokumentation. Entwickelt wurde sie in der wenig bekannten Sprache Erlang, die vor allen in der nebenläufigen Programmierung Stärken hat.
     
    Das JSON-Format ist ein textbasiertes (und menschenlesbares) Format, das etwas kompakter schreibbar ist als XML. Es besteht aus Name-Wert-Paaren und ist letztlich eine Komma-getrennte Liste von Eigenschaften. Mit diesem Format kann man schwach strukturierte Daten gut beschreiben. Die Reihenfolge von Feldern kann sich ändern und Felder können auch weggelassen werden.
     
    Zum Abschluss wurde noch auf den Unterschied zwischen Replikation und Clustering einer Datenbank eingegangen. Bei der Replikation kopiere ich eine vollständige Datenbank. So kann ich sie redundant auf verschiedenen Knoten ablegen und die Anfragen über die Knoten verteilen. Fällt ein Knoten aus, bleibt die DB verfügbar, wenngleich die Reaktionszeiten womöglich steigen, weil sich Anfragen nun auf weniger Knoten konzentrieren. Replikation findet eine natürliche Grenze in der Speicherkapazität des Knotens mit der geringsten Kapazität. Wenn dieser die gesamte Datenbank nicht mehr fassen kann, muss ich die Datenbank aufteilen. Das nennt man Clustering.
     
    Beim Clustering liegen verschiedene Teile der Datenbank auf verschiedenen Knoten. Dadurch muss ich Anfragen eventuell so filtern, dass sie an den richtigen Knoten gerichtet werden, der die relevanten Daten besitzt.
     
    Ich habe mich sehr gefreut, Herrn Klug einmal "in Aktion" zu erleben, weil sein Modul "Relationale Datenbanken und SQL" für mich bislang zu den Highlights meines Studiums zählt. Auch die Betreuung durch ihn fand ich damals sehr gut. Inhaltlich waren mir einige der vorgestellten Themen noch aus dem Modul geläufig, aber ein bisschen Auffrischung kann ja nie schaden.
     
    13:15 Uhr - Vortrag Prof. Dr. Peter Weber über E-Commerce
     
    Den Abschluss des Tages bildete ein Vortrag von Prof. Dr. Peter Weber über E-Commerce. Herr Weber unterrichtet an der FH Südwestfalen und ist einer der Autoren des Lehrbuches "Basiswissen Wirtschaftsinformatik", ein einführendes Lehrbuch für die Wirtschaftsinformatiker in unserem Studiengang. Herr Weber war ein engagierter Redner und konnte mich für sein Thema begeistern. (Obwohl ich bei BWL-Themen eigentlich nur schwer in die Gänge komme.) Leider konnte ich nicht mehr den gesamten Vortrag hören, weil ich ein Ticket mit Zugbindung hatte. Darum kann ich hier keinen vollständigen Bericht liefern. Spannend war für mich vor allem seine Mitwirkung am Einzelhandelslabor Südwestfalen mit dem CCEC (Competence Center E-Commerce).
     
    Das Projekt hat als Zielgruppe kleine Händler und läuft seit April 2016. Ziel ist, die Multi-Channel-Kompetenz des inhabergeführten stationären Einzelhandels zu stärken. Die Ladenbesitzer sind meist schon mit den Anforderungen des Tagesgeschäfts ausgelastet, haben oft wenig Personal und machen das meiste alleine. Das ist natürlich eine Hürde, wenn es darum geht, sich mit neuen Formen der Kundeninteraktion auseinander zu setzen. Und doch wäre das bitter nötig, denn die aktuelle Situation stellt sich wie folgt dar:
    - Der Online-Handel hat zweistellige Wachstumsraten.
    - Für stationäre Einzelhändler entwickelt sich der Handel nicht so gut.
    - Man prognostiziert, dass in den nächsten 5 bis 7 Jahren 30% der Umsätze der stationären Einzelhändler verschwinden.
    - Viele Händler nutzen bereits IT.
    - Sie nutzen sie aber vor allem zur Verwaltung.
    - Seltener nutzen sie IT für Marketing, Service und Vertrieb.
     
    Ein mögliches Konzept, den lokalen Handel zu stärken sind lokale Shopping-Plattformen. Sie stellen ein grundlegendes Prinzip des Online-Handels auf den Kopf: Ich kann alles von jedem kaufen, egal wo ich bin, egal wo er ist.
     
    In einer lokalen Shopping-Plattform gilt dagegen:
    - Ich kann nur kaufen, wenn ich aus einer bestimmten Region bin.
    - Ich kann nur kaufen, was ein Händler aus einer bestimmten Region anbietet.

    Die Standortbeschränkung - nach klassischer Logik ein Nachteil - ist das Alleinstellungsmerkmal. Im Prinzip ist es eine Form des ethischen Einkaufs und richtet sich an Kunden, die zwar bequem online einkaufen wollen, aber damit dennoch lokale Händler unterstützen wollen, z.B. weil sie auch in Zukunft noch gerne Läden in ihrer Stadt haben möchten.
     
    Ziel des CCEC ist, die Ladeninhaber zu qualifizieren, so dass sie Online-Medien nutzen können, um mit ihren Kunden in Kontakt zu treten. Damit ist natürlich etwas anderes gemeint als der x-te Online-Shop.
     
    Interessant ist in diesem Zusammenhang der ROPE-Effekt. Er ist sozusagen das Gegenteile eines Phänomens, das viele Einzelhändler beschreiben und beklagen. Die Kunden kommen in den Laden, schauen sich dort die angebotenen Waren an, und kaufen sie anschließend billiger online. Das hat wohl jeder schon einmal gehört. ROPE steht dagegen für "research online, purchase offline". Der Kunde recherchiert im Internet, z.B. in einem Online-Shop, was es für Artikel gibt. Dabei nutzt er zum Beispiel auch die Bewertungen anderer Kunden, Photos, Artikelbeschreibungen und was es sonst für Vorzüge gibt. Dann geht er in einen lokalen Laden und kauft das Produkt. "Macht kaum einer", hätte ich gedacht, obwohl ich das selbst oft so mache und es auch bei meinen Familienmitgliedern schon oft beobachtet habe. Anscheinend schätzt man, dass 38% der Kunden das so machen. Es ist aber schwer, das zu messen. Denn im Gegensatz zum Online-Handel, der seine Kunden hervorragend "trackt", weiß der Einzelhandel wenig darüber, wie Kunden zu ihrer Kaufentscheidung kommen.
     
    Ein weiteres Projekt, das sehr spannend klang, ist ARSuL (Augmented Reality basierte Unterstützung für das Lernen im Sanitär-Heizung-Klima-Handwerk). Die Ausgangsituation ist hier folgende:
    - Die Vielfalt an Heizungssystemen hat stark zugenommen.
    - Ein Wartungstechniker braucht Erfahrung mit vielen verschiedenen Systemen, z.T. sehr neue, z.T. sehr alte.
    - Es gibt Nachwuchsmangel im Handwerk. Junge Techniker kennen sich mit der Vielfalt der Systeme noch nicht aus.
    - Erfahrene Kräfte sind oft vor Ort nicht verfügbar.
    - Zum Teil sind erfahrene Kräfte körperlich auch nicht mehr belastbar genug, um die Arbeiten vor Ort durchzuführen.
     
    Die Lösungsidee:
    - Die jungen Techniker tragen Datenbrillen und können sich bei Problemen mit einem erfahrenen Techniker verbinden lassen.
    - Der sieht, was sie sehen, hat eventuell in der Zentrale sogar ein ähnliches System vor sich und kann sie durch die Reparatur coachen.
    - Er kann per Augemented Reality eventuell direkt Hilfestellungen für die jungen Techniker vor Ort einblenden.
     
    Fazit
     
    Der Präsenztag hat mal wieder viel Spaß gemacht und viel interessanten Input gebracht. Was ich hier nicht beschreiben kann, ist der informelle Austausch mit Kommilitonen über Erfahrungen mit Modulen, Aufgaben, Prüfungen. Und der allgemeine menschliche Austausch über die spezielle Situation des Fernstudiums neben Beruf und Familie. Dadurch lösen sich die vielfältigen Belastungen zwar nicht auf, aber man merkt doch, dass noch andere Menschen diesen nicht alltäglichen Weg gehen. Das gibt dann doch ein wenig Kraft für die nächsten Herausforderungen.
  22. kurtchen
    Am Montag war die Lernplattform von Springer Campus für längere Zeit nicht erreichbar. Ein größeres Update wurde eingespielt, was uns Studierenden allerdings einige Tage vorher per Mail angekündigt worden war. Die Plattform hat nun ein neues Design.
     
    Zugegeben: Das bisherige Design sah ein wenig altbacken aus. So nach WindowsXP.
     
    Natürlich habe ich nun erst mal ein wenig Schwierigkeiten, mich zurecht zu finden, weil die verschiedenen Schaltflächen nicht mehr an den gleichen Stellen sind. Auf so etwas reagiere ich nicht mit Begeisterung, aber natürlich weiß ich, dass ich mich schon umgewöhnen werde.
     
    Der Vorteil des neuen Designs: Es ist "responsive", d.h. das Layout passt sich an kleinere Bildschirme von Tablets und Smartphones an, z.B. indem Inhalte untereinander angeordnet werden, die sonst nebeneinander stehen oder indem Menüs eingeklappt werden, die nicht unbedingt gebraucht werden. Es sollte in Zukunft leichter sein, Tests unterwegs zu bearbeiten. Im Prinzip wäre es sogar denkbar, den Text von Wissensbausteinen am Handy zu lesen. Ich vermute, dass das nicht bei allen Modulen gut gehen wird. Im Modul "Computernetze" gab es viele Diagramme, die eigentlich schon für meinen Laptop-Bildschirm zu groß waren. Die konnte man verkleinern, aber dann wurde es schwieriger Details zu erkennen. Aber grundsätzlich eine gute Sache.
     
    Inakzeptabel ist allerdings die Farbgebung: Die Schriftfarbe ist ein Grau, dass vor dem weißen Hintergrund für mich einfach zu kontrastarm ist. Ich schaffe es nicht mehr, längere Zeit zu lesen. Es ist sehr anstrengend und ich bekomme schnell Kopfschmerzen. Zum Glück gilt das nicht für die Darstellung in den Wissensbausteinen, wo man ja den Löwenanteil der Texte lesen wird. Hier wurde ein grauer Hintergrund gewählt, der weniger blendet, so dass die Schrift nicht so überstrahlt wird. Zwar wäre mir auch hier eine dunklere Schrift lieber, aber damit kann ich leben. Schwierig wird es für mich aber bei den Tests und Aufgaben. Hier ist der Hintergrund hell und überstrahlt das Grau der Schrift. Helfen würde mir hier eine dunklere Schrift oder ein etwas dunklerer Hintergrund. Natürlich gibt es immer die Möglichkeit, im Browser eine andere Darstellung zu erzwingen, was ich wahrscheinlich für's erste tun muss.
     
    Eine weitere Schwierigkeit für mich: Bei den Tests unterscheiden die Ampelfarben Rot und Grün die Ergebnisse "geschafft" und "nicht geschafft" bzw. "nicht bearbeitet". Hier wurden recht blasse Farben gewählt, die sich in ihrer Helligkeit recht ähnlich sind. Für mich ist das ein Problem, da ich Rot und Grün nicht sicher unterscheide. Das ist ja bei Männern nicht selten. Helfen würden mir hier sattere Farben oder deutlichere Helligkeitsunterschiede zwischen Rot und Grün. Interessant eigentlich, weil die recht verbreitete Rot-Grün-Schwäche im Modul "Webdesign und Webergonomie" thematisiert wird.
     
    In der alten Plattform konnte man zwischen drei Farbschemata wählen. Jetzt scheint es eine solche Möglichkeit nicht mehr zu geben.
     
    Ich habe dem Studienbüro von meinen Schwierigkeiten berichtet. Mir wurde ins Aussicht gestellt, dass es in der nächsten Zeit noch weitere kleinere Änderungen am Erscheinungsbild der Plattform geben wird und das man sich bemühen wird, die Rückmeldungen der Studierenden zu berücksichtigen. Insofern hoffe ich, dass in Zukunft wieder eine Auswahl zwischen Farbschemata möglich sein wird. Das war schon ein Feature, das ich gerne zurück hätte.
     
  23. kurtchen
    Zur Rolle des Moduls "Aktuelle Webtechniken" im Studiengang WMI
     
    Das Modul "Aktuelle Webtechniken" ist ein Wahlpflicht-Modul und richtet sich an Studierende im Studiengang "Web- und Medieninformatik". Es ist außerdem Teil des Hochschulzertifikates "Web-Entwickler". Für Wirtschaftsinformatiker scheint es mir weniger geeignet. Das liegt daran, dass das Modul "Web-Anwendungen 2" als fachliche Grundlage sehr empfehlenswert ist. Dieses ist aber für Wirtschaftsinformatiker nicht Pflicht und müsste daher ebenfalls als Wahlpflichtmodul belegt werden.
    Als weitere fachliche Grundlage für dieses Modul wird "XML" genannt. Aufgrund der Voraussetzungen wird man "Aktuelle Webtechniken" wohl gegen Ende seines Studiums belegen, also im 5. oder 6. Fachsemester.  Inhaltlich geht es um die Entwicklung von Web-Anwendungen mit dem serverseitigen Framework JavaServer Faces.
     
    Das Lehrbuch
     
    Das Lehrbuch "JavaServer Faces" von Michael Goll und Marcel Urbanek hat einen Umfang von ca. 250 Seiten. Im Vergleich zu anderen Lehrbüchern bei Springer Campus klingt das wenig. Allerdings ist die Schrift kleiner und der Text recht eng gesetzt, so dass bei gleicher Seitenzahl mehr Inhalt drin steckt, als man zunächst vermuten würde. Der Text ist ziemlich dicht geschrieben. Das Tempo, in dem die Inhalte vermittelt werden, ist recht hoch. Möglich ist das, weil die meisten Studierenden ja Vorkenntnisse in JavaServer Pages und XML haben. Ohne diese Grundlage wäre es deutlich schwieriger, dem Text zu folgen. Die Inhalte ähneln denen des Moduls JSP. Allerdings geht es hier um ein aktuelleres serverseitiges Web-Framework auf Grundlage von Java.
     
    Während man in JSP HTML und Java-Code in einer Seite mischt, gibt es in JSF eine saubere Trennung. Funktionalität wird in Bean-Klassen implementiert. Das sind Java-Klassen mit öffentlichen Gettern und Settern für alle Attribute sowie einem parameterlosen Standardkonstruktor. Dies erlaubt dem Framework die Erzeugung und die Befüllung von Objekten dieser Klassen. Weil sie vom Framework gemanaged werden, nennt man sie auch Managed Beans.
     
    Damit das Framework weiß, welche Managed Beans zur Verfügung stehen, muss man sie ihm in einer XML-Datei bekannt machen. Die eigentlichen Seiten werden dann mit Tags des Frameworks aufgebaut. Hier stellt man Bindings zu Methoden oder Attributen der Managed Beans her. Das ist ein sauberer und übersichtlicher Ansatz, um Webanwendungen aufzubauen. Die Arbeitsweise erinnert mich an ASP.Net und die damit verbundene Code-behind-Technik.
     
    Weitere Themen sind:
    - Templating
    - Internationalisierung
    - Navigation
    - Konverter
    - Validierung
    - Listener
    - Erweiterte Komponenten
     
    Alle diese Themen werden durch Codebeispiele praxisnah behandelt. Es ist sehr empfehlenswert, diese Beispiele in einer geeigneten IDE auszuprobieren und sie abzuwandeln, um ein Gefühl dafür zu bekommen, wie JSF arbeitet. Empfohlen wird als IDE Eclipse. Ich bevorzuge Netbeans und habe das Modul damit bearbeitet. Das war so auch gut machbar.
     
    Nach den recht praktischen ersten zwei Dritteln des Moduls folgen im letzten Drittel vertiefende Themen, die theoretischer und auch anspruchsvoller sind. Hier geht es darum, wie das Framework arbeitet, was für Abläufe durch einen HTTP-Request ausgelöst werden und was für Objekte dabei in welcher Reihenfolge erzeugt werden. Nicht zuletzt geht es darum, wie man eigene JSF-Komponenten, eigene Renderer und eigene Tags implementiert.
     
    Ich finde, JSF ist ein schönes Framework. Gut gefallen haben mir z.B. die Konzepte für Navigation und für die Konvertierung und Validierung von Nutzereingaben.
     
    Tests und Einsendeaufgaben
     
    Die Tests und Aufgaben decken den Stoff gut ab. Für meinen Geschmack hätten es mehr Aufgaben sein dürfen. Sie waren aber ausreichend, um mit allen großen Themenblöcken praktische Erfahrungen zu machen. Eigene Initiative und eine gewisse Experimentierfreude beim Ausprobieren von Codebeispielen halte ich für empfehlenswert. Leider fand ich die Formulierung der Aufgaben oft unklar oder mehrdeutig. Das Nachdenken darüber, was der Autor der Aufgabe gemeint haben könnte, hat bei mir oft wesentlich länger gedauert als die eigentliche Lösung der Aufgabe. Das war für mich oft unbefriedigend.
     
    Die Rückmeldungen meines Tutors kamen zügig. Auf Fragen bekam ich rasche und zufriedenstellende Antworten. Auch die Online-Klausur wurde zügig korrigiert.
     
    Die Online-Klausur passte gut zu den Einsendeaufgaben und den im Kurs behandelten Themen. Sie war durchaus auch eine gute Vorbereitung auf die Präsenzklausur. So sollte es sein
     
    Präsenzklausur
     
    Ich hätte erwartet, dass die Präsenzklausur vor allem die ersten zwei Drittel des Moduls abdecken würde, also die eher praktischen Teile. Dort lag auch ein Schwerpunkt. Es wurden aber auch die theoretischeren Teile durch Wissensfragen abgeprüft. Bei der Arbeit mit JSF hat man mit unterschiedlichen Dateien in unterschiedlichen Sprachen und Formaten zu tun: XML-Dateien, Java-Quellcode, JSF-Seiten mit Tags. In der Klausur spielten alle eine Rolle. Der Schwierigkeitsgrad der Aufgaben war unterschiedlich. Es gab einfachere Punktebringer aber auch schwierigere und umfangreichere Aufgaben für diejenigen, die eine gute Note haben möchten. Leider hatte ich auch diesmal wieder ein Problem mit der Formulierung mancher Aufgaben.
     
    Zeit ist ein entscheidender Faktor in dieser Klausur. Man muss relativ viel schreiben. Auch wenn man im Grunde schon eine Lösung im Kopf hat, wird es knapp, diese auch aufs Papier zu bringen. Ich würde empfehlen, ein paar Einsendeaufgaben von Hand abzuschreiben, um im Schreiben von XML auf ein gewisses Tempo zu kommen. Ich habe es leider nicht geschafft, alle Aufgaben in der gegebenen Zeit zu bearbeiten. Das hatte natürlich Auswirkungen auf meine Note, die nicht so gut ausgefallen ist, wie ich mir im Vorfeld erhofft hatte.
     
    Fazit
     
    Nach dem Modul "Web-Anwendungen 2", welches serverseitige Web-Programmierung mit JSP abhandelt, wird in "Aktuelle Webtechniken" mit JSF ein weiteres serverseitiges und Java-basiertes Framework vorgestellt. JSF ähnelt ein wenig ASP.Net. Mir hat das Modul Spaß gemacht und ich finde, serverseitige Programmierung ist eine der Stärken des Studienganges "Web- und Medieninformatik". Das Modul ist etwas für Studierende, die auch Freude an JSP und XML hatten. Es ist außerdem eine Gelegenheit, noch mal einmal Zeit mit dem Schreiben von Code zu verbringen. Gegen Ende des Studiums gibt es ja viele Module, die recht theorielastig sind. Da ist JSF eine willkommene Abwechslung.
     
    Mein nicht ganz so tolles Abschneiden bei Klausur nehme ich nicht so schwer. Am diesem Punkt meines Studiums stehen einfach schon so viele Noten fest, dass mein Spielraum zu Beeinflussung meiner Abschlussnote ohnehin gering ist. Ich freue mich also einfach, dass ich hier noch einmal die Gelegenheit hatte, ein Modul zu bearbeiten, dass ich inhaltlich sehr genießen konnte.
  24. kurtchen
    Das Modul "IT-Sicherheit" ist ein Pflichtmodul im Studiengang "Web- und Medieninformatik" und wird dort dem Studienbereich "IT-Systeme" zugerechnet. Laut Studienplan wird es für das 3. Semester empfohlen. Als sinnvolle Vorbereitung werden die Module "Angewandte Mathematik" und "Computernetze" genannt. Dieser Empfehlung möchte ich mich anschließen. Wer Computernetze noch nicht belegt hat, dürfte es schwierig finden, den Kapiteln zur Sicherheit in Netzen zu folgen. Ein grundlegendes Verständnis für die im Internet üblichen Protokolle und sowie Kenntnis der OSI-Referenzmodells sowie des TCP/IP-Referenzmodells ist nötig. Dies wird zwar im Kurs noch einmal kurz behandelt, hätte mir aber in der knappen Form nicht gereicht, um die darauf aufbauenden Ausführungen zu verstehen. Mathe3 ist hilfreich, weil dort eine Einführung in kryptographische Basistechniken gegeben wird und einige kryptographische Verfahren auch schon recht detailliert behandelt werden. Als Beispiele seien hier die asymmetrische Verschlüsselung mit RSA sowie der Schlüsseltausch nach Diffie-Hellman genannt. Diese Themen werden zwar auch im Modul "IT-Sicherheit" genau erklärt, aber die mathematischen Grundlagen werden in Mathe3 ausführlicher behandelt und man hat in den Übungsaufgaben die Chance, aktiv damit zu arbeiten und ein "Gefühl" für diesen Stoff zu bekommen.
     
    Studierende im Studiengang "Wirtschaftsinformatik" müssen "IT-Sicherheit" nicht belegen, dürfen es aber als Vertiefungsmodul belegen. Da Sicherheit im Internet und im Intranet von Firmen und Organisationen angesichts immer raffinierterer Bedrohungen immer wichtiger wird, halte ich es für sehr sinnvoll, gerade dieses Modul in seinen Studienplan aufzunehmen. Dafür muss man allerdings in Kauf nehmen, dass die 5 ECTS bei diesem Modul ein bisschen mühsamer erarbeitet werden müssen als in den meisten anderen Modulen.
     
    Auch wenn die mathematischen Grundlagen in Mathe3 gelegt wurden: IT-Sicherheit hat viel mit Kryptographie zu tun und Kryptographie hat viel mit Mathematik zu tun. Für ideal hielte ich, wenn der zeitliche Abstand zu Mathe3 und Computernetze nicht zu groß wäre. Manche Kommilitonen, die IT-Sicherheit lange nach diesen beiden Modulen belegt hatten, klagten darüber, wie schwer es ihnen gefallen war, den inhaltlichen Bezug wieder herzustellen.
     
    Grundlage für den Kurs ist das Buch "IT-Sicherheit" von Werner Poguntke. Es ist mit knapp 300 Seiten ein bisschen dünner als das durchschnittliche Lehrbuch der W3L. Wie bei vielen Lehrbüchern mit mathematischem Inhalt, wird hier auf knappen Raum viel ausgedrückt. Man sollte also nicht erwarten, diesen Kurs besonders schnell durcharbeiten zu können. Dies gilt insbesondere für das zweite Kapitel, in dem die kryptographischen Verfahren und Protokolle vorgestellt werden. Diese knapp 100 Seiten bilden das Fundament, auf dem die folgenden Kapitel zur Computersicherheit und zur Sicherheit in Netzen aufbauen. Hier wird man am meisten Arbeit investieren müssen. Die gute Nachricht: Hat man diese schwere Kost verdaut, ist der Rest des Kurses schon fast ein nettes kleines Dessert. Es ist erstaunlich, wie schnell man begreift, wenn die theoretische Grundlage erst mal da ist.
     
    Das Buch finde ich hervorragend geschrieben. Besonders gefällt mir am Stil des Autors, dass er innerhalb des Buches inhaltliche Bezüge herstellt, indem er sowohl auf folgende Kapitel und Abschnitte verweist, die auf dem aktuellen Thema aufbauen werden, als auch auf vorangehende Abschnitte zurück verweist. So weiß man einerseits, wofür der aktuelle Stoff später nützlich sein wird; und andererseits, wo man noch einmal nachschlagen müsste, wenn man etwas vergessen hat. Letzteres ginge natürlich auch mit dem Index, aber so kann man viel schneller arbeiten. Gerade Gliederung und Aufbau des Stoffes finde ich sehr gelungen. In meinen Augen eines der besten Lehrbücher im Studiengang.
     
    Nach dem einführenden ersten Kapitel steigt im zweiten Kapitel "Kryptologische Verfahren und Protokolle" das Niveau rasch an. Hier geht es um:
    - symmetrische Verschlüsselungsverfahren wie DES, 3DES und AES
    - Stromchiffren wie z.B. der im Mobilfunk verwendete A5
    - asymmetrische Verschlüsslung z.B. mit RSA oder mit elliptischen Kurven
    - Digitale Signaturen
    - kryptographische Hashfunktionen, wie z.B. SHA
    - Zero-Knowledge-Protokolle
    - Fiat-Shamir-Algorithmus
    - Schlüsselmanagement und Schlüsseltausch, z.B. nach Diffie-Hellman
    - Zertifikate
    - Kryptoanalyse
    - Steganographie und digitale Wasserzeichen
     
    Die Aufgaben für diesen Kursteil können relativ schwierig sein, weil es hier schon recht mathematisch zugehen kann. Reine Reproduktion genügt hier oft nicht. Hier können auch mal eigene Ideen gefragt sein, wenn z.B. ein Beweis geführt werden soll.
     
    Im dritten Kapitel "Computersicherheit" geht es z.B. um:
    - Ansätze der Zugangskontrolle
    - Authentifikation durch Wissen
    - Sichere Passwörter
    - Authentifikation durch Besitz, z.B. Smartcards
    - Authentifikation bei GSM
    - Authentifikation durch biometrische Merkmale
    - Authentifikation in verteilten Systemen
    - Kerberos
    - Zugriffkontrolle, z.B. bei UNIX
    - Sicherheit von Betriebssystemen
    - Trusted Computing, also den Versuch Sicherheit in die Hardware zu verlagern
    - Softwaregesteuerte Angriffe
    - Viren, Würmer, Trojaner, Malware
    - Sichere Software
    - Sicherheit in eingebetteten Systemen
     
    Mit den fachlichen Grundlagen aus dem anstrengenden zweiten Kapitel kann man sich diese Themen überraschend leicht erarbeiten. Hier merkt man, dass das didaktische Konzept gut funktionert.
     
    Im vierten und letzten Kapitel "Sicherheit in Netzen" geht es dann um:
    - Firewalls, Paketfilter, Identifizierung von Angreifern
    - Sicherheit auf den verschiedenen Schichten des Internets, also auf der...
    - IP-Schicht mit IPSec
    - TCP-Schicht z.B. mit SSH und SSL
    - auf der Anwendungsschicht, z.B. beim Remote Terminal Access oder beim File Transfer
    - Sicherheit von E-Mails
    - Sichere Webanwendungen
    - Sicherheit in GSM-Netzen
    - Smartphones und Appstores
    - Anonymität in Netzen und das Mix-Konzept
    - Sicherheit im Intranet
    - ARP-Poisoning
    - WLAN, Bluetooth und VoIP
     
    Dieses Kapitel ist wieder ein bisschen schwieriger, weil man sich an diverse technische Details aus dem Modul "Computernetze" erinnern musss. Auf der anderen Seite ist es besonders spannend, weil jeder, der sich im Internet bewegt, sich auch mit Fragen der Sicherheit befassen muss. Hier sind bei mir - wieder auf der Grundlage des zweiten Kapitels - einige Groschen gefallen.
     
    Die Einsendeaufgaben decken den Inhalt des Kurses recht breit ab. Sie sind recht unterschiedlich. Es gibt Reproduktionsaufgaben aber auch solche, wo man ein bisschen programmieren muss. Man experimentiert mit Wireshark und soll dann wieder ein Thema selbstständig im Netz recherchieren, dass im Kurs nicht abgedeckt ist. Die Rückmeldungen zu den Aufgaben kamen zügig und waren vor allem dann sehr interessant, wenn nicht alles richtig war. Mein Tutor versuchte, mich mit ein Hinweisen zum selbstständigen Weiterdenken anzuregen. Bei den Aufgaben zum mathelastigen zweiten Kapitel ist es mir leider nicht immer gelungen, diese Tipps zu verwerten. Hier spielte sicher auch mein Wunsch eine Rolle, zügig weiter zu kommen.
     
    Im Hinblick auf die Klausur wäre es vorteilhaft gewesen, mich auf diese Anregungen zum Weiterarbeiten einzulassen. Die Präsenzklausur fand ich sehr gut gestellt. Es gab einen Sockel von Aufgaben, die eher auf Reproduktion des gelernten hinausliefen, so dass jeder eine realistische Chance hat, das Modul durch Fleiß zu bestehen. Es gab aber auch eine größere Aufgabe, bei der Problemlösen und eigenes Denken gefragt war. Wer gut abschneiden will, muss sich also aktiv mit dem Stoff auseinander setzen. Die beste Vorbereitung sind hier die schwierigeren Einsendeaufgaben. Mit den Rückmeldungen des Tutors sollte man sich aktiv auseinandersetzen und seine Lösungen noch mal "polieren bis sie glänzen". Das hätte mich noch ein bisschen weiter gebracht.
     
    Der Abschluss-Test ist machbar, wenn man die Tests aus dem Modul gut wiederholt. Auch in der Online-Klausur wird nichts unmögliches verlangt. Mit ihr kann man gut ein paar Bonuspunkte sammeln. Der Schwierigkeitsgrad ist aus meiner Sicht etwas niedriger als in der Präsenzklausur.
     
    Das Modul hat mir viel Spaß gemacht und ich verstehe nun einige Dinge besser, die im Hintergrund ablaufen, wenn ich z.B. online eine Überweisung tätige oder meine SIM-Karte in ein neues Handy einlege. IT-Sicherheit ist ein vergleichsweise schwieriger Kurs, der die Mühe wert ist.
  25. kurtchen
    10:45 Uhr - Aktuelles für Studierende
     
    Frau Kreissig von Springer Campus informierte über Neues rund um unseren Studiengang. Zum Nutzen der neuen Studierenden gab es ein kurzes Who-is-who der Mitarbeiter des Fernstudienteams. Die Übernahme der W3L durch Springer Campus lag am Präsenztag ziemlich genau ein Jahr zurück. Frau Kreissig dankte den Studierenden für ihre Geduld und Kompromissbereitschaft in der Übergangsphase.
     
    Parallel zu dieser Veranstaltung fand auch eine Infoveranstaltung für Studieninteressierte statt, über die ich leider nichts näheres berichten kann. Zu bemerken ist, dass dort nicht nur über die Studiengänge Web- und Medieninformatik (WMI) und Wirtschaftsinformatik (WI) informiert wurde. Auch über das Fernstudium Biologie und Chemie konnte man sich informieren. (Für diejenigen, die sich hier wundern, dass man Biologie und Chemie überhaupt "aus der Ferne" studieren kann: Diese Studiengänge richten sich ausschließlich an Berufstätige, die eine einschlägige Ausbildung als TA abgeschlossen haben und insofern umfangreiche Praxiserfahrung mit Laborarbeit haben.)
    Die Cover der Lehrbücher zu den einzelnen Modulen unserer Studiengänge WMI und WI werden nach und nach überarbeitet. Sie erscheinen nun im "Springer Look". Natürlich sollen die Bücher auch fortlaufend inhaltlich aktualisiert werden. Das dauert naturgemäß etwas länger. So gibt es z.B. aktualisierte Lehrbücher für SQL oder bald auch für die Einführung in die Wirtschaftsinformatik.
     
    Das Modul "Strategisches Management und Controlling" ist aus aktuellem Anlass kurzfristig nicht verfügbar. Springer Campus sucht nach einer Vertretung, die die Betreuung dieses Moduls übernehmen kann. Man möchte diesem Umstand offen kommunizieren, damit die Studierenden dies in ihrer Studienplanung berücksichtigen können, z.B. indem sie andere Module zeitlich vorziehen. Strategisches Management und Controlling ist ein Pflichtmodul für Studierende des Studiengangs Wirtschaftsinformatik und wird dort dem Studienbereich BWL zugerechnet. Die Belegung wird für das 4. Semester empfohlen.
     
    Frau Kreissig informierte auch über Änderungen bei Dozenten und Tutoren.
     
    Viele (meist private) Fern-Hochschulen bieten Prämien für geworbene Studierende und das Studienbüro wird gelegentlich danach gefragt, ob es das auch bei Springer Campus gibt. Tatsächlich gibt es schon seit einer Weile eine Prämie von 250 Euro oder wahlweise einen Buchgutschein pro geworbenem Studierenden. Dies gilt aber nur für Bachelor-Studiengänge und nicht für die Belegung von Zertifikatskursen. (Ich mag solche Prämienprogramme nicht besonders, weil mir das doch ein bisschen "marktwirtschaftlich" daherkommt, aber da sich Studierende nach so etwas erkundigt haben, nehme ich an, dass es Leute gibt, die das interessieren könnte.)
     
    Das Modul "Wissenschaftliches Arbeiten" ist seit März 2017 Pflicht für Studierende im Studiengang WMI und WI. Für Studierende, die noch nach der alten Studienordnung studieren, ist es nicht verpflichtend, die Belegung wird aber dringend empfohlen. Die Erfahrung hat gezeigt, dass dieses Modul insbesondere für das Schreiben der Bachelorarbeit sehr nützlich ist.
     
    Top-FAQs aus dem Studienbüro:
    - Das Studienbüro unterstützt bei der Suche nach Betreuern für Projekt- und Bachelorarbeiten. Wenn man seine Projektarbeit im eigenen beruflichen Umfeld schreiben kann, wäre ein weiterer Betreuer dort ideal. Solche Rahmenbedingungen hat aber nicht jeder Studierende.
    - Notenspiegel und Leistungsübersichten kann man über das Studienbüro anfordern. (Manche Studierende, die von ihrem Arbeitgeber finanziell unterstützt werden, müssen so etwas vorlegen.) Die Ausstellung geht normalerweise sehr schnell. Unmittelbar vor Präsenztagen soll man aber etwa eine Woche Vorlauf einplanen, denn zu diesen Zeiten ist das Team des Studienbüros sehr beschäftigt.
    - Ein Klassiker: Änderungen der Adresse, der Telefonnummer und der Kontonummer sollen dem Studienbüro bitte möglichst bald mitgeteilt werden. Eigentlich sollte das offensichtlich sein. Es wird aber de facto immer wieder vergessen und führt dann zu Problemen.
    - Anmeldefristen für Prüfungen sind VERBINDLICH und somit für alle Studierende gleich. Offensichtlich gibt es immer wieder den Wunsch, so etwas Einzelfallbezogen anders zu handhaben. Das ist aber nicht möglich.
    - Klausuren sollen innerhalb von 6 Wochen korrigiert werden. Eine deutlich kürzere Zeitspanne ist natürlich sehr wünschenswert. (Aus eigener Erfahrung kann ich sagen, dass 3-4 Wochen üblich sind.) Im letzten Jahr kam es bei bestimmten Modulen gelegentlich vor, dass die 6-Wochen-Frist überschritten wurde. Das hat z.B. mit besonderen Lebenslagen der Korrektoren zu tun. Das Studienbüro arbeitet daran, dass Fristüberschreitungen die Ausnahme bleiben.
     
    Frau Kreissig weist auf die Online-Dienste für Studierende (ODS) der FH Dortmund hin, die Studierenden von Springer Campus zur Verfügung stehen. Dazu ist die FH-Kennung nötig, die man zu Beginn des Studiums erhält. Unter anderem kann man sich über ODS Software von Microsoft herunterladen. Eine Verlängerung der FH-Card antragt man direkt per Mail an der FH Dortmund.
     
    Verleihung der Hochschulzertifikate
     
    Statt sich für einen kompletten Bachelorstudiengang einzuschreiben, kann man bei Springer Campus auch für Hochschulzertifikate studieren. Dazu belegt man bestimmte Modulkombinationen. Angebotene Zertifikate sind z.B. Anwendungs-Programmierer, Web-Entwickler oder Software-Architekt. Auch Studierende im Bachelorstudiengang erhalten diese Zertifkate, wenn sie die entsprechenden Modulkombinationen abgeschlossen haben. Die Zertifikate können als Meilensteine im Studium motivierend wirken. Manche Studierende legen sie auch Arbeitgebern vor und können so evtl. schon während ihres Studiums neue Aufgabenbereiche übernehmen. Die Zertifikate werden normalerweise automatisch per Post zugesendet. Die Zertifikate mit den besten Noten werden am Präsenztag persönlich übergeben. (Sofern die Studierenden anwesend sind.)
     
    Ein Absolvent stellt seine Bachelor-Arbeit vor
     
    Herr D. stellte auf dem Präsenztag seine Bachelor-Arbeit vor. Er hat eine Android-App zur Aquariendosierung entwickelt. Das Thema ergab sich bei ihm nicht im beruflichen Umfeld sondern im Privatleben. Er hatte damals mehrere Aquarien. In Aquarien muss man fortlaufend verschiedene Düngemittel zusetzen, damit z.B. Pflanzen gut wachsen: Natrium, Eisen, Nitrat und Kalium. Dazu müssen regelmäßig Messwerte ermittelt werden und dann entsprechende Dosierungen berechnet werden. Herr D. hatte das bislang mit Excel-Tabellen gemacht. Seine Idee war, eine Android-Software zu entwickeln, die auf dem Handy die Messwerthistorie erfasst, die aktuelle Situation bewertet und eine Handlungsempfehlung in natürlicher Sprache gibt. Das Empfehlungssystem ist das pfiffige an der App. Ein wesentlicher Teil seiner Bachelorarbeit drehte sich um Möglichkeiten, ein solches Empfehlungssystem zu implementieren. Herr D. nannte hier:
    - regelbasierte Filter
    - inhaltsbasierte Filter
    - wissensbasierte Filter
    - demographische Filter
    - kollaborative Filter
    - hybride Filter
     
    Herr D. hatte sich für Expertensystem entschieden, also für einen wissensbasierten Filter.
     
    Die Umsetzung ging durch die klassischen drei Schritte:
    - objektorientierte Analyse (OOA)
    - objektorientiertes Design (OOD)
    - objektorientierte Programmierung (OOP)
     
    Zu seiner Bachelorarbeit gehörte natürlich auch, die Spezifizierung von funktionalen und nicht-funktionalen Anforderungen und dynamische Modellierung, z.B. durch Ablaufdiagramme. Herr D. verwendete (android-üblich) das MVP-Muster. Er zeigte Mock-ups der Oberfläche, die Paketstruktur und ging kurz auf das Datenbankmodell ein. Wichtig im Rahmen seiner Bachelorarbeit war auch eine Testphase und eine Bewertung, wie die zu Beginn spezifizierten Anforderungen umgesetzt wurden. Interessant war am Ende auch eine Gegenüberstellung von UI Mock-ups und dem Aussehen der tatsächlichen App.
     
    Die App heißt AquaCalc, ist aber leider bei GooglePlay noch nicht verfügbar. Sie ist fertig, hat aber noch Bugs, die ausbessert werden müssten. Außerdem müsste das UI noch ein bisschen "aufpoliert" werden. Herr D. konnte sich durch sein Studium beruflich verändern und findet aktuell leider nicht die Zeit, die App fertig zu machen. Für Herrn D. war es seine erste Android-App überhaupt.
     
    Dieser Vortrag war für mich aus mehreren Gründen interessant:
    - Die Themen Projektarbeit und Bachelorarbeit rücken auch für mich langsam näher.
    - Ich hatte bisher angenommen, eine Projektarbeit in einem betrieblichen Umfeld anfertigen zu müssen. Da ich keine einschlägige Beschäftigung habe, war es eine der noch offenen Fragen in meiner Studienplanung, wie und wo ich eine Projektarbeit anfertigen könnte. Herr D. realisierte seine Projektarbeit und die darauf aufbauende Bachelorarbeit aus einem privaten Interesse heraus. Er berichtete uns, dies sei valide. Das Studienbüro hatte ihm einen Betreuer vermittelt, der sein Thema interessant fand und begleiten wollte. Für mich ist das deswegen sehr interessant, weil ich so die Möglichkeit habe, eine Projektidee nicht allein im beruflichen Umfeld zu suchen.
    - Das von ihm gewählte Thema ist kein reines IT-Thema. Für die Aquariendosierung muss man etwas über Chemie und Physiologie wissen. In der Bachelorarbeit musste dieser Teil aber möglichst knapp behandelt werden, weil die Informatik im Vordergrund stehen musste. Dies gelang ihm z.B. durch die Diskussion der verschiedenen Bewertungssysteme und eine begründete Entscheidung für einen bestimmten Ansatz. Auch das ist für mich relevant. Ich könnte im Prinzip in einem beliebigen Problembereich arbeiten, solange ich das aus einer Softwareperspektive tue.
    - Der Studiengang heißt Web- und Medieninformatik und die Programmierung von Web-Anwendungen ist ein inhaltlicher Schwerpunkt. Man ist aber für die Projekt- und auch für die Bachelorarbeit nicht darauf festgelegt. Offensichtlich war im Fall von Herrn D. eine Android-App ein valides Projekt. Auch eine Desktop-Anwendung wäre denkbar. Vermutlich wäre Software-Entwicklung für ein eingebettetes System mit einer maschinennahen Sprache ein wenig zu weit weg von den Schwerpunkten dieses Studienganges, aber insgesamt scheint es eine große Bandbreite an Möglichkeiten zu geben, die Studienanforderungen Projekt- und Bachelorarbeit zu erfüllen.
    - Die App von Herrn D. hatte am Ende noch Bugs. Es war nicht der Anspruch, dass am Ende ein fehlerfreies Produkt steht. Wichtig war, dass es prinzipiell funktionierte und dass eine professionelle Vorgehensweise erkennbar war. Eine perfekt ausgearbeitete App wäre nach Einschätzung von Herrn D. im vorgegebenen Zeitrahmen nicht machbar gewesen. In Anbetracht der vielen Artefakte, die in der Präsentation von Herrn D. gezeigt wurden, ist mir noch einmal klar geworden, dass die Anfertigung der Bachelor-Arbeit innerhalb der Frist ein sehr gutes Zeitmanagement erfordern wird. Dafür werde ich mir rechtzeitig eine gute Strategie zurechtlegen müssen.
    - Herr D. konnte Vorerfahrungen nutzen. Es war zwar seine erste Android-App aber er entwickelt beruflich mit Java und IntelliJ. Die Hürde zu Android und AndroidStudio war aus seiner Sicht vergleichsweise gering. Vermutlich ist es auch für mich sinnvoll, mir ein Projekt zu überlegen, bei dem ich an vorhandenem Wissen anknüpfen kann.
     
    Am Ende seines Vortrages bekam Herr D. nicht nur seine Bachelorurkunde sondern auch die Absolv-Ente verliehen, eine Ente mit Doktorhut, die bei unseren Studierenden sehr beliebt ist. Frau Kreissig wies darauf hin, dass die Absolv-Ente nur bekommt, weil seine Bachelorurkunde persönlich abholt und den Studierenden seine Bachelorarbeit vorstellt.
     
    Herr D. hat übrigens einen ausführlichen Blog über den Verlauf seines Studiums geschrieben, im dem ich schon häufiger mit Gewinn gelesen habe. Da er über seine Erfahrungen mit den einzelnen Modulen recht ausführlich berichtet hat, konnte ich oft sinnvolle Modulkombinationen besser auswählen und planen. Wer eimal reinschauen möchte, hier ist der Link:
    https://wmifernstudium.wordpress.com/
     
    Fragerunde und Feedback
     
    - Einzelne Studierende klagen, dass die Korrekturzeiten in bestimmten Modulen ungewohnt lang ausfallen können, so dass es schwierig wird, rechtzeitig zu einem anvisierten Prüfungstermin fertig zu werden. Frau Kreissig rät, sich in solchen Fällen ans Studienbüro zu wenden. Die Mitarbeiter dort gehen solchen Hinweisen nach. (Ich möchte hier ergänzen, dass Tutoren auf der Online-Plattform Abwesenheiten üblicherweise ankündigen und auch entsprechende E-Mail-Benachrichtigungen einrichten. Nach meiner Erfahrung ist es nützlich, seinen Tutor über die eigene Zeitplanung zu informieren.)
    - Studierende anderer Fernhochschulen können EBooks des Springer Verlags über ihre jeweiligen Lernplattformen nutzen. Warum geht das (ausgerechnet) bei Springer Campus nicht? Tatsächlich geht es! Aber nicht über die Lernplattform sondern über die Uni-Bibliothek der FH Dortmund.
    - Manche Studierende möchten gerne im Vorfeld informiert werden, welche Module bald in neuer Auflage erscheinen werden, um sie gegebenenfalls später zu belegen. Fr. Kreissig berichtete, dass Autoren oft zu optimistisch einschätzen, wie schnell sie ein Lehrbuch überarbeiten können. Geplante Termine können oft nicht eingehalten werden. Aus diesem Grund ist die Kommunikation mit Studierenden in diesem Punkt bislang zurückhaltend.
    - Manche Studierende erkundigten sich nach der neuen Plattform. Bei der Einführung gab es ja Schwierigkeiten, so dass viele Studierende lieber wieder zur alten Plattform wechselten. Fr. Kreissig berichtete, dass es inzwischen Wochen ohne Tickets gibt. Die neue Plattform funktioniere nun recht gut. Die Suchfunktion wolle man noch verbessern. Die Studierenden äußerten Verbesserungsvorschläge, z.B. zur Verlinkung zwischen Tests und den Wissensbausteinen, auf die sich die Aufgaben beziehen, um z.B. bei falschen Lösungen schneller zu den relevanten Kapiteln navigieren zu können.
     
    Eine persönlicheEmpfehlung zum Schluss
     
    Die Präsenztage in Dortmund sind überlicherweise zugleich auch Informationstage für Studieninteressierte. Auf Anfrage teilte mir das Studienbüro mit, dass es bei Voranmeldung durchaus möglich sei, an den angebotenen Fach-Vorträgen und Mathe-Tutorien teilzunehmen. Insbesondere den letzten Punkt halte ich für sehr interessant. Vor Aufnahme meines Studiums habe ich mir nämlich große Sorgen gemacht, ob ich die Anforderungen in Mathematik würde bewältigen können. Zwar hatte ich im Abitur einen Mathe-LK und war damit auch gut zurecht gekommen, aber der Schulstoff lag eben viele Jahre zurück. Ich war mir keinesfalls sicher, ob mir der Wiedereinstieg ins Thema gelingen würde. Ich glaube, wer einmal in so ein Mathe-Tutorium reinschnuppert, gewinnt einen guten Eindruck, worum es im Modul Mathe2 geht, dass von vielen Studierenden als der "Knackpunkt" des Studium empfunden wird. Wer das bewältigt, sollte am Rest nicht scheitern. Insofern möchte ich dazu ermuntern, bei Studieninteresse Kontakt mit dem Studienbüro aufzunehmen und die Möglichkeit zu nutzen, sich am Präsenztag selbst ein Bild zu machen. Gerade der informelle Austausch mit anderen Studierenden kann für eine fundierte Studienentscheidung sehr wichtig sein.
     
    Weitere Infos zum Verlauf des Präsenztages folgen.
×
  • Neu erstellen...