Zum Inhalt springen

kurtchen

Communitymitglied
  • Gesamte Inhalte

    879
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von kurtchen

  1. Also, ich weiß ja nicht, wo Du vor 20 Jahren gelebt hast, aber getankt habe ich damals schon selbst. Online-Banking hatte ich damals noch nicht, Telefonbanking gab es aber schon. Oder Überweisungen per BTX. Und bis zum Onlinebanking war es definitiv nicht mehr weit. Backregale in den Supermärkten und Aufbacksemmeln kannte ich auch. Ikeamöbel haben wir schon damals selbst zusammengeschraubt. Die gute alte Zeit muss schon ein bisschen länger her sein.
  2. Ich würde mir wünschen, dass Springer Campus einen konsekutiven Master anbietet, der auf dem Bachelor in Web- und Medieninformatik aufbaut.
  3. Nein. Das war eher dem Gefühl geschuldet, dass es noch nicht reichen würde. Ich hatte beim ersten Durcharbeiten zunächst den Eindruck, die verschiedenen Konzepte zu verstehen. Beim Bearbeiten der Einsendeaufgaben habe ich aber immer wieder gemerkt, dass mein Verständnis doch noch zu oberflächlich war. Außerdem fiel es mir schwerer als bei anderen Modulen, die Themen im Gedächtnis zu behalten. Ich musste immer wieder zurückblättern und Dinge noch mal nachschlagen. Das machte mir Sorge im Hinblick auf die Klausur. Das Lehrbuch ging Nebenläufigkeit ja aus verschiedenen Blickwinkeln an. Erst Theorie und Konzepte. Dann Umsetzung in Java. Dann Modellierung in UML. Später im Modul noch mal Java-Sprachkonstrukte, die die Implementierung z.B. von eigenen ausgefalleneren Monitor-Konstrukten ermöglichen. Beim zweiten Lesen habe ich gemerkt, dass ich die theoretischen Konzepte besser verstand, weil ich nun wusste, wie die in Java umgesetzt werden. Und natürlich weil ich darauf bezogene Aufgaben gelöst hatte. Umgekehrt habe ich die Implementierungen in Java wieder besser verstanden, weil mir die theoretischen Hintergründe klarer waren. Ich hatte dann auch mehr eigene Ideen, wie man den Code verändern kann. Beim zweiten Lesen habe ich mir viele Anmerkungen ins Buch geschrieben. Das mache ich normalerweise schon beim ersten Mal, aber diesmal hatte ich beim ersten Lesen noch nicht das Gefühl, ganze Absätze treffend auf eine kurze Aussage verdichten zu können. Erst beim dritten Durchgang und auch mit den Rückmeldungen aus der Online-Klausur hatte ich das Gefühl, jetzt wird es leichter. Ich habe die Aufgaben aus der Online-Klausur noch mal überarbeitet. Das war auch toll von meinem Tutor, dass er da noch mal drüber geschaut hat und mir Rückmeldungen gegeben hat. Offiziell endet die tutorielle Betreuung nämlich mit der Korrektur der Online-Klausur.
  4. Einordnung und Voraussetzungen Das Modul "nichtsequentielle Programmierung" (NSP) ist für Studierende im Studiengang "Web- und Medieninformatik" das letzte im Fachgebiet "Grundlagen der Informatik und Programmierung". Springer Campus empfiehlt, es im 5. Semester zu belegen. Die Module "Grundlagen der Informatik 1 & 2" werden als inhaltliche Voraussetzung genannt. Konkret heißt das, dass man Grundkenntnisse in strukturierter, prozeduraler und objektorientierter Programmierung in Java braucht. Auch Kenntnisse der generischen Programmierung, wie sie GdI2 vermittelt, sind unbedingt nötig. Meiner Meinung nach reicht das aber nicht. Ich möchte ergänzen, dass das Modul "Rechnerstrukturen und Betriebssysteme" eine nötige Vorbereitung ist, weil man hier einiges an Hintergrundwissen über Speicher- und Prozessverwaltung lernt. Auch GdI3 sollte man meiner Meinung nach belegt haben, weil die Kursteile zu Nebenläufigkeit und GUIs eigentlich voraussetzen, dass man sich ein bisschen mit Swing und dem AWT auskennt. Schließlich halte ich auch GdI4 "Algorithmen und Datenstrukturen" für zumindest sinnvoll, weil es bei der nichtsequentiellen Programmierung auch um den nebenläufigen Zugriff auf verschiedene Datenstrukturen geht. Es ist sinnvoll, wenn man diese kennt und versteht. Studierende im Studiengang Wirtschaftsinformatik müssen NSP nicht absolvieren, können es aber als Vertiefung belegen. Außerdem ist NSP ein Pflichtmodul der wissenschaftlichen Weiterbildung "Anwendungsprogrammierer". Das könnte für manche Studierende interessant sein, die sich unsicher sind, ob ihre Ausdauer für ein komplettes Bachelorstudium reicht. Das Lehrbuch Grundlage für den Kurs ist das Lehrbuch "Java: Nebenläufige und verteilte Programmierung" von Peter Ziesche und Doga Arinir. Es hat an die 360 Seiten, aber wegen recht umfangreicher Anhänge kommt der reine Kurstext auf nur ca. 330 Seiten, was für einen Springer Campus Kurs eher im unteren Mittelfeld liegt. Diese 330 Seiten haben es allerdings in sich. Ich empfinde NSP als das herausfordernste der Java-Module. Der Titel ist Programm. Nebenläufige Programmierung heißt, dass es mehr als einen Kontrollfluss gibt. Verteilte Programmierung heißt, dass Teile einer Anwendung auf verschiedenen Rechnern ausgeführt werden, sozusagen Nebenläufigkeit plus Entfernung. Wichtig ist zunächst die grundlegende Unterscheidung zwischen Prozessen und Threads. Prozesses laufen in je eigenen Speicherbereichen, während sich Threads als leichtgewichtige Prozesse einen Speicherbereich teilen. Die Möglichkeit, so auf gemeinsamen Daten zu arbeiten, erleichtert einerseits die Kommunikation und Kooperation zwischen den Threads. Andererseits schafft das viele Probleme, die erst zur Laufzeit auftreten und schwer reproduzierbar sind. Warum ist nebenläufige Programmierung schwierig? Als Programmierer kann man sich vorstellen, dass nebenläufige Programmteile auf verschiedenen CPUs zur Ausführung kommen. In modernen Multicore-Systemen kann und wird das auch tatsächlich so sein. Da in modernen Betriebssystemen stets Dutzende von Prozessen laufen, werden nebenläufige Programmteile de facto häufig auf einer CPU oder einem Kern ausgeführt werden, der zwischen verschiedenen Threads umschaltet. Es ist nicht vorhersehbar, in welcher Reihenfolge die Threads zur Ausführung kommen werden. Wenn Threads eine gemeinsame Datenstruktur manipulieren, kann man also nicht vorhersagen, was in welcher Reihenfolge passieren wird. Genau hier liegt eine der großen Herausforderungen. Als Programmierer gewöhnt man sich nämlich zunächst an das schön planbare Nacheinander eines Programmablaufs. Man trainiert sich an, in Sequenzen zu denken, Abläufe in Arbeitsschritte und Zustandsabfolgen zu zerlegen. Der Programmzustand ist so zu jedem Zeitpunkt das Ergebnis dessen, was zuvor passiert ist. Bei nebenläufigen Programmen ist das im Prinzip auch so, aber es gibt Ungewissheit, was in welcher Reihenfolge passieren wird. Man ist gezwungen, viel darüber nachzudenken, welche Ausführungsreihenfolgen möglich sind und welche Folgen das haben könnte. Auch wird das Testen eines Programmes schwieriger. Ein Programm kann bei Tests hervorragend laufen und im Dauerbetrieb kommt es zu bizarren Bugs, mit denen man nie gerechnet hätte. Nebenläufige Programmierung ist leider komplex. Theoretische Konzepte Kommen wir zum Aufbau des Kurses. Die ersten 60 Seiten sind eine Einführung in die nebenläufige Programmierung. Es beginnt mit grundlegenden Konzepten: - Anwendungen und Prozesse - Threads und Scheduling - Speicherverwaltung mit Stapel und Halde, zunächst sequentiell - und Speicherverwaltung bei mehreren Threads - Vorteile von Nebenläufigkeit: Bessere Performance und bessere Reaktionszeiten, vor allen in Multicore-Umgebungen - Probleme nebenläufiger Programme - Synchronisation und kritische Abschnitte - Monitore - Lebendigkeit - Verklemmungen Insbesondere bei den Ausführungen zur Speicherverwaltung musste ich schon sehr konzentriert lesen, um nachvollziehen zu können, was genau auf Stapel und Halde z.B. bei der Initialisierung eines GUIs passiert. Auch wenn hier Codebeispiele in Java gegeben werden, geht es in diesem Kursteil nicht um die Programmiersprache Java sondern um Konzepte. Die Umsetzung in Java Diese Konzepte werden in den folgenden 60 Seiten mit Leben erfüllt, denn nun geht es um die Realisierung in Java. Man lernt: - Threads zu erzeugen, indem man von Thread abgeleitete Klassen programmiert. - Die Schnittstelle Runnable zu nutzen, um Aufträge einem Thread zur Ausführung zu übergeben. - Gegenseitigen Ausschluss zu realisieren, indem man Methoden oder Codeabschnitte als synchronized kennzeichnet. - Monitore in Java zu implementieren, in denen Threads schlafen gelegt werden, die auf Ressourcen warten müssen. - Erste Strategien, um Verklemmungen zu vermeiden. Das Kapitel endet mit einem Fallbeispiel "Generisches Suchsystem", an dem die neuen Konzepte in einer Anwendungssituation gezeigt werden sollen. Dieses Fallbeispiel, dass sich durch den Kurs zieht, ist einer meiner wenigen Kritikpunkte. Während das Fallbeispiel Auftragsverwaltung aus GdI3 komplett und ausführbar vorlag und ausprobiert werden konnte, ist das generische Suchsystem nicht lauffähig, weil nicht komplett ausprogrammiert. Man kann die Klassen compilieren, aber man kann es nicht in Aktion erleben. So hat man nur eine statische Sicht auf den Code: Das hat didaktisch zwar auch einen hohen Wert, aber mir hätte es geholfen, mit dem Fallbeispiel herumspielen zu können, den Code in der Ausführung zu erleben. Dieser Aspekt hat mir bei diesem Kurs gefehlt. Zum Glück gibt es viele andere Codebeispiele im Kurs, die ausführbar sind und zum Experimentieren einladen. Modellierung von Nebenläufigkeit in UML Es folgt ein kurzes Kapitel über die Modellierung von Nebenläufigkeit in der UML. In den sonst so wichtigen Klassendiagrammen ist sie nicht so gut darstellbar. Nebenläufigkeit ist etwas, dass sich zur Laufzeit entfaltet. Sie kann daher besser mit Aktivitätsdiagrammen, Sequenzdiagrammen und Zustandsautomaten dargestellt werden. Hier wird auch auf den Anhang verwiesen, bei dem noch einmal die Petri-Netze knapp wiederholt werden, die ich ja schon aus Softwaretechnik 1 kannte. Die Markenwanderung im Petri-Netz hilft nämlich, Aktivitätsdiagramme besser zu verstehen. Hier sieht man, dass die Module oft schön untereinander vernetzt sind. Dieses Kapitel ist kurz, aber für die Präsenzklausur sollte man sich das gut anschauen. Vertiefende Kapitel zur Nebenläufigkeit in Java Nun kommt ein Kapitel zum Entwurf nebenläufiger Anwendungen in Java. Dieses Kapitel ist eine Sammlung verschiedener Klassen, die beim Entwurf nebenläufiger Anwendungen hilfreich sein können. Sie stammen meist aus java.util.concurrent. Man lernt hier vieles über: - den Unterschied zwischen threadsicheren und nebenläufigen Klassen - verschiedene Arten von Warteschlangen und Puffern - Container mit copy-on-write-Semantik, deren Iteratoren bei nebenläufigen Schreibzugriffen weiter laufen können. - verschiedene nebenläufige Container - Auftragsdienste und Threadpools, die eine Anzahl von Threads zum Abarbeiten von Auftragen bereithalten. - Aufträge mit Ergebnis, die etwas komplizierter zu handhaben sind. - Flexible selbst implementierte Monitore mit eigenen Lock-Objekten und Conditions - Leser-Schreiber-Synchronisation - Atomare Operationen Als Anwendungsbeispiele dienen hier nebenläufige Matrizenmultiplikation und ein nebenläufiger Quicksort. Diese Beispiele eigenen sich gut für eigene Experimente. Ein Problem mit diesem Kursteil ist: Die einzelnen Klassen werden recht knapp vorgestellt. Die Codebeispiele sind ausreichend aber oft nur Skizzen. Es fehlt häufig die Einbettung in einen Anwendungskontext, wie sie z.B. bei der Matrizenmultiplikation gegeben ist. Oft wird auf die API-Dokumentation verwiesen, die man tatsächlich auch braucht, will man das alles verstehen. Das Kapitel ist eher eine Sammlung von Methoden und hat für mich keinen richtigen roten Faden. Dafür ist hier die Abstimmung mit den Einsendeaufgaben sehr gut. Die laufen meist darauf hinaus, etwas zu programmieren, bei dem die vorgestellten Klassen zum Einsatz kommen. Oft reicht am Ende wenig Code. Trotzdem habe ich hier regelmäßig gemerkt, was ich eben noch nicht verstanden hatte. Ich musste mich regelmäßig durch die API-Dokumentation wühlen, um Erfolg zu haben. Rückblickend meine ich, dass das mehr gebracht hat als ein Text, der von vorneherein alle Eventualitäten erklärt. Das Lehrbuch lässt genug offen, um in den Aufgaben Spielraum für eigene Erkundungen und Aha-Erlebnisse zu haben. Im Zusammenspiel mit den Aufgaben funktioniert das Buch sehr gut. Im nächsten Kapitel geht es um fortgeschrittene Konzepte von Nebenläufigkeit in Java. Hier geht es z.B. um: - das kontrollierte Beenden von Threads - Swing-GUIs und Nebenläufigkeit: Fallbeispiel ist hier die Fortschrittsanzeige eines nebenläufigen Auftrages. Eine alltägliche Situation, die komplizierter ist als man zunächst denkt. - Caches und Synchronisation Ans Eingemachte geht es mit den Abschnitten über Caches und Synchronisation. In modernen PCs haben die CPUs ja mehrstufige Caches, in denen sie oft benötige Daten ablegen. Arbeiten mehrere CPUs parallel, stehen im Cache eventuell Daten, die im RAM schon längst geändert wurden. Eine gemeinsam genutzte Variable kann so aus Sicht verschiedener CPUs oder Kerne zugleich verschiedene Werte haben, was dem intuitiven Verständnis von Speicherinhalt widerspricht. So etwas kann zu bizarren und schwer nachvollziehbaren Bugs führen. Java bietet Sprachkonstrukte, mit denen man einen Refresh oder Flush des Caches erzwingen kann. Diese sollte man aber nicht ständig einsetzen, weil so die Zugriffszeiten auf Speicherinhalte steigen und das Programm langsamer wird. Man kommt also nicht umhin, sich zu überlegen, was man tut. Auch in diesem Kapitel war die Verzahnung mit den Einsendeaufgaben sehr gut. Verteilte Programmierung Im letzten Kapitel geht es dann um verteilte Anwendungen mit RMI (Remote Methode Invocation). Eine Java-Anwendung kann auf mehrere Rechner verteilt sein, z.B. auf einen Client und einen Server. Ein Client kann Methoden auf dem Server aufrufen. Dazu erhält er über das Netz sogenannte Stummel-Objekte, die sozusagen nur die Schnittstelle und keine Implementierung enthalten. Arbeitet man mit RMI, so implementiert man viele Dinge etwas anders als bei einer Anwendung, die lokal läuft. Entfernte Methodenaufrufe dauern relativ lange. Darum bieten sich Methoden an, die z.B. mehrere Attribute eines Objektes auf einmal abfragen oder verändern. Es war schwierig, zum Thema RMI gute und aktuelle Quellen neben dem Kursmaterial zu finden. Manche Codebeispiele liefen nicht mehr so wie im Buch beschrieben, weil inzwischen verschärfte Sicherheitskonzepte gelten. Ich habe hier nicht alles ausprobieren können. Verteilte Programmierung ist komplex. Dies gilt auch für die Verteilung und Installation von Anwendungen. Ich fand es gut, dass dieses Thema behandelt wurde, merkte aber an dem Punkt auch, dass es Grenzen gibt, wie viel Stoff ich für eine Modulprüfung verdauen kann. Zum Glück wies mein Tutor mich darauf hin, dass dieses letzte Kapitel nicht klausurrelevant ist. Für den Online-Test und die Online-Klausur ist es aber wichtig, also sollte man sich gut damit beschäftigen. Online-Tests und Online-Klausur Bei den Tests gab es in diesem Kurs eine Besonderheit. Es waren vergleichweise wenige und zu mehreren Kapiteln gab es gar keine. Der Abschluss-Test deckte aber auch diese Kapitel ab. Hier musste man also direkt liefern ohne zuvor an Fragen zum gleichen Stoff sein Verständnis überprüfen zu können. Es ist mein Eindruck, dass hier bewusst noch eine kleine Hürde vor den ersehnten Bonuspunkten eingezogen wurde. Tatsächlich habe ich bei diesem Kurs nur vergleichsweise wenige Bonuspunkte erringen können, sowohl im Online-Test als auch in der Online-Klausur, die ich ebenfalls als herausfordernd empfand. Der eigentliche Nutzen der Online-Klausur war denn auch das Feedback meines Tutors, das mir ermöglicht hat, die Aufgaben noch einmal zu überarbeiten und dabei noch einige Einsichten zu erlangen. Auch in der Online-Klausur kann Stoff aus dem gesamten Kurs drankommen, auch zu dem Kapitel über RMI. Präsenzklausur Für die Präsenzklausur habe ich das Lehrbuch insgesamt 3 mal durchgearbeitet und mit vielen Anmerkungen versehen. Außerdem habe ich mir zum Thema viel Sekundärliteratur aus der Unibibliothek besorgt. Einen konkreten Titel nennen möchte ich aber nicht, weil ich in den meisten Büchern immer nur kurze hilfreiche Abschnitte gefunden habe. Das Lehrbuch von Ziesche und Arinir ist schon sehr gut zusammengestellt und behandelt sehr viele Konzepte, die man anderswo weit verstreut zusammensuchen muss. So kam ich letztlich doch immer wieder darauf zurück. Ich würde für die Klausur empfehlen, die Kapitel 2 bis 5 gründlich zu wiederholen. Die Präsenzklausur war breit angelegt. Ein Mix aus Wissensfragen, Code analysieren, Code schreiben, UML-Diagramme zeichnen. Inhaltlich wurden eher die Grundkonzepte abgeprüft und nicht so sehr ausgefallene Klassen aus java.util.concurrent. Ich würde empfehlen, die theoretischen Grundlagen und die Kapitel zur UML gut zu wiederholen. Und die grundlegenden Kapitel zu Threads in Java. Damit hat man schon mal einen guten Teil abgedeckt. Strategisch würde ich bei dieser Klausur dazu raten, erst die leichteren Aufgaben mit weniger Punkten zu machen und erst dann die umfangreicheren. Ich habe es umgekehrt gemacht, aber das war hier klar die falsche Strategie, weil ich an irgendeinem Punkt abbrechen musste und später nur schwer wieder reinkam. Eine Aufgabe war etwas anspruchsvoller, weil ein Thema, dass im Kurs nur recht knapp vorgestellt wurde, nun in einer Anwendungssituation ausprogrammiert werden sollte. Mein Tipp: Wenn im Kurstext die Rede davon ist, sich gewisse Dinge noch einmal in der API anzuschauen, dann macht das. Kann auch nicht schaden, die knappen Codebeispiele abzutippen, auszuführen und selbst ein bisschen damit zu experimentieren. Das bezieht sich vor allem auf Kapitel 5. Fazit Insgesamt wieder ein schöner Kurs. Leider ist damit die Serie der Java-Module nun vorbei. Schade, denn gerade die haben mir besonders viel Spaß gemacht. Es wird noch ein Wiedersehen mit Java geben, weil auf mich noch der Kurs "Java Server Pages" aus dem Fachgebiet "Web- und Medieninformatik" wartet. Da geht es dann um serverseitige Anwendungen, die dynamisch HTML erzeugen. Das macht man meistens mit PHP aber bei Springer Campus eben mit Java. Nachtrag (08.12.2016) Heute kam das Ergebnis der Präsenzklausur. Ich hatte Glück und habe ziemlich gut abgeschnitten. Hier konnte ich wieder einmal lernen, dass ich mich nicht entmutigen lassen sollte, auch wenn der Stoff eines Moduls am Anfang schwer zu fassen ist. Nichtsequentielle Programmierung habe ich als das schwierigste der Java-Module empfunden. Ich habe hier ein paar Anläufe mehr gebraucht, um die Konzepte wirklich zu verstehen. Gerade die Online-Klausur, bei der noch vieles schief gelaufen ist, hat mir hier noch einmal wertvolle Rückmeldungen gebracht. Auch weil mein Tutor sich nicht damit begnügt hat, meine Arbeit nur mit Punkten zu bewerten sondern differenzierte inhaltliche Rückmeldungen gegeben hat, wo genau die Mängel meiner vorgelegten Lösungen waren. Das hat mir erlaubt, mich "auf den letzten Metern vor dem Ziel" noch einmal zu steigern. Ich denke, dass das ganze auch ein bisschen mit seelischer Reife zu tun hat. Wenn ich an mein Erststudium zurückdenke, so meine ich, dass ich mich damals von Schwierigkeiten viel schneller habe verunsichern lassen. Ich bin jetzt ein paar Jahre älter und habe in meinem Leben auch den einen oder anderen Misserfolg wegstecken müssen, privat wie beruflich. Da erlebt man, dass man nach einen Sturz auch wieder aufstehen kann. Dass Fehler vor allem den aktuellen Lernstand wiederspiegeln, aber eben längst nicht das eigene Potential für die Zukunft. Natürlich hatte ich das auch mit 19 Jahren schon einmal gehört. Aber jetzt ist das eigene Erfahrung und nicht der gute Rat anderer. Es macht viel mehr Spaß als früher, mit dieser veränderten Perspektive zu studieren.
  5. Heute kam noch eine Mail vom Studienbüro. Wer lieber mit der alten Plattform weiterlernen möchte, kann eine Mail ans Studienbüro schicken und das für sich umstellen lassen. Ich habe mich erst mal dagegen entschieden, weil ich finde, dass es Zeit wurde für ein Design, das sich flexibel an verschiedene Bildschirmgrößen anpasst. Besser finde ich, Feedback zu geben, wo es noch hakt, damit die unvermeidlichen Kinderkrankheiten behoben werden. Es hat sich in den letzten 2 Wochen ja auch schon etwas getan. Aber wer die alte Plattform zurück will, der kann sie haben.
  6. Inzwischen hat sich an der neuen Plattform ein schon bisschen was getan. Die Aktualisierung der Farben in der Navigation scheint nun z.B. zuverlässig zu funktionieren. Mir fallen auch kleine sinnvolle Verbesserungen auf. Beim Absenden von Aufgaben war es z.B. empfehlenswert, die hochgeladenen Dateien oder die ins Textfeld eingetippten Texte zunächst mal zu speichern. Dafür gab es einen Button "Zwischenspeichern". Dann erst sollte man Absenden drücken. Sonst konnte es passieren, dass beim Tutor ein leeres Formular ankam. Inzwischen gibt es nur den Button "Zwischenspeichern". Erst wenn man den gedrückt hat, erscheint der "Absenden"-Button. Fehlbedienung somit ausgeschlossen. Es sind Kleinigkeiten, aber viele Kleinigkeiten summieren sich. Die neue Plattform hat ihre Vorzüge. Auf Änderungen beim Farbschema hoffe ich weiter.
  7. Allgemein wird ja angenommen, schwarze Schrift auf hellem Hintergrund sei gut zu lesen. Und so ist man es ja auch vom Papier gewohnt. Während bei Röhrenmonitoren früher helle Schrift auf dunklem Hintergrund üblich war, verwendet man seit dem Aufkommen graphischer UIs auch für den normalen Home- und Office-Nutzer dunkle Schrift auf hellem Grund. So ist es ja auch hier auf Fernstudium-Infos. Grundsätzlich finde es nicht so leicht zu lesen wenn: - der Hintergrund relativ hell, also fast weiß ist - die Schrift relativ klein ist - die Schrift relativ dünn ist - die schrift nicht richtig schwarz sondern grau ist Problematisch ist vor allem ein zu heller Hintergrund, der die Schrift "überstrahlt" oder eine nicht schwarze Schrift. Fernstudium-Infos hat einen recht hellen Hintergrund. Die dunklen Hintergründe im Kopfbereich der Seite und die etwas dickere helle Schrift sind dagegen für mich angenehm. Wenn ich in der IDE arbeite, verwende ich immer ein dunkles Farbschema also helle Schrift auf schwarzem Grund. Texte schreibe ich oft erst in einem Editor, weil mich das diszipliniert, mir erst mal über den Inhalt Gedanken zu machen und nicht zwischendurch mit dem Layout rumzuspielen. Auch meine Editoren bieten alle helle Schrift auf dunklem Grund. Das kann ich natürlich nicht erwarten, das Homepages so designed werden. Es gibt Browserplugins, die so etwas regeln. Auch habe ich die Angewohnheit, Abschnitte, die ich gerade lese, mit der Maus als Textblock zu markieren, wobei die Darstellung invertiert. Das wirkt auf Leute in meiner Umgebung oft irritierend. Darum gefiel es mir ja auch so gut, dass man in der alten Plattform der W3L zwischen verschiedenen Farbschemata wählen konnte.
  8. Tipp für künftige Studierende in diesem Modul: Ich habe lange darüber nachgedacht, was ich beim nächsten Mal besser machen würde, um in der Klausur nicht so unter Druck zu sein und meine Leistung besonnen erbringen zu können. Meine Achillesferse waren die Petri-Netze. Ich konnte sie gut nachvollziehen, aber sie aktiv entwerfen, um damit Probleme zu modellieren, da war ich einfach nicht routiniert genug. Ein Problem ist, dass es dazu im Kurs nur eine Einsendeaufgabe gibt. Im Lehrbuch waren verschiedene Netze für archetypische Problemstellungen vorstellt. Die habe ich zur Vorbereitung alle abgezeichnet und mir vorgestellt, wie die Marken-Wanderung ablaufen würde. Heute würde ich die wahrscheinlich in Visual Objekts Net++ nachbauen und noch mehr damit rumspielen, verschiedene Anfangsszenarien setzen, die Netze ein bisschen umbauen und schauen, was passiert. Das wäre ein möglicher Ansatz, um im AKTIVEN Umgang mit Petri-Netzen besser zu werden. Außerdem würde ich versuchen, mir zusätzliches Übungsmaterial zum Thema zu besorgen. Sprich: Ich würde in die lokale Uni-Bibliothek fahren und nach Lehrbüchern suchen, die Übungsaufgaben zu Petri-Netzen enthalten. Solche, wo man wirklich etwas entwerfen soll, was ein Problem löst. Und dann würde ich viel mit Visual Objects Net++ rumspielen. Ich hoffe, dass es künftigen Studierenden mit diesen Tipps möglich ist, ihre Abschlussklausur ein wenig gelassener anzugehen als ich.
  9. Eigentlich müsste ich heute dringend für "Nicht-sequentielle Programmierung" lernen. Aber man muss sich auch Zeit nehmen, seine Erfolge zu feiern. Softwaretechnik 1 ist bestanden. Und zwar sogar mit gar nicht so wenigen Punkten. Zusammen mit den Bonuspunkten ist es ein schönes Ergebnis geworden. Mit der Note bin zufrieden, mit meiner Leistung in der Klausur nicht. Ich war ganz schön unter Zeitdruck und bin einfach drauf los geprescht, um in der knappen Zeit irgendwie durchzukommen. Da hätte ich auch gut in der Sackgasse landen können. Ich würde sagen, es war schon eine gute Portion Glück dabei, dass der erste "Riecher" anscheinend doch oft richtig war. Was soll's? Softwaretechnik 1 ist geschafft und sogar mit respektablem Ergebnis. Ich freu mich.
  10. 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.
  11. Zum Kommentar von jadasklappt möchte ich hier noch einmal öffentlich bemerken: Die Präsenzveranstaltungen sind seit dem Sommersemester 2016 freiwillig. Dementsprechend entschuldigt man sich nicht mehr, wenn man verhindert ist. Man meldet sich an, wenn man teilnehmen möchte. Ich versuche, die Präsenzveranstaltungen möglichst zu nutzen, weil es schön (und oft auch hilfreich) ist, andere Leute zu treffen, die vor den gleichen Problemen und Herausforderungen stehen, wie man selbst.
  12. Wenn man sich auf der Lernplattform einloggt, kommt eine Begrüßung mit einer knappen sachlichen Info zur Übernahme der W3L durch Springer Campus. Abgesehen von dem Springer-Logo in der linken oberen Ecke sieht alles aus wie gewohnt und funktioniert auch so.
  13. 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.
  14. Softwaretechnik 1 ist das erste von insgesamt drei aufeinander aufbauenden Modulen. Ergänzt wird es um die Module "Softwaremanagement" und "Software testen". Diese fünf Module bilden den Studienbereich "Softwaretechnik" und sind für Studierenden im Studiengang "Web- und Medieninformatik" Pflicht. Studierende der Wirtschaftsinformatik müssen "Softwaretechnik 3" und "Software testen" nicht belegen. Für Studierende beider Studiengänge wird ein Vertiefungs-Modul "Softwaremanagement 2" angeboten. Das Modul Softwaretechnik 1 basiert auf dem "Lehrbuch der Softwaretechnik" von Helmut Balzert. Zugeschickt bekommt man Band 1 "Basiskonzepte und Requirements Engineering". Beim Auspacken erlebt man die erste Überraschung. Es ist kein Buch vom W3L-Verlag sondern vom Spektrum Verlag. Die zweite Überraschung ist, dass es ein ziemlich dicker Wälzer von über 600 Seiten ist. Der didaktische Aufbau ist aber durchaus ähnlich, wie man das von der W3L gewohnt ist. Herr Balzert hat ja auch den Studiengang "Web- und Medieninformatik" der W3L aufgebaut. Man kommt mit dem Format gut zurecht. Außerdem ist wird dieses Lehrbuch nicht allein im Modul "Softwaretechnik 1" verwendet sondern auch in "Softwaretechnik 2". Dieses Modul behandelt die Kapitel I bis III. Man landet so bei einem üblichen Umfang von 430 Seiten. Prinzipien und Werkzeuge Die ersten 100 Seiten des Lehrbuches behandeln Basistechniken. Interessant ist vor allem das Kapitel "Prinzipien". Hier werden verschiedene Begriffe entwickelt, die im weiteren Verlauf des Kursmoduls von Bedeutung sind: Abstraktion, Strukturierung, Bindung und Kopplung, Hierarchisierung, Modularisierung, Geheimnisprinzip, Lokalität, Verbalisierung. Betrachtet werden außerdem die Abhängigkeiten zwischen diesen Prinzipien. Dieser Abschnitt des Kurses fühlte sich teilweise fast schon wie ein geisteswissenschaftliches Modul an. Man sollte beim Lesen regelmäßig innehalten und über die eingeführten Begriffe nachdenken, zum Beispiel darüber, was für Bezüge es zwischen Struktur und Hierarchie gibt und wie sich Hierarchien von Strukturen unterscheiden. Herr Balzert entwickelt die Begriffe sehr präzise, unterscheidet sehr genau. Diesen Teil des Kurses habe ich sehr geschätzt. Ich halte Begriffe für wichtig, weil man sie braucht, um sich mit anderen auszutauschen - sei es im direkten, kollegialen Dialog, sei es indirekt, indem man Bücher, Fachartikel oder Dokumentationen liest. Der Stoff dieses Kursabschnittes wurde allein durch Tests abgeprüft. Die waren gut gestellt und brachten einen noch einmal ins aktive Nachdenken über das Gelernte. Ein weiterer größerer Abschnitt behandelte Werkzeuge in der Softwaretechnik. Die sind natürlich einen ständigen Wandel und auch gewissen Moden unterlegen, aber hier geht es darum, Werkzeuge hinsichtlich bestimmter Operationen zu klassifizieren: Editieren, Transformieren, Suchen, Visualisierung, Verbinden, Nachvollziehen, Verwalten von Versionen und Änderungen, Dokumentieren, Messen, Verfolgen und Überwachen, Prüfen, Kommunizieren. Für alle diese Funktionen werden auch konkrete Beispiele genannt. Den Abschluss bilden Kriterien für die Auswahl von Werkzeugen. All dies war interessant aber auch ein wenig theoretisch. Das änderte sich mit dem Kapitel "Basistechniken". Dieses zerfällt in drei Teile: Statik, Dynamik, Logik. Statik Statik Laut meinem Tutor ist das Kapitel Statik für die Praxis der meisten Entwickler am wichtigsten. Hier geht es um: - Zusammenfassung von Funktionen - Funktionsbäume - Pakete - Vererbung - Assoziationen - Multiplizitäten - Aggregationen und Kompositionen - Daten-Strukturen - XML, DTD und XML-Schemata zur Beschreibung von Datenstrukturen - Entity-Relationship-Modelle - Schlüssel, Tabellen und Dateien - Semantische Datenmodelle - Unternehmensdatenmodelle - Multidimensionale Datenstrukturen - OLAP und Hyperwürfel Zur Darstellung der statischen Beziehungen wird in erster Linie die UML verwendet. Man könnte sagen, dass Softwaretechnik 1 in weiten Teilen ein UML-Kurs ist. Dies gilt besonders für das Kapitel Statik. Aber auch andere Notationsformen wie ER-Diagramme mit verschiedenen Notationen für die Kardinalitäten werden behandelt. In diesem Teil des Kurses gibt es nun auch Einsendeaufgaben. Die bestehen in der Regel darin, dass man ein konkretes Szenario geschildert bekommt, in dem eine Software eingesetzt werden soll. Dazu soll nun ein Modell entwickelt werden, oft in UML. Die Aufgaben in Softwaretechnik 1 fand ich oft schwieriger als in anderen Modulen der W3L. Der Abstraktionsgrad ist höher. Im Gegensatz zu Programmiermodulen kann man ein Modell nicht "laufen lassen" und dann erleben, was nicht funktionert. Natürlich würde man merken, dass ein Modell schlecht ist, wenn man anfinge, es in Code umzusetzen und dann auf Schwierigkeiten stieße. Aber genau das soll ja durch eine sinnvolle Modellierung verhindert werden. Hier habe ich selten die volle Punktzahl erzielt. Mit den oft sehr konkreten und detaillierten Rückmeldungen meines Tutors konnte ich meine Lösungen aber überarbeiten und verbessern. Oft habe ich überarbeitete Lösungen noch einmal eingeschickt, um zu hören, ob es so besser ist. Auf diesem Wege habe ich viel gelernt. (Auch wenn das natürlich an den erreichten Punkten nichts ändert.) Dynamik Dieses Kursabschnitt fand ich am schwierigsten. Auch Gesprächen mit Kommilitonen weiß ich, dass es anderen Studierenden ähnlich geht. Auch finden viele Studierende dieses Kapitel weniger praxisrelevant. Das kommt natürlich sehr darauf an, was für eine Art von Software man entwickeln möchte. Während in Statik Beziehungen modelliert werden, die über die Laufzeit eines Programmes stabil bleiben, beschäftigt sich Dynamik mit Veränderungen über die Zeit, also mit Systemen in Bewegung. Hier geht es um Zustandsübergänge, Zustandsänderungen und die Ereignisse, die dazu führen. Das ist natürlich wesentlich komplexer und herausfordernder. Es geht um: - Kontrollstukturen - Nebenläufigkeit - Aktivitätsdiagramme - Geschäftsprozesse und Use-Cases - Zustandsautomaten: Mealy, Moore und Harel - Petrinetze: Bedingungs-Ereignis-Netze, Stellen-Transitions-Netze, Hierarchische-Petrinetze, zeitbehaftete Petrinetze und stochastische Petrinetze - Szenarien - Sequenzdiagramme - Kommunikationsdiagramme Für die Einsendeaufgaben sollten hier Zustandsautomaten entworfen werden. Außerdem sollte ein Petri-Netz entworfen werden, dass ein bestimmtes Problem löst. Für letztes war eine Software empfohlen worden, Visual Objects Net++, die man sich gratis runterladen kann. Die lief leider auf meinem System ziemlich instabil und stürzte häufig ab, was mich viel Zeit gekostet hat. Man sieht dem Programm an, dass es ein paar Jahre auf dem Buckel hat. Hier hätte ich sicher die Möglichkeit gehabt, mich nach aktuelleren Alternativen umzusehen, aber die Arbeit an den Petri-Netzen machte mir nicht so viel Spaß und ich wollte lieber zügig mit dem Thema abschließen. Rückblickend betrachtet, wäre es besser gewesen, hier ein wenig mehr Zeit zu investieren. Mein Tutor hatte mich gewarnt, das Softwaretechnik 1 ein sehr anspruchsvoller Kurs sei, der von vielen Studierenden unterschätzt werde. Ich war hingegen froh, endlich zum dritten Abschnitt "Logik" weitergehen zu können. Logik Vom Kapitel "Logik" erwartete ich, dass es mich wieder mehr interessieren würde. Anfangs wurde ein knapper Überblick über Aussagenlogik, Prädikatenlogik und Temporallogik gegeben. Dann kamen Abschnitte mit klaren Softwarebezug. - Constraints und die OCL in der UML - Entscheidungstabellen und Entscheidungsbäume - Erstellung, Darstellung und Optimierung von Entscheidungstabellen - Entscheidungstabellen-Verbunde - Regeln und regelbasierte Software - Verkettung von Regeln, Lösungssuche, Tiefe-Zuerst-Suche, Breite-Zuerst-Suche, Heuristische Suche - Geschäftsregeln Als konkrete Realsierung von regelbasierter Software wird zum Beispiel die Sprache Prolog genannt, die für bestimmte Spezialanwendungen elegante Lösungen ermöglicht. Für die Einsendeaufgaben sollte man wieder Klassendiagramme zeichnen, diesmal ergänzt um Informationen über Constraints, z.B. formuliert mit OCL. Außerdem sollte man verschiedene Entscheidungstabellen entwerfen. Dieser Kursteil hat mir wieder viel Spaß gemacht. Online-Klausur Den Online-Test habe ich ganz gut geschafft. Die Online-Klausur fand ich anspruchsvoll und habe auch ein paar dumme Fehler gemacht. Was mir entgegen kam: Es gab Aufgaben zu Petri-Netzen, aber hier ging es darum, die dynamische Entwicklung eines gegebenen Netzes nachzuvollziehen. Einzuschätzen, ob es zu Verklemmungen kommen kann. Das fiel mir relativ leicht. Es war gar nicht so schlecht, dass ich bei den Aufgaben zur Statik ein paar Fehler gemacht habe, weil ich so noch mal viele wertvolle Rückmeldungen von meinem Tutor bekommen habe und noch einmal gezielt ein paar Sachen wiederholt habe. So ging ich in die Präsenzklausur, auf die ich mich eigentlich ganz gut vorbereitet fühlte. Die Präsenzklausur Die Präsenzklausur hat mich dann leider ziemlich kalt erwischt. Ich fand sie viel schwieriger als die Online-Klausur. Vor allem hing ungefähr die Hälfte der Punkte an Stoff aus den Kapiteln zur Dynamik. Unter anderen sollte man ein Petri-Netz entwerfen, das ein konkretes Problem löst. Als Einsendeaufgabe mit genügend Zeit zur Verfügung hätte ich das vielleicht geschafft. Aber Zeit ist eine knappe Ressource, mit der man vor allem in dieser Klausur sehr taktisch umgehen muss. Ich habe noch kein Ergebnis, aber diesmal habe ich ein ziemlich schlechtes Gefühl. Wie hätte ich mich rückblickend besser vorbereiten können? Was könnte ich anderen Studierenden dieses Moduls raten? Ich glaube, im allgemeinen ganz gut reflektieren zu können, wo meine Schwächen gelegen haben. Bei anderen Modulen habe ich auch immer wieder Tipps formuliert, worauf man bei der Prüfungsvorbereitung achten sollte. Bei diesem Modul bin ich erstmals ziemlich ratlos. Ich fand das Niveau im Vergleich zu anderen Modulen der W3L ziemlich hoch. Das liegt sicher auch ein Stück weit in der Natur der Sache. Softwaretechnik ist abstrakter als andere Module. Man hantiert mit Begriffen, Konzepten, Notationen, Modellen. Und man kann - anders als in der Programmierung - nicht mal schnell was ausprobieren und so Feedback vom System erhalten. Hier geht es darum, einen Sachverhalt genau zu analysieren, entscheidende Aspekte zu erkennen und die Beziehungen zwischen ihnen in einer geeigneten Form darzustellen. So schafft man die Blaupause für eine gute Implementierung, die auch wartbar und erweiterbar sein soll. Das ist schon eine anspruchsvolle Aufgabe. Insbesondere bei den Petri-Netzen bin ich ratlos. Ich meine, sie verstanden zu haben. Wenn ich ein Petri-Netz vor mir sehe, einen Ausgangszustand bekomme, so kann ich nachvollziehen, was Schritt für Schritt passieren wird. (Oder passieren kann. Ihr Verhalten ist ja oft nicht-deterministisch.) Aber der Entwurf ist eine ganz andere Herausforderung. Das ist vielleicht ähnlich wie der Unterschied zwischen dem Nachvollziehen und dem Finden eines Beweises in der Mathematik. Vielleicht hätte mir hier ein wenig mehr Übungsmaterial gut getan. Es gab nur eine Einsendeaufgabe zu Petri-Netzen. Vielleicht würde ich mich aktiv nach mehr Übungsmöglichkeiten umsehen, wenn ich dieses Modul nochmals machen müsste. Vielleicht merke ich bei diesem Modul auch, dass ich - im Gegensatz zu vielen meiner Kommilitonen - bislang nicht in einem IT-Beruf arbeite. Ich hatte den Eindruck, in der Klausur einfach nicht auf das Tempo zu kommen, dass ich gebraucht hätte, um die Aufgaben in der gegebenen Zeit zu schaffen. Das habe ich natürlich als Stress erlebt, habe nach schnellen Lösungen gesucht, bin oft den erstbesten Schritt auf die Lösung zugegangen, auch wenn es mich in die Sackgasse geführt hat. Ich hätte gründlicher über meine Entwürfe nachdenken müssen, bevor ich anfange, Teile meiner Diagramme zu zeichnen. Genau diese Zeit habe ich mir nicht genommen, weil ich - vielleicht zu unrecht - glaubte, sie nicht zu haben. Eine klare Antwort, wie ich es beim nächsten Mal besser machen könnte, habe ich noch nicht. Ich hoffe, dass ich außer der Note auch ein bisschen Feedback vom Tutor bekomme. Wenn sich dadurch neue Einsichten ergeben, möchte ich die hier noch nachreichen. Fazit Softwaretechnik 1 war insgesamt ein sehr interessantes Modul. Ich würde sagen, es geht in erster Linie darum, wie man komplexe Zusammenhänge und Prozesse auf wesentliche Aspekte zusammenfasst. Es geht darum, wie man etwas modelliert. Und darum, wie man Modelle mit einfachen graphischen Mitteln so darstellen kann, dass man sie anderen Menschen kommunizieren kann. Das halte ich allgemein für eine nützliche Fähigkeit. Ich glaube, dass viele Konzepte aus diesem Kurs einem sogar helfen könnten, auch in anderen Situationen als der Softwareentwicklung Probleme klarer zu sehen und zu beschreiben. Es geht um "Denkzeuge" und so etwas finde ich immer spannend. Auf das sehr gute Lehrbuch von Herr Balzert werde ich sicher auch in Zukunft immer wieder zurückkommen. Es ist sehr systematisch aufgebaut und eignet sich mit seinen vielen Checklisten sehr gut als Nachschlagewerk. Insofern möchte ich hier ein positives Fazit ziehen. Auch wenn ich befürchte, dass ich mit meiner Leistung in diesem Modul nicht zufrieden sein werde.
  15. Das Modul "Angewandte Mathematik" ist das dritte von insgesamt vier Mathematik-Modulen im Studiengang "Web- und Medieninformatik". Studierende der Wirtschaftsinformatik müssen es nicht machen, dürfen es aber als Vertiefungsfach belegen. Auch wenn es formal - wie bei der W3L üblich - keine Teilnahmevoraussetzungen gibt, gelten Mathe2 (Analysis und lineare Algebra), GdI1 (strukturierte und prozedurale Programmierung) und GdI2 (objektorientierte Programmierung) als inhaltliche Voraussetzungen. Meiner Meinung nach braucht man auf jeden Fall die Kenntnisse in linearer Algebra und Analysis, die Mathe2 vermittelt. Die Programmierkurse wären aus meiner Sicht weniger wichtig. Kursautor von Mathe3 ist wieder Professor Lenze, der schon die Lehrbücher zu Mathe2 geschrieben hat. Die beiden Kurse bauen schön aufeinander auf. Man kann die Bände aus Mathe2 gut zum Nachschlagen nutzen, wenn man bei der Lektüre von Mathe3 merkt, das einem etwas entfallen ist. Auch in diesem Kurs gibt es die hervorragenden PDF-Tools, mit denen man sich zu allen Kapiteln des Buches selbst beliebig viele Übungsaufgaben mit Lösungen generieren kann. Angewandte Mathematik ist natürlich ein Sammelbegriff, der ganz verschiedene Teilgebiete zusammenfasst, die in unterschiedlichen Anwendungssituationen von Bedeutung sind. Herr Lenze hat für diesen Kurs drei Gebiete ausgewählt, die für einen Informatiker interessant sein sollten: Numerik, Grafik und Kryptik. Das Buch beginnt allerdings mit einem Kapitel über Zahldarstellungen und Maschinenzahlen und über charakteristische Rechen- und Rundungsfehler, die beim Rechnen mit Maschinenzahlen auftreten können. Das ist interessant und für manche Anwendungen relevant. Es ist letztlich eine Auffrischung von Stoff, der den Studierenden schon aus GdI1 bekannt sein sollte, wo dieses Thema bereits behandelt wurde. Dieses einführende Kapitel ist nicht klausurrelevant. Teil 1 - Numerik Das Kapitel Numerik fasst verschiedene Näherungsverfahren zusammen. Ausgangspunkt ist der Banachsche Fixpunktsatz. Hier geht es um sogenannte kontrahierende Selbstabbildungen. Das sind Funktionen, bei denen ich mein f(x) wieder neu als x in die Funktion einspeisen kann; die generierten Werte nähern sich dabei von Schritt zu Schritt einem Fixpunkt. Letztlich geht es in der Numerik darum, Funktionen zu finden, die bestimmte Probleme durch schrittweise Näherung lösen. Das ist dann nützlicht, wenn eine exakte Lösung schwierig, unbekannt oder aufwendig ist. Das Kapitel zur Numerik zerfällt in zwei Teile. Im ersten Teil geht es um Anwendungen in der Analysis, im zweiten um Anwendungen in der linearen Algebra. Relevant für die Präsenzklausur ist nur der erste Teil. Aber Achtung: In der Online-Klausur und in den Online-Tests kann - wie schon in Mathe2 - alles drankommen. Die Inhalte zur Analysis: - Mit dem Newton-Verfahren kann man näherungsweise die Nullstelle einer differenzierbaren Funktion in einem Intervall finden, indem man an den Graphen Tangenten anlegt. - Mit dem Heronverfahren kann man Quadratwurzeln reeler Zahlen näherungsweise berechnen. - Das Sekanten-Verfahren ist ein weiteres Verfahren zur Näherung von Nullstellen. - Mit dem Abstieg-Verfahren kann man das Minimum einer Funktion in einem Intervall finden. - Das Dividierte-Differenzen-Verfahren liefert Näherungen für Ableitungen einer Funktion. - Die Trapez- und Simpson-Regel nähern Integrale. - Die iterierte Trapez- und Simpson-Regel machen das gleiche mit verbesserter Genauigkeit. Die Inhalte zur lineare Algebra: - Gesamtschrittverfahren, - Einzelschrittverfahren und - SOR-Verfahren. Damit kann man lineare Gleichungsssysteme näherungsweise lösen, die durch eine reguläre Matrix und einen Vektor gegeben sind. - von Mises-Geiringer Verfahren. Damit kann man Eigenwerte und Eigenvektoren näherungsweise berechnen. Numerik war für mich schon recht interessant. Die Verfahren laufen mechanisch ab und lassen sich gut als Algorithmen implementieren. Im Kurs finden sich dafür auch Code-Schnipsel in Java. Aus dieser Perspektive macht Mathematik auch dem angehenden Informatiker Spaß. Teil 2 - Grafik Auch das Kapitel Grafik zerfällt wieder in zwei Teile. Im ersten Teil geht es um polynomiale Interpolation und Approximation. Das ist eigentlich eine ziemlich interessante Sache. Aus Schulzeiten kennen wir ja noch die Situation: Man bekommt eine Funktionsvorschrift und soll nun eine Reihe von Funktionswerten berechnen, die man in ein Koordinatensystem einzeichnet. Und wenn man genug Koordinaten hat, verbindet man die Punkte zu einem Graphen. Bei der polynomialen Interpolation geht man nun den umgekehrten Weg. Bekannt sind ein paar Koordinaten. Gesucht ist eine Funktionsvorschrift für ein Polynom, das genau durch diese Punkte verläuft. Bei der polynomialen Approximation sucht man ein Polynom, das nur ungefähr durch die gegebenen Punkte läuft, dafür aber einen glatteren Kurvenverlauf aufweist. Man lernt: - polynomiale Interpolation mit Monomen - polynomiale Interpolation nach Lagrange - polynomiale Interpolation nach Newton Gerade die letztere ist ziemlich interessant. Hier kann man nämlich das aus der Numerik bekannte Dividierte-Differenzen-Verfahren anwenden, um sogenannte Newton-Koeffizienten zu bestimmen. Die kann man nutzen, um mit dem Newton-Horner-Schema das Interpolationspolynom effizient auswerten zu können. Man kann also schnell weitere Funktionswerte berechnen, ohne sich die Mühe zu machen, die Funktionsvorschrift explizit zu bestimmen. Auch diese Verfahren lassen sich gut in Code implementieren. Ferner lernt man: - Interpolation nach Aitken-Neville - nach de Casteljau - interpolierende Subdivision nach Dubuc - und schließlich approximierende Subdivision nach Chaikin In diesem Kursabschnitt werden auch Bernstein-Grundpolynome wichtig, die in Mathe2 noch nicht klausurrelevant waren. Für Mathe3 muss man die unbedingt drauf haben. Den zweiten Teil des Grafik-Kapitels bilden Verfahren der Interpolation über Rechtecken und Dreiecken, die in der 3D-Grafik zum Einsatz kommen können. Hier geht es auch um Verfahren zur Schattierung, z.B. um die Gouraud oder die Phong-Schattierung. Dieser recht interessante Teil ist nicht relevant für die Präsenzklausur, kann aber in der Online-Klausur drankommen. Ich vermute, die Einschränkungen des Stoffes haben auch damit zu tun, dass viele der Verfahren eine hohe Zahl einfacher Rechenschritte erfordern. Dies gilt umso mehr für Verfahren, die mit linearer Algebra zu tun haben, weil man da mit Matrizen hantiert. Würde man so etwas in der Präsenzklausur machen, könnte man in der Zeit nur wenige Aufgaben stellen und nur wenig Stoff abprüfen. Das merkt man, wenn man die Einsendeaufgaben zu diesem Kapitel bearbeitet. Da hat man es zum Teil Gleichungen zu tun, die sich über viele Zeilen erstrecken. Das ist zeitaufwendig, die Schritt für Schritt umzuformen. Und man braucht viel Konzentration, um keinen Flüchtigkeitsfehler zu machen. Teil 3 - Kryptik Kryptik ist der letzte Teil des Kurses. Hier geht es um mathematische Grundlagen für Verschlüsselung und Schlüsseltausch. Diesen Teil kann ich nicht so detailliert beschreiben. Der Stoff war nicht unbedingt schwierig aber sehr fremdartig und neu. Man benutzt Primzahlen und ihre sogenannten Restklassenkörper. Außerdem beschäftigt man sich mit sogeannten Galois-Feldern. Die bestehen aus Polynomen, die lediglich 0 und 1 als Koeffizienten aufweisen und sich daher gut als Bitfolge darstellen lassen. Man lernt Addition und Multiplikation neu und wendet nun diese neuen Kenntnisse an, um im Restklassenkörper oder in Galois-Feldern z.B. Determinanten oder inverse Matrizen zu berechnen, Gleichungssysteme zu lösen und so weiter. Nichts davon ist wirklich schwierig, aber das Kapitel war trotzdem eine Herausforderung, weil man beim Rechnen leicht vergisst, dass man es nicht mit normalen Zahlen zu tun hat, auch wenn es so aussieht. Da schleichen sich leicht Fehler ein. Eine weitere Schwierigkeit ist, dass man zu Beginn nicht begreift, was das alles denn mit Verschlüsselung zu tun haben könnte. Man ist schon fast am Ende des Kapitels, wenn auf wenigen Seiten das Diffie-Hellman-Verfahren und das Vernam-Verfahren, AES, DES und RSA erklärt werden. Und auf einmal passt alles zusammen und man versteht den Sinn des ganzen. Hier lohnt es sich also wieder einmal, am Ball zu bleiben und sich erst mal die nötigen Grundlagen zu erarbeiten. Natürlich hätte ich mir gewünscht, gleich zu Beginn erklärt zu bekommen, wozu ich das Rechnen im Galois-Feld lernen soll. Aber man kann das "wozu" wohl erst verstehen, wenn man die Grundlagen beherrscht. Nach Mathe2 wird es leichter Im Vergleich zu Mathe2 war Mathe3 leichter. Weil es um recht praktische Verfahren geht, mit denen man etwas berechnen oder nähern kann. Weil diese Verfahren sich gut in Code überführen lassen. Weil man sich gut vorstellen kann, dass es für diese Verfahren Anwendungen gibt, auch wenn man die wahrscheinlich später nicht selbst in Code implementieren wird. Weil man für vieles, was hier geschieht, auch gute graphische Veranschaulichungen finden kann. Im Online-Test kann wieder alles drankommen. Meiner Meinung nach, bereitet man sich auf den Online-Test am besten vor, indem man die Tests des Moduls intensiv wiederholt. Auch in der Online-Klausur kann alles drankommen. Die Aufgaben werden anscheinend vom Zufallsgenerator ausgewählt. Ich hatte fast nur Aufgaben aus dem Kapitel Grafik und ein bisschen Kryptik. Und es war vor allem Stoff, der in der Präsenzklausur NICHT vorkommen sollte. Wer also in den Genuss von Bonuspunkten kommen möchte, muss zuschauen, dass er sich den ganzen Stoff erarbeitet. Zumindest muss man sich soweit auskennen, dass man im Online-Test die 70% holen kann, die man für die Klausurzulassung braucht. Die Betreuung durch Herrn Lenze war wieder einmal hervorragend. Sehr schnelle Rückmeldungen, gute Hinweise zur Prüfungsvorbereitung. In der Präsenzklausur war der Stoff sehr gleichmäßig über die drei Kapitel verteilt. Man darf keinen Taschenrechner benutzen. Es ist trotzdem schaffbar, weil die Werte so gewählt sind, dass sie sich gut für Handrechnung eigenen. Das Problem ist wieder einmal der Faktor Zeit. Man darf das Lehrbuch und sogar gerechnete Einsendeaufgaben mitnehmen. Aber das nützt nur bedingt, weil man die Aufgaben in der Zeit nicht schaffen wird, wenn man ständig nachschlagen muss. Es muss schon ein Grundstock Wissen im Kopf sein, dann kann ein gelegentlicher Blick ins Buch bestätigen, dass man sich an diese oder jene Formel richtig erinnert. Auch in Mathe3 habe ich noch kein Ergebnis, bin aber zuversichtlich, dass ich diese Klausur nicht nochmal schreiben muss. Nachtrag: Ergebnis Nach nicht einmal 2 Wochen habe ich für Mathe3 schon ein Prüfungsergebnis. Es ist ziemlich gut gelaufen. Die gründliche Vorbereitung hat sich gelohnt. Für diese Klausur habe ich im Urlaub oft bei brütender Hitze Übungsaufgaben gerechnet, während meine Familie sich im Pool verlustiert hat. Und sich gewundert hat, wie ich mich dazu überwinden konnte, im Urlaub und bei so schönem Wetter zu lernen. Nun freue ich mich sehr. Es ist schön, zu erleben, wie man innere Fortschritte macht. Wie sich Mühe auszahlt, weil man plötzlich Dinge begreift, die einem anfangs so schwierig erschienen. Es ist aber auch schön, wenn diese innere Entwicklung sich am Ende als äußerer Erfolg manifestiert. Das motiviert mich gerade im Fernstudium, wo es ja keinen äußeren sozialen Rahmen gibt, der mich trägt.
  16. http://www.integralrechner.de/ http://www.ableitungsrechner.net/ https://matrixcalc.org/de/ https://rechneronline.de/funktionsgraphen/ Nur ein paar Beispiele für nützliche Tools. Auf Youtube findet man mittlerweile auch sehr nützliche Videos. Es gibt Leute, die richtig gut komplizierte Sachen erklären können. Also ehe man verzweifelt und wegen Mathe hinschmeißt, lieber nutzen, dass man heute sehr leicht an Informationen kommt.
  17. Das Modul "Mathematik für Informatiker" ist das zweite von insgesamt 4 Mathematik-Modulen im Studiengang "Web- und Medieninformatik". Die Studierenden im Studiengang "Wirtschaftsinformatik" belegen ein Mathematik-Modul weniger. Aber dieses Modul ist auch für sie verpflichtend. Im Jargon der Studierenden heißt dieses Modul einfach Mathe2. Nachdem in Mathe1 mit Logik, Mengenlehre, Relationen, Graphentheorie, Abbildungen und algebraischen Strukturen eine mathematische Grundlage vermittelt wurde, geht es in diesem Kurs um die klassischen Themen Analysis und Lineare Algebra, die wohl Teil von jedes Informatik-Studiums sein dürften. Dazu verwendet der Kurs zwei Lehrbücher von Professor Burkhard Lenze (FH Dortmund). Das Modul zerfällt in zwei Online-Kurse. Das heißt, man muss hier zwei Online-Tests bestehen und darf zwei Online-Klausuren schreiben. In der Präsenzprüfung wird das Wissen beider Kurse mit ziemlich gleicher Gewichtung abgeprüft. Keine Angst vor Mathe2 Wenn ich mich unter meinen Kommillitonen umhöre, gewinne ich den Eindruck, dass speziell dieses Modul den meisten Studierenden Sorgen bereitet. Im Vorfeld ist Mathe2 ein Modul, vor dem viele Angst haben. Diejenigen, die es gerade belegen, klagen oft darüber, dass sie hier viel mehr Zeit investieren als in andere Module. Und diejenigen, die es hinter sich haben, sind in der Regel erleichtert, es geschafft zu haben. Aus Sicht vieler Studierender und mancher Dozenten sollte man Mathe2 zügig angehen, weil das Projekt Studium an genau diesem Modul scheitern könnte. Die gute Nachricht: Mathe2 ist machbar. Die beiden Lehrbücher von Herr Lenze sind recht kompakt geschrieben, enthalten aber im Vergleich zu vielen anderen Lehrbüchern nicht allein Beweise sondern viele gerechnete Beispiele. Mathe2 ist ein Kurs auf FH-Niveau. Im Gegensatz zur Mathematik an der Uni geht es nicht allein um Beweise sondern um angewendungsbezogenes Rechnen. Mathe2 legt damit eine Grundlage für Mathe3 "Angewandte Mathematik". Wie der Name vermuten lässt, ist speziell Mathe3 für einen Mathe-Kurs schon wieder recht praxisbezogen und ein klarer Bezug zur Informatik ist erkennbar. Also beißt euch durch Mathe2. Danach wird es schon wieder besser. Nutzt das Tutorium am Präsenztag Die W3L unterstützt die Studierenden in diesem Modul mit einem Tutorium, dass an den Präsenztagen angeboten wird. Ich habe mich im Vorfeld gefragt, was es denn nutzen kann, wenn in zwei mal zwei Stunden der Stoff von Analysis und linearer Algebra im Schweinsgalopp durchlaufen wird. Nachdem ich an solch einem Tutorium teilgenommen habe, weiß ich, es bringt etwas. Nicht weil man in dieser knappen Zeit den Stoff vermitteln könnte. Das kann man nicht. Den wird man sich schon selbst gründlich erarbeiten müssen. Schon eher, weil die Studierenden dazu aufgefordert werden, ihre Probleme mitzubringen, die sich bei der Bearbeitung des Moduls ergeben haben. Die Tutoren gehen flexibel darauf ein. Leider wurde diese Möglichkeit in dem Tutorium, das ich besucht habe, kaum genutzt. Ich selber konnte sie nicht nutzen, weil ich noch gar nicht angefangen hatte, das Modul zu bearbeiten. Ich vermute, dass es anderen Studierenden ebenso ging. Ideal wäre natürlich, wenn man vor dem Präsenztag ein gutes Stück aus beiden Themenbereichen bearbeitet hätte, um sich dann gezielt bei seinen Problemen weiterhelfen zu lassen. Warum hat mir das Tutorium trotzdem eine Menge gebracht? Weil wir gute Tipps bekommen haben, wie wir unseren Lernprozess und - in Mathe2 noch wichtiger - unseren Übungsprozess organisieren können. Für Menschen, die mathematisch sehr begabt sind, mag es reichen, Konzepte verstanden zu haben. Die meisten von uns müssen üben, üben, üben. Und merken erst dann, wie viel (oder wie wenig) sie verstanden haben. Außerdem wurde uns auch ein wenig "Klausurstrategie" vermittelt. Wie denkt ein Prüfer, der checken möchte, ob wir etwas verstanden haben. Wie kann man sich zumindest einen Grundstock an Punkten sichern, auch wenn man nicht den gesamten Stoff im Schlaf beherrscht. Für viele Studierende, die in diesem Modul keine Glanzleistung vollbringen sondern einfach bestehen möchten, können solche Tipps sehr nützlich sein. Last but not least erhält man Hinweise, welche Teile der Schulmathematik, die nicht explizit im Kurs behandelt werden, man sich besser noch einmal anschauen sollte. Ich hätte zum Beispiel Stein und Bein geschworen, dass ich natürlich in der Lage bin, quadratische Gleichungen mit der pq-Formel zu lösen. Und das mir selbstverständlich alle wichtigen Potenz-, Wurzel- und Logarithmengesetze bekannt sind. Bis ich es praktisch ausprobiert habe und feststellen musste: So richtig sicher sitzt das nicht mehr. Besser noch mal ÜBEN. Mathe2: Die Inhalte Um diese Selbsterkenntnis reicher begann ich nun nach dem Tutorium mit der Bearbeitung des Moduls, für das ich deutlich mehr Zeit eingeplant hatte, als für andere Module. Es wird empfohlen, erst Analysis und dann lineare Algebra zu bearbeiten. Ich habe mit linearer Algebra angefangen, weil mir da mein Schulwissen aus Abiturzeiten noch geläufiger erschien und ich einen guten Start erleben wollte. Darum geht's in linearer Algebra: - Vektoren: Rechenregeln, lineare Unabhängigkeit, Skalarprodukt, Vektorprodukt Spatprodukt, die Cauchy-Schwarzsche Ungleichung und die Dreiecksungleichung. - Matrizen: Rechenregeln, Matrizenmultiplikation und einfacher Gauß-Algorithmus. - Determinanten: 2,2-Determinanten, 3,3-Determinaten und die Regel von Sarrus, n,n-Determinanten und der Laplacesche Entwicklungssatz. Geometrische Anwendungen spielen eine Rolle. - Allgemeine lineare Gleichungssysteme: Die lösen wir vor allem mit dem Gauß-Algorithmus. Wir unterscheiden homogene und inhomogene lineare Gleichungssysteme und lernen was Fundamentalsysteme sind. - Reguläre lineare Gleichungssysteme: Hier entwickeln wir den einfachen Gauß-Algorithmus weiter zum vollständigen Gauß-Algorithmus. Den sollte man für die Klausur im Schlaf können. Er ist für alle möglichen Anwendungen sehr nützlich. Weiterhin geht es um die Cramersche Regel und die erweiterte Cramersche Regel. Sie verbindet das Kapitel über Determinanten mit diesem Kapitel. Schließlich geht es um LR-Zerlegungen und QR-Zerlegungen. Und natürlich muss man wissen, wie man Matrizen invertiert. Und wie man all das nutzen kann, um lineare Gleichungssysteme effizient zu lösen. - Geraden und Ebenen: Hier kommen nun geometrische Anwendungsmöglichkeiten für das Wissen, das man sich bis hier aufgebaut hat. - Komplexe Zahlen: Darstellungsformen, Rechenregeln, Polynomfaktorisierung - Eigenwerte und Eigenvektoren - Spezielle quadratische Matrizen: Diagonalähnliche Matrizen, symmetrische und hermitesche Matrizen, orthogonale und unitäre Matrizen. - Transformationen: Hier geht es um verschiedene Abbildungen, die man mit Matrizen, realisieren kann. Man beginnt mit der kartesischen und baryzentrischen Transformation, arbeitet weiter mit Parallel- und Zentralprojektionen und endet irgendwann bei Fourier- und Haar-Wavelet-Transformationen. Und in Analysis geht es um: - Wiederholung der vollständigen Induktion - Funktionen: Neu sind hier die parametrisierten ebenen Kurven, die ganzrationalen und die gebrochenrationalen Bezierkurven. Die kannte ich aus Schulzeiten noch nicht. (An dieser Stelle ein Hinweise: Die Bezierkurven sind nicht klausurrelevant. Aber in Mathe3 spielen sie eine große Rolle. Darum diesen Teil NICHT überspringen.) - Folgen und Reihen: Hier geht es darum Grenzwerte für Folgen zu berechnen, was viele aus Schulzeiten kennen dürften. Und Konvergenzkriterien für Reihen anzuwenden, was schon schwieriger ist. - Transzendente Funktionen: Diese werden auf verschiedene Eigenschaften hin untersucht. Verschafft einem einen guten Überblick und frischt vieles vergessene aus Schulzeiten noch mal auf. - Rechenregeln für stetige Funktionen - Differenzierbare Funktionen: Hier geht es um Rechenregeln für differenzierbare Funktionen und deren Anwendung zur Extremwertbestimmung. Das kennen wohl die meisten aus der Schule. (Ferner geht es um kardinale kubische B-Splines, ganzrationale B-Spline-Kurven und gebrochenrationale B-Spline-Kurven. Zum Glück nicht klausurrelevant.) - Integrierbare Funktionen: Hauptsatz der Differential und Integralrechnung, Rechenregeln für integrierbare Funktionen, Längen-, Flächen- und Volumenberechnung. Eine Herausforderung für mich waren die Techniken der partiellen Integration und der Integration durch Substitution. Beides hatte ich in der Schule gelernt, aber leider wieder vergessen. Da war viel Übung nötig, um das wieder flüssig zu können. Diejenigen unter euch, deren Abitur noch nicht so lange her ist und die damals stark in Mathe waren, dürfen sich nun ein bisschen freuen. Ihr dürftet einige Themen wiedererkennen und habt einen Startvorteil. An manchen Stellen im Kurs gibt es kleine Anwendungsbeispiele aus der Informatik (in Java). Das ist interessant, aber nicht prüfungsrelevant. PDF-Tools: Die Geheimwaffe Die Beweise in den Lehrbüchern habe ich nicht immer nachvollziehen zu können. Die Stärke dieser Module sind aber nicht die Lehrbücher. Herr Lenze liefert PDF-Tools mit, die man sich runterladen kann. Ein PDF-Tool ist eine Seite mit einer Übungsaufgabe eines bestimmten Typs, z.B. invertieren einer Matrix, knacken eines Integrals und solche Dinge. Im PDF stehen aber keine konkreten Werte sondern eine allgemeine Formel mit verschiedenen Parametern. Ein Knopfdruck generiert dann die Werte und zeigt sie in einer Alert-Box: a=7.4, b=sin(33), c=ln(9) usw. Diese Parameter setzt man für die Variablen ein und hat nun seine konkrete Übungsaufgabe. Ist man fertig, kann man durch Druck auf einen weiteren Knopf die Lösung sehen. Manchmal werden hier auch noch Zwischenergebnisse angezeigt, so dass man nachvollziehen kann, wo es gehakt hat. Mit diesen Tools kann man üben, bis man merkt, dass man richtig sicher ist. Herr Lenze empfiehlt, wirklich auf Tempo zu üben, denn in der Klausur muss man schnell sein. Übrigens: In der Klausur darf man keinen Taschenrechner benutzen. Das hat mich überrascht, weil ich es aus Schulzeiten anders kannte. Die Werte in den Aufgaben sind so gewählt, dass man auch keinen braucht. Aber wer schon ewig nicht mehr im Kopf oder mit Stift und Papier gerechnet hat, sollte das üben. Also: PDF-Tool öffen, Aufgaben generieren, Bleistift spitzen und los. Ich habe mich oft geärgert, weil ich einen Aufgabentyp grundsätzlich konnte, aber blöde Vorzeichenfehler gemacht habe. Gerade bei den Aufgaben in der linearen Algebra ziehen sich Fehler schön durch. Da muss man eine gewisse Sorgfalt lernen. Die Hinweise im Forum nutzen Damit komme ich zu einen wichtigen Grund, warum jeder Studierende eine realistische Chance hat, dieses Modul erfolgreich abzuschließen. Für die Präsenzklausur ist NICHT der gesamte Stoff des Moduls relevant. Ein Beispiel: In der Präsenzklausur kann verlangt werden, die LR-Zerlegung einer Matrix zu finden, aber nicht die QR-Zerlegung. Was genau klausurrelevant ist und was nicht, veröffentlicht Herr Lenze im Forum zum Kurs. Da in den Foren oft wenig los ist, hatte ich dort anfangs gar nicht reingeschaut, bis mich Herr Lenze, ausdrücklich darauf hinwies. Also schaut ins Forum und nutzt die dort gegebenen Hinweise. Aber Vorsicht! In der Online-Klausur können mehr Themen drankommen. Und beim Online-Test, dessen Bestehen ja Voraussetzung dafür ist, überhaupt zur Klausur zugelassen zu werden, kann ALLES abgeprüft werden. Wer sich also möglichst viele Bonuspunkte erarbeiten will, um etwas gelassener in die Präsenzklausur zu gehen, der muss sich schon mit dem gesamten Stoff auseinander setzen. Wer einfach nur bestehen möchte, kann zuschauen, dass er für die Klausur die im Forum genannten Themen intensiv vorbereitet. Er hat dann auch ohne Bonuspunktepolster eine gute Chance, das Modul abzuschließen. Die Betreuung durch Herrn Lenze war sehr gut. Das Feedback zu Einsendeaufgaben war unheimlich schnell. Auch auf Fragen reagierte er meist innerhalb von 24 Stunden und seine Hinweise haben mir immer weitergeholfen. Die Klausur In der Präsenzklausur entfielen 55 Punkte auf lineare Algebra und 45 auf Analysis. Wenn man den vollständigen Gauß-Algorithmus sicher beherrscht, kann man sich in linearer Algebra eine gewisse Punktegrundlage erarbeiten, weil man den für verschiedene Aufgabentypen braucht. Aus Gesprächen mit anderen Kommilitonen weiß ich, dass das auch in vergangenen Klausuren oft so war. In der Analysis waren bei mir die Themen breit gestreut. Partielle Integration und Integration durch Substitution sollte man üben. Tipps für die Vorbereitung Da Mathe2 für viele Studierende ein Angstfach ist, zum Schluss noch ein paar Tipps: - Lasst euch nicht verunsichern, wenn ihr in den Lehrbüchern nicht jeden Beweis im Detail nachvollziehen könnt. Konzentriert euch auf das Üben mit den PDF-Tools. - Es gibt im Kurs vergleichsweise wenige Einsendeaufgaben. Manche Studierende machen nur diese Aufgaben und wundern sich dann, wenn sie im ersten Anlauf durch die Prüfung rasseln. So ist es nicht gedacht. Die Einsendeaufgaben prüfen in Abständen, ob man im Kurs vorankommt. Sie ersetzen auf keinen Fall das Üben mit den Tools, die den gesamten Stoff abdecken. - Übt die PDF-Aufgaben ohne Taschenrechner, auch wenn es verführerisch ist, ihn zu benutzen. Nur dann bekommt ihr ein Gefühl dafür, wieviel ihr in der Klausur in welcher Zeit schaffen könnt. Es ist gut möglich, dass ihr eine taktische Entscheidung treffen müsst, ob ihr in der verbliebenen Zeit noch diese ohne jene Aufgabe versuchen wollt. Da braucht ihr ein Bauchgefühl dafür, was lange dauert und was schneller zu schaffen ist. - Ich habe verschiedene Tools genutzt, die nicht zum Kurs gehörten. Zunächst mal einen Funktionenplotter. Die gibt es als Desktopanwendungen, aber ich habe mit einer Online-Version gearbeitet. Da kann man eine Funktionsvorschrift eingeben, sich die Kurve plotten lassen, auch Ableitungen und Integrale. Das kann natürlich nicht das eigene Arbeiten ersetzen. Aber man kann so gut vergleichen, ob die eigenen Ableitungen und Integrale stimmen. Oder Teillösungen. Oder eine Idee entwicklen, was man falsch gemacht hat. - Außerdem gibt es Online-Tools, um Funktionen zu differenzieren und integrieren. Manche von denen können einem einen kompletten Rechenweg anzeigen. Das hilft ebenfalls, eigene Fehler nachzuvollziehen. Mir hat das sehr geholfen, bei der partiellen Integration und der Integration durch Substitution, eine gewisse Routine zu entwickeln. Bei der partiellen Integration muss man sich entscheiden: Was ist mein u? was ist mein v? Wenn man sich hier falsch entscheidet, muss man wieder von vorne anfangen, was Zeit kostet. Ebenso bei der Substitution: Was substituiere ich? Und überhaupt: Substituiere ich oder nutze ich partielle Integration? Bei manchen Aufgaben sieht man nicht sofort, was sich anbietet. Dafür bekommt man ein Gefühl, wenn man viele Beispiele gesehen hat. Und dabei helfen solche Online-Tools. Aber nicht das Tool die ganze Arbeit machen lassen, sondern aktiv mitarbeiten, möglichst viel selber machen und dann Schritt für Schritt durchgehen, wo es gehakt hat. - Ebenso gibt es tolle Online-Tools für die Themen der linearen Algebra. Das hat mir besonders beim Lösen von Gleichungssystemen und umfangreicheren Rechnungen mit Matrizen und Determinanten geholfen. Hier hat man oft sehr viele einfache Rechenoperationen, die aufeinander aufbauen. Ein dummer Vorzeichenfehler am Anfang und man produziert in der Folge nur noch Mist. Dank der Tools konnte ich meine eigenen Fehlerquellen identifizieren (bei mir vor allem Vorzeichenwechsel) und dann genau darauf verstärkt achten. - Laut Studienbüro liegt die Durchfallquote in diesem Modul beim ersten Anlauf bei 20-25%. Man sollte sich nicht entmutigen lassen, wenn man dazu gehört. Ich habe mehrere Kommillitonen kennengelernt, die Mathe-Module wiederholen mussten und in zweiten Anlauf geschafft haben, was beim ersten mal nicht klappte. Fazit Die lineare Algebra hat mir richtig Spaß gemacht. Analysis musste sein, aber da bin ich froh, dass es jetzt vorbei ist. Ich habe noch nicht das Ergebnis der Klausur, aber ich bin mir ziemlich sicher, dass ich sie nicht noch einmal schreiben muss. Mathe2 ist machbar. Nachtrag: Das Ergebnis Heute habe ich das Ergebnis zu Mathe2 erhalten. 88 von 100 Punkten in der Präsenzklausur. Das wäre eine 1,7, aber da die Online-Tests und die Online-Klausuren ziemlich gut gelaufen waren, konnte ich mit Bonuspunkten über die magische Schwelle von 95 Punkten kommen. So ist es am Ende eine glatte 1 geworden. Ich freue mich sehr, weil ich in Mathe2 wirklich eine Menge Arbeit gesteckt habe. Bloß nicht aufgeben in Mathe! Das war auch an den Präsenztagen immer wieder Thema: Es gibt zwar nur wenige Leute, denen Mathe auf Anhieb leicht fällt. Aber mit Übung wird vieles erreichbar, was am Anfang unmöglich erscheint. Also packt's an!
  18. Soweit ich das verstanden habe, bleibt die Bezeichnung W3L Akademie NICHT erhalten. Der Hauptgeschäftsbereich der W3L ist ja das Softwarehaus und das wird es auch weiter unter diesem Namen geben. Ein bisschen schade finde ich die Übernahme schon. Die W3L Akademie ist ein netter, kleiner, übersichtlicher Laden mit kurzen Wegen, persönlichen Kontakten. So etwas mag ich gerne. Leider kann ich die Ausführungen von Herrn Zwintzscher zur Konkurrenz mit größeren Anbietern nur zu gut nachvollziehen. Das Angebot der W3L ist offensichtlich wenig bekannt. Anscheinend reicht es nicht, ein gutes Studienangebot zu machen. Man muss es aktiv bewerben. Und das Wetteifern um Aufmerksamkeit kostet Geld. Da die Mitarbeiter und Dozenten bleiben, hoffe ich, dass für mich als Studierenden alles beim Alten bleibt. Und das das, was ich an der W3L schätze, auch unter Springer Campus weiterlebt.
  19. 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.
  20. Informatikerin. Das gibt es leider auch recht selten, auch bei uns im Studiengang. Beim nächsten Präsenztag z.B. 4x mehr männliche als weibliche Prüfungsteilnehmer.
  21. Trocken war der Stoff schon. Ich hatte z.B. zuerst etwas Mühe, zu verstehen, wie das Spanning Tree Protocol funktioniert, mit dem redundante Pfade aus einem vermaschten Netz entfernt werden. Auf der Suche nach anderen Materialien zum Ablauf fand ich dann dieses kleine Gedicht von Radia Perlman, die das Spanning Tree Protocol erfunden hat: Algorhyme I think that I shall never see a graph more lovely than a tree. A tree whose crucial property is loop-free connectivity. A tree that must be sure to span so packets can reach every LAN. First, the root must be selected. By ID, it is elected. Least-cost paths from root are traced. In the tree, these paths are placed. A mesh is made by folks like me, then bridges find a spanning tree.
  22. 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.
  23. Offensichtlich nutze ich diese Seite gern. In einem Forum wie diesem gehört dazu natürlich viel mehr als gute Usability. Es muss ja fortlaufend betreut werden und nicht in erster Linie technisch. Das hat eine redaktionelle Komponente. Aber so, wie anonyme Kommunikation im Netz leider oft abläuft, muss natürlich auch jemand die Diskussionen als Moderator betreuen und für die Einhaltung gewisser Spielregeln sorgen. Damit Menschen, die divergierende Meinungen sachbezogen und mit respektvollem Grundton austauschen wollen, das auch können. Da geht es darum, einen sozialen Prozess langfristig zu begleiten. Das finde ich hier gut gelöst.
  24. Ich habe mich tatsächlich danach erkundigt. Man kann an der WINGS einzelne Module als Gasthörer belegen. Und das würde mich in diesem Fall auch sehr reizen. Aber ich meine, ich bin noch nicht soweit. Hab ja nicht mal das 2. Semester abgeschlossen. Also schön, einen Schritt nach dem anderen. Und meine nächsten beiden Schritte heißen "Analysis" und "Lineare Algebra".
  25. Das Modul "Web-Design und Web-Ergonomie" ist für das 3. Semester vorgesehen. Die W3L hält es für wünschenswert, zuvor "Web-Programmierung" belegt zu haben. Formal nötig ist das aber nicht. Ich meine, man könnte dieses Modul auch gute als erstes im Fachbereich Web-Informatik belegen. Viele Kommilitonen halten es für vergleichsweise leicht zu bewältigen. Allerdings haben auch sehr viele Studierende beruflich mit Web-Technologien zu tun. Das relativiert diese Einschätzung natürlich. Basis ist ein Lehrbuch von Heide Balzert und Uwe Klug. Herr Klug hat auch die Lehrbücher zum Modul "SQL und realationale Datenbanken verfasst". Die fand ich didaktisch sehr gut aufgebaut und auch gut verständlich geschrieben, so dass ich mit der Erwartung in den Kurs ging, hier wieder gut durch den Stoff geführt zu werden. Auch dieses Kursmodul entwickelt parallel zum Stoff ein Fallbeispiel: Die Gestaltung eines Web-Auftritts für einen Ökostromanbieter. Diesen Auftrag übernimmt die fiktive Firma Websoft, die mehrere Mitarbeiter hat, die sich in unterschiedlichen Berufsrollen an der Planung der Webseite beteiligen. Diesen Ansatz kannte ich schon aus anderen Modulen der W3L. Man bekommt so nicht nur das Fachwissen vermittelt. Man entwickelt auch eine erste Vorstellung davon, wie es in einer Anwendungssituation genutzt wird. So wird deutlich, dass die Entwicklung einer Webseite in der Regel ein kollaborativer Prozess ist, in dem verschiedene Akteure in unterschiedlichen Rollen intensiv kommunizieren müssen, um ihr gemeinsames Ziel zu erreichen. Ich hatte mir vorgestellt, in diesem Modul in erster Linie etwas über Gestaltungsregeln zu erfahren. Was für Farben zusammenpassen, ein bisschen Typographie, wie man eine Seite aufteilt, so dass die Proportionen gefällig wirken. So etwas ist durchaus auch Thema dieses Moduls, aber eigentlich geht es um etwas anderes. Eine der hier vermittelten Thesen ist, dass man an der reinen Anmutung einer Seite nicht beurteilen kann, ob das Design etwas taugt. Man muss Webdesign im Hinblick auf die Ziele bewerten, die ein Kunde mit seinem Web-Auftritt verfolgt. An wen will er sich richten und wozu? Dementsprechend geht es in den ersten Kapiteln vor allem darum, sich Gedanken über die Nutzer einer Website oder eine Web-Anwendung zu machen. Was für Aufgaben haben die zu bewältigen und was für Vorkenntnisse und Erfahrungen bringen sie mit. Eine der ersten Aufgaben beinhaltet daher die Entwicklung einer "Persona", also eines fiktiven Charakters der einen typischen Nutzer oder eine Nutzergruppe der geplanten Web-Anwendung repräsentieren soll. Dieser Charakter soll so konkret beschrieben werden, dass ein Team, das eine Web-Anwendung plant, am Ende eine gemeinsame Vorstellung von diesem Menschen hat. Man entwickelt auch Kontextszenarien: Beschreibungen von Situationen, in denen die Persona eine Web-Anwendung nutzt, um ein bestimmtes Problem zu lösen. Und schließlich entwickelt man Nutzungsszenarien, kleinschrittigere Beschreibungen von Nutzungssituationen, bei denen einzelne Handlungsschritte des Nutzers beschrieben werden und wie das geplante System darauf reagiert. Auch wenn der Kurs "Web-Design und Web-Ergonomie" heißt, lassen sich meiner Meinung nach viele Konzepte z.B. auf Desktop-Anwendungen übertragen. Das Modul ist auch ein Kurs über Software-Ergonomie. Eine große Rolle spielen verschiedene Methoden, Entwürfe zu evaluieren oder Inhalte in einer Weise zu strukturieren und kategorisieren, wie sie für die Nutzer einer Web-Anwendung intuitiv und einleuchtend ist. Dabei kommt oft etwas anderes heraus als Fachleute, die Web-Anwendungen erstellen, für plausibel halten. In diesem Kurs geht es also um mehr als den schönen Schein. Er hat mehr mit sozialen Prozessen zu tun, als ich im Vorfeld für möglich gehalten hätte. Auch mit den sozialen Prozessen in den Teams, die Web-Anwendungen entwickeln. Eine interessante Nebenwirkung des Moduls: Bei privater Internetnutzung merkte ich immer häufiger, dass mich bestimmte Aspekte des Designs einer Seite störten. Da war zuvor nur eine leichte Irritation. Oder vielleicht auch nur eine gewisse Unlust, eine Seite weiter zu nutzen. Oder auch ein spontaner Impuls, eine begonnene Aktion abzubrechen oder einen Tab zu schließen. Ich fing an, solche Reaktionen an mir wahrzunehmen. Oft habe ich mir dann gedacht: "Das hat mich schon länger gestört." Viel seltener aber immerhin immer häufiger dachte ich: "So wäre es wahrscheinlich besser gewesen." Natürlich kann man nicht erwarten, nach einem Modul von 5 ECTS ein Experte in UI-Design zu sein. Aber es trägt auf jeden Fall dazu bei, ein Problembewusstsein zu entwickeln und mit etwas anderen Augen auf Web- und Benutzeroberflächen zu schauen. Natürlich geht es auch um Layout, Navigation, um Farben und Typographie, um multimediale Elemente, um Formulargestaltung und ganz zum Schluss auch ein bisschen um barrierefreies Web-Design. Aber es gab auch Themen, die für mich überraschend waren, zum Beispiel über die Aufbereitung von Texten für das Lesen im Web. Und hier ist eben nicht die Schriftgestaltung oder das Layout gemeint. Es geht tatsächlich darum, dass es vorteilhaft ist, Texte für's Web anders zu formulieren und zu gliedern als für den Druck. Dies ist ein Modul über das WAS und nicht über das WIE einer Web-Anwendung. Dementsprechend habe ich für die Einsendeaufgaben vor allem Texte geschrieben und Entwürfe mit Papier und Bleistift gezeichnet. Die technische Umsetzung der Entwürfe z.B. mit HTML, CSS, client- und serverseitigen Sprachen ist nicht Thema dieses Kurses. Davon handeln andere Module. Insgesamt kam ich mit dem Modul gut zurecht und war auch mit meiner Note zufrieden. Die Rückmeldungen durch meinen Tutor kamen sehr zügig, was es mir erleichterte, schnell im Kurs voran zu kommen. "Web-Design und Web-Ergonomie" ist ein Modul für Web-Informatiker, nicht für Kommunikations-Designer. Es bleibt das einzige Modul im Studiengang, dass UI-Design so in den Mittelpunkt stellt. Gemessen an diesem Platz im Gesamtkonzept dieses Studiengangs finde ich es sehr gelungen. Leider befürchte ich, dass UI-Desing nicht meine Stärke werden wird. Ich finde es interessanter, was für eine Verarbeitungslogik im Hintergrund arbeitet. Insofern habe ich mich am Ende auch gefreut, mich wieder anderen Themen zuwenden zu können. Auf jeden Fall hat dieser Kurs meine Wertschätzung für das gesteigert, was ein guter Software-Ergonom leistet. Und es macht Spaß, wenn man im Alltag etwas wiedererkennt. Wenn man sich erinnert: "Hey, das kam doch im Modul Web-Design vor." Dieser Effekt des Moduls scheint nachhaltig zu sein.
×
  • Neu erstellen...