Zum Inhalt springen

kurtchen

Communitymitglied
  • Gesamte Inhalte

    879
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von kurtchen

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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!
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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".
  15. 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.
  16. Ja, so kann man es natürlich auch sehen. Die WINGS Wismar hat z.B. im Studiengang Wirtschaftsinformatik ein Modul "Künstliche Intelligenz". Sogar ein besonders interessantes. Das basiert nämlich auf dem Lehrbuch von Uwe Lämmel und Jürgen Cleve, die darin sowohl klassische KI als auch neuronale Netze behandeln.
  17. Das Modul "Grundlagen der Informatik 4: Algorithmen und Datenstrukturen" ist Pflicht für Studierende im Studiengang Web- und Medieninformatik. Die Wirtschaftsinformatiker dürfen es als Wahlpflicht-Modul belegen. Die W3L schlägt vor, es im vierten Semester nach GdI3 zu belegen. Nötig sind aber nur die Kenntnisse aus GdI2. Konkret sollte man gute Grundkenntnisse in objektorientierter Programmierung und in generischer Programmierung haben. Letzteres, weil die meisten Algorithmen im Kurs für generische Typen entwickelt werden. Wer sich auf diesen Kurs ein wenig vorbereiten will, sollte vor allem noch einmal das Kapitel zu generischer Programmierung aus GdI2 wiederholen. Auf GdI4 hatte ich mich sehr gefreut, weil Kenntnisse im Bereich Algorithmen und Datenstrukturen zu meinem Bild von einem Informatiker gehören. Mathematik oder BWL sind Teil sehr vieler Studiengänge und viele Naturwissenschaftler und Ingenieure lernen programmieren. Aber Algorithmen sind für mich ein wesentlicher Teil dessen, was die Informatik als eigenständige Disziplin auszeichnet. Ein bisschen hatte ich mich schon einmal mit dem Thema beschäftigt. Zu Schulzeiten hatte ich mal ein Buch über Algorithmen und Datenstrukturen, die damals noch in einer strukturierten Programmiersprache behandelt wurden. Hier ging es zum Beispiel um Sortieralgorithmen, Binärbäume und verkettete Listen. Als Schüler habe ich leider vieles nicht verstanden, obwohl ich das Thema sehr spannend fand. Nun wollte ich herausfinden, ob mir diese Konzepte inzwischen zugänglicher waren. Schon im ersten Teil des Kurses gab es erste Überlegungen zur Korrektheit und Komplexität von Algorithmen. Überlegungen zur Komplexität bei wachsender Problemgröße ziehen sich durch den ganzen Kurs. Dies ist wichtig, um später für ein gegebenes Problem eine vorteilhafte Datenstruktur oder einen geeigneten Algorithmus auswählen zu können. Das zweite Kapitel handelte von Rekursion. Hier ging es darum, ein Verständnis dafür zu entwickeln, was beim rekursiven Methodenaufruf im Speicher passiert. Klassisches Fallbeispiel ist das Problem der Türme von Hanoi. Interessant war eine allgemeine Strategie, rekursive Algorithmen in iterative Algorithmen umzuwandeln. Oft ist der Algorithmus dann nicht mehr so übersichtlich und nachvollziehbar. Dafür verbessert sich die Laufzeit und der Speicherbedarf. Bis hier fand ich den Kurs noch recht trocken. Der Stoff war durchaus interessant aber nicht das, was ich erwartet hatte. Das änderte sich im nächsten Kapitel, wo es um Suchalgorithmen ging. Im wesentlichen wurden hier die drei grundlegenden Strategien sequentielle Suche, binäre Suche und Hashing-basierte Suche behandelt. Der Kurs entwickelt die Codebeispiele in Java, weil das an der W3L die Lehrsprache ist. Aber ich habe rasch den Eindruck gewonnen, dass es in diesem Kurs eben nicht um Java sondern um ein Verständnis der Algorithmen und Datenstrukturen ging. Auch wenn immer wieder darauf verwiesen wird, was die Java-Klassenbibliothek schon fix und fertig anbietet. Denn natürlich wird man selten selbst die Algorithmen und Datenstrukturen aus dem Kurs implementieren. In der Regel wird man Bibliotheken benutzen, die sie zur Verfügung stellen. Sinn des Kurses ist eher, das man versteht, was man da benutzt und was das für Implikationen hat. Das macht sich auch ein wenig bei den Einsendeaufgaben bemerkbar. Ich hätte erwartet, hier vor allem Algorithmen implementieren zu müssen. Tatsächlich wurden viele Implementierungen im Lehrbuch schrittweise entwickelt. Oft ging es eher darum, diesen Code in kleinen Problemstellungen zu benutzen, ihn zu erweitern, zu ergänzen oder zu modifizieren. Im nächsten Kapitel ging es um Sortierverfahren. Es zerfiel in zwei Teile. Im ersten Teil ging es um die sogenannten direkten Verfahren: - Sortieren durch direkte Auswahl - Sortieren durch direktes Einfügen - Sortieren durch direktes Austauschen Diese Verfahren sind leicht zu verstehen aber sie sind langsam. Im zweiten Teil werden diese einfachen Verfahren schrittweise verbessert. Aus dem langsamen BubbleSort wird so z.B. der sprichwörtlich schnelle QuickSort-Algorithmus. HeapSort, QuickSort, ShellSort und MergeSort sind schon etwas schwieriger zu verstehen als die direkten Verfahren. Auch hier ist die Implementierung in Code das geringste Problem. Wichtiger ist, zu begreifen, wie auf der Datenstruktur (in der Regel ein Array) gearbeitet wird, wieviele Vergleiche und Tauschoperationen für große n anfallen, warum ein Verfahren terminiert und so weiter. Eine wichtige Frage ist auch immer wieder die sogenannte Stabilität eines Verfahrens. Hierbei geht es darum, ob sich die Reihenfolge von Elementen mit gleichem Schlüssel im Laufe des Sortierens ändern kann, oder ob sie "stabil" bleibt. Bei diesem Kapitel bedauerte ich nur, dass der BucketSort-Algorithmus nicht ausführlich vorgestellt wurde. Im nächsten Kapitel ging es um Datenstrukturen. Hier wurden eigene Implementierungen von Feldlisten (ArrayList) und verketteten Listen, von Stapeln (Stack) und Schlangen (Queue), von Mengen (Set) und Abbildungen (Map) entwickelt. Hier wurden immer wieder Bezüge zu den Klassen hergestellt, die Java von Haus aus mitbringt. Es war für mich wirklich schön, zu begreifen, was ich bislang nur benutzt hatte, endlich zu verstehen, was "unter der Haube" passiert. Im Rest des Kapitels ging es um Bäume, um das Einfügen und Löschen in Bäumen und um ausgeglichene Bäume. Also darum, wie man Bäume reorganisieren kann, um zu verhindern, dass sie im schlimmsten Fall zur Liste entarten. Die verschiedenen Baumrotationen fand ich leider im Lehrbuch zu knapp erklärt, um sie nachvollziehen zu können. Zum Glück werden Algorithmen und Datenstrukturen in praktisch allen Informatik-Studiengängen gelehrt. Es war so kein Problem im Internet Skripte und Folien anderer Unis und FHs zu finden und da war dann schließlich auch eine Darstellung dabei, mit der auch ich gut zurechtkam. Bis hier war ich mit dem Modul sehr zufrieden. Mit diesem Themen war dann wohl auch der Grundstock dessen abgehandelt, was zu einer einführenden Lehrveranstaltung "Algorithmen und Datenstrukturen" gehört. Von hier aus hätte es in verschiedene Richtungen weitergehen können. Die Autoren dieses Modul haben sich dafür entschieden, Algorithmen auf Texten zu behandeln. Konkret ging es um den KMP und den Boyer-Moore-Algorithmus. Dieses Kapitel ist mir sehr schwer gefallen. Ich war zunächst mit der Darstellung des Stoffes unzufrieden. Meine Suche nach alternativem Material, das verständlicher aufbereitet ist, blieb leider erfolglos. Möglicherweise haben die Autoren also ihr bestes getan und ich hatte hier einfach nicht den richtigen Dreh raus. Ich verstand die Algorithmen schon, aber nach ein bis zwei Tagen war alles wieder weg, während ich mich an den Rest des Stoffes gut erinnerte. Zum Glück kamen die Algorithmen auf Texten in der Präsenzklausur nicht dran. Das letzte Kapitel handelte von kombinatorischen Algorithmen. Zunächst ging es um Backtracking. Damit kann man einige klassische Probleme lösen, zum Beispiel das Färben von Landkarten. Oder klassische Denksportaufgaben, die sich um das geschickte Positionieren von Springern oder Damen auf einem Schachbrett drehen. Schließlich wurde ein Constraint-Solver entwickelt. Dessen Funktionsweise konnte ich leider nicht in allen Details nachvollziehen, denn nun wurde es doch sehr komplex. Hier bewegt man sich schon in Richtung KI. Ich fand es irre spannend, dass dieses Thema im Kurs enthalten war, auch wenn es zum Glück nicht klausurrelevant war. Gerne hätte ich an dieser Stelle noch weiter gemacht, aber es passt eben nicht beliebig viel Stoff in ein Modul. Mein Tutor hatte in diesem Modul einen einfach zu begreifenden Arbeitsrhythmus. Korrekturen kamen am Samstag, ganz gleich, wieviel man die Woche über eingereicht hatte. Ich konnte mein Arbeitsverhalten gut daran anpassen. Hilfestellung bei Problemen gab es schneller. Interessant für mich: Während in GdI1 noch sehr viel Wert auf einen sehr sauber strukturierten und expliziten Code gelegt wurde, ermutigte mich mein Tutor in GdI4, meinen Code kompakter zu schreiben, mehr Operationen in einer Zeile zusammen zu fassen. Meine Programme wurden so kürzer, waren aber auch nicht mehr ganz so leicht leserlich. Man erinnere sich: Dieser Kurs ist fürs 4. Semester vorgesehen. Da traut man den Studierenden schon einen dichteren Programmierstil zu. Die Präsenzklausur lief für mich ziemlich gut. Anscheinend lag mir das Thema, denn ich konnte hier eines meiner besten Ergebnisse erzielen. In der Vorbereitung hatte ich mich auf die Grundkonzepte Suchalgorithmen, Sortierverfahren und Datenstrukturen konzentriert. Überraschend für mich: Java-Code musste ich nur wenig schreiben. Es wurde geprüft, ob man die Verfahren und Strukturen begriffen hatte, unabhängig von der Implementierung in einer bestimmten Programmiersprache. Ein Vorteil bei diesem Modul: Hier gibt es in der Regel ein eindeutiges "richtig" und "falsch", während es in anderen Modulen - nennen wir z.B. "Webdesign" - ein bisschen mehr Interpretationsspielräume gibt. Was ich gerne noch gelernt hätte: - Algorithmen zu Pfadsuche in Graphen - etwas über genetische Algorithmen - etwas über neuronale Netze Am liebsten wäre mir, die W3L würde ein eigenes Modul "Künstliche Intelligenz" anbieten. Aber vielleicht passt das nicht zum Profil eines Studiengangs "Web- und Medieninformatik". Im Kurs ist noch eine ganz knappe Einführung in die funktionale Sprache "Clojure" enthalten, letztlich ein Lisp-Dialekt auf der Java Virtual Machine. Auf dieses Kapitel war ich sehr neugierig, weil ich immer wieder höre, dass es sinnvoll ist, andere Programmierparadigmen kennen zu lernen. Nicht, um in exotischen Sprachen zu programmieren, sondern weil sich das Verständnis für Programmierung insgesamt entwickelt. Ich höre solche Aussagen einerseits mit einer gewissen Faszination und andererseits mit einer gewissen Skepsis. (Sie erinnern mich an die These, man müsse Latein lernen, weil man dann ... besser versteht/kann/lernt.) Jedenfalls wäre ich durchaus neugierig gewesen, eine lispoide Sprache zu lernen. Das Kapitel im Kurs GdI4 ist für diesen Zweck allerdings viel zu knapp. Ich verstehe also leider immer noch nicht, was genau den Reiz funktionaler Sprachen ausmacht. Gerne würde ich diesen Faden eines Tages wieder aufgreifen und zum Beispiel das legendäre "Structure and Interpretation of Computer Programs" von Abelson und Sussman durcharbeiten. Aber ich fürchte, während meines Fernstudiums werde ich die Zeit dazu nicht finden.
  18. Ein Modul bearbeite ich normalerweise in 4 bis 8 Wochen. Das kommt auch ein wenig darauf an, ob ich es alleine oder parallel zu einem anderen bearbeite. Zu Beginn meines Studiums war ich noch nicht so schnell. Es war ein paar Jahre her, dass ich so intensiv gelernt hatte. Da musste ich erst wieder üben, wie ich mir meine Zeit einteile, wie ich mich sinnvoll auf Klausuren vorbereite und so solche Sachen. Das klappt nun besser. Ich glaube, dass mein Lerntempo im Vergleich zu den meisten meiner Kommilitonen recht hoch ist. Bislang habe ich 30 ECTS pro Semester belegt. Da wäre ich in 3 Jahren durch. Allerdings denke ich nicht, dass ich dieses Tempo auf Dauer durchhalten kann. Ich merke schon, dass die Module, die für die höheren Semester vorgesehen sind, inhaltlich anspruchsvoller sind. Es werden Module kommen, die mehr Zeit beanspruchen und die will ich mir dann auch nehmen. Im Vergleich zu den meisten meiner Kommilitonen habe ich einen Vorteil: Ich habe schon einmal ein Fernstudium absolviert. Und zwar ein der britischen Open University. Das war ein sozialwissenschaftliches Studium, aber diese spezielle Lebenssituation als Fernstudent ist mir vertraut. Außerdem arbeite ich nicht mehr Vollzeit sondern nur ca. 30 Stunden pro Woche.
  19. Nach dem für mich nicht so befriedigenden Modul "Webprogrammierung" wollte ich zügig zum Modul "Webanwendungen 1" übergehen. Da ich schon einmal einen Blick ins Lehrbuch geworfen hatte, erwartete ich, hier die gründliche Einführung in HTML und CSS zu erhalten, die ich im Vorgängermodul vermisst hatte. Außerdem behandelt "Web-Anwendungen 1" HTML5 und nicht XHTML wie noch in "Webprogrammierung". Mein oberflächlicher Eindruck war, dass ich dieses Modul viel lieber als erstes belegt hätte. Und so kam es auch. Weil ich von meiner Tutorin wusste, dass die Rückmeldungen zu den Aufgaben in den nächsten Wochen nicht in gewohnter Geschwindigkeit kommen würden, hatte ich für die Bearbeitung dieses Moduls etwas mehr Zeit eingeplant. Genauer gesagt bearbeitete ich es parallel zu GdI4 "Algorithmen und Datenstrukturen". Auf diese Weise kam ich im Studium insgesamt zügig voran, obwohl das Tempo im Modul niedriger war. Normalerweise bearbeite ich die Themen lieber schön nacheinander, aber in diesem Fall erwies es sich als gute Strategie. Ich war auch froh, dass mir meine Tutorin realistisch mitgeteilt hatte, dass es etwas länger dauern könnte. So konnte ich mich auf die Situation einstellen und entsprechend planen. (Von vielen Modulen bei der W3L bin ich auch etwas verwöhnt. Aktuell bearbeite ich zum Beispiel "Softwaretechnik 1". Da bekomme ich meine Einsendeaufgaben oft einen Tag nach Einsendung korrigiert zurück. Das ist schon irre schnell, vor allem wenn man sich klarmacht, dass die Tutoren ihre Tätigkeit nur zusätzlich ausüben.) Das Lehrbuch zu "Web-Anwendungen 1" hat an die 480 Seiten und behandelt in erster Linie HTML5, CSS und ein bisschen Javascript. Deutlich weniger Themen als im Vorgängermodul "Webprogrammierung". So bleibt mehr Zeit, in die Tiefe zu gehen. Ebenfalls angenehm: Am Fallbeispiel eines (zugegebenermaßen sehr einfachen) Web-Anzeigenmarktes werden die verschiedenen Konzepte aus dem Kurs in einer Anwendungssituation gezeigt.Im Fallbeispiel geht es nicht allein um das zu erstellende Produkt Webanzeigenmarkt sondern auch um die fiktive Firma, die ihn im Auftrag eines Kunden entwickelt. Und um die verschiedenen Berufsrollen in diesem Entwicklungsprozess und wie sie miteinander kooperieren. Das trägt sehr zum Verständnis bei. Solche Fallbeispiele kenne ich auch aus anderen Kursen der W3L, aber gerade in diesem Modul fand ich es sehr gelungen umgesetzt. In diesem Modul geht es um statische Webseiten. Erst in "Web-Anwendungen 2" geht es wieder darum, HTML-Code dynamisch zu erzeugen. Das Buch beginnt mit dem für die W3L üblichen Schnelleinstieg. Hier geht es um den Aufbau eines HTML5-Dokumentes, um das Anlegen von Links, das Einfügen von Bildern, die Verwendung von Formularen und Tabellen und um erste Schritte mit CSS. Alle diese Themen werden später im Buch in eigenen Kapiteln vertieft. Es gibt ein kurzes Kapitel zum HTTP-Protokoll, aber das wird detaillierter im Modul "Computernetze" behandelt und soll hier nur Hintergrundinformationen für die eigentlichen Kursinhalte liefern. Nun kommen 60 Seiten Einführung in HTML5. Hier merkte ich sowohl beim Durcharbeiten des Lehrbuches als auch beim Bearbeiten der Einsendeaufgaben: Es bleibt viel mehr hängen. Die Aufgaben waren auch weniger technisch und boten Möglichkeiten, ein bisschen kreativ zu sein. Themen hier sind z.B.: - Strukturelemente - Zeichensätze - Block- und Inline-Elemente - Hyperlinks - Einführung in Webserver Besonders interessant fand ich die Ausführungen zur Modellierung von Webseiten mit UML und die Hinweise zur systematischen Programmierung. Weiter ging es mit einem Kapitel zum Einbinden von Multimedia-Elementen in Webseiten, also Bilder, Audio und Video. Hier geht es auch um Grafik-, Audio- und Videoformate und um Link-sensitive Bilder. Im nächsten Kapitel ging es um CSS: - Trennung von Struktur und Präsentation - Stilregeln - Textgestaltung und Schrift - Farbe und Hintergrund - Textformatierung - und das Boxmodell Speziell beim Boxmodell empfehle ich, aufmerksam zu arbeiten, denn das ist etwas, dass sich in einer Klausur in knapper Form abprüfen lässt, ohne dass man viel Code schreiben muss. Zwischen den Kapiteln kommt der Lehrtext immer wieder auf das Fallbeispiel Webanzeigenmarkt zurück, dass mit den neuen Techniken erweitert und verfeinert wird. So erlebt man den neuen Stoff im Zusammenspiel mit bekannten Inhalten. Das finde ich wirklich didaktisch gut gemacht. Nun folgen zwei Kapitel zu Tabellen und Formularen. Insbesondere Formulare sind ja für die Interaktion mit den Nutzern einer Seite sehr wichtig. Hier gibt es inhaltliche Überschneidungen mit dem Modul "Web-Design und Web-Ergonomie", wobei es in "Web-Design" um Aufbau und Gestaltung von Formularen geht und in diesem Modul um die technische Umsetzung. Die Module wirken an dieser Stelle gut aufeinander abgestimmt. Auch Tabellen und Formulare werden ins Fallbeispiel Webanzeigenmarkt integriert. Im nächsten Kapitel geht es um Javascript. Mit "Webprogrammierung" im Hintergrund kam ich diesmal ganz gut zurecht, wenngleich der Stoff auch hier recht komprimiert vermittelt wurde. Ca. 25 Seiten mussten genügen. Das nächste Kapitel war das einzige im Buch, dass ich nicht so gelungen fand. Hier ging es um neue Features in HTML5, z.B. zur Validierung von Formularen, für Drag&Drop, um das Canvas-Element, um die lokale Speicherung von Web-Ressourcen und um sematische Auszeichnung. Hier war man bemüht, aktuelle Inhalte zu vermitteln. Beim Ausprobieren der Fallbeispiele erlebte ich, dass die Browser neue Elemente zum Teil sehr unterschiedlich darstellen, so dass man sich gut überlegen muss, was man davon in der Praxis verwenden möchte. Oft schienen Codebeispiele erst nicht zu funktionieren, bis ich sie in einem anderen Browser testete. Am besten liefen die Sachen noch im Firefox. (Ich verwende meist Chrome.) Der Grund, weshalb ich von diesem Kapitel nicht so begeistert war: Es fehlte der rote Faden, der sich sonst durch das ganze Lehrbuch zog. Eher war es eine bunte Sammlung von Themen, die in einer recht beliebig scheinenden Reihenfolge präsentiert wurden und zwischen denen es wenig inhaltliche Zusammenhänge gab. Das erinnerte ein wenig an den eher technischen Charakter des Vorgängermoduls "Webprogrammierung". Entsprechend war der Stoff dieses Kapitels auch nicht mit dem Fallbeispiel verknüpft. Das folgende Kapitel zu CSS war wiederum sehr gelungen. Hier ging es um: - Selektoren - Pseudoelemente und Pseudoklassen - um medienspezifische Präsentation, also um Seiten die z.B. auf einem Smartphone anders aussehen als auf einem Bildschirm - um den Elementfluss Wenn man hier gut aufpasste, konnte das schon als erster Einstieg in responsive Web-Design dienen, auch wenn das nicht explizit Thema des Moduls ist. Meine Tutorin hat mir hier ein sehr gutes weiterführendes Buch empfohlen und ich habe auch einige Aufgaben aus dem Modul nach diesem Kapitel neu bearbeitet, um z.B. Formulare so umzugestalten, dass sie auch auf einem Handydisplay gut zu bedienen sind. An diesem Punkt hatte ich das Gefühl, dass nun alle Kursinhalte schön ineinander greifen und ich die Dinge im Zusammenhang sehe. Ein befriedigender Abschluss. Das letzte Kapitel handelte von barrierefreiem Webdesign. Es ist aber zu kurz, um danach wirklich Ahnung vom Thema zu haben. Trotzdem finde ich es gut, dass es im Modul enthalten ist. Behörden müssen sich mit dem Thema auseinandersetzen. Firmen machen es seltener. Ich finde das Thema wichtig. Das Internet ist längst im Alltag unverzichtbar, aber man vergisst gerne, dass es viele Menschen gibt, die aufgrund von Einschränkungen Webseiten nicht so nutzen und betrachten können wie die meisten von uns. Aber auch diese Menschen brauchen die Informationen und Dienste, die das Web bereitstellt. In "Web-Design und Web-Ergonomie" taucht dieses Thema noch einmal auf. Leider auch dort in recht kompakter Form. Klar wird allerdings: Barrierefreiheit per se gibt es nicht. Barrierefrei ist eine Seite immer im Hinblick auf die Fähigkeiten und Möglichkeiten ihres Nutzers. Ein blinder Mensch hat zum Beispiel andere Bedürfnisse als jemand mit motorischen Einschränkungen. Die Einsendeaufgaben haben mir in diesem Modul viel Spaß gemacht und bauten zum Teil auch aufeinander auf. Die Rückmeldung kam zum Teil recht langsam, dann oft schubweise für mehrere Aufgaben, aber das war mir ja so angekündigt worden und ich hatte entsprechend geplant. Auch die Korrektur der Präsenzklausur ließ ein Weilchen länger auf sich warten. Dies mag aber auch den Sommerferien geschuldet gewesen sein. Die Präsenzklausur fand ich leider nicht so einfach, obwohl viele meiner Kommilitonen der Ansicht waren, im Falle von "Web-Anwendungen 1" sei sie ja besonders leicht. Viele meiner Mitstudierenden arbeiten als Web-Entwickler und haben täglich mit den Inhalten dieses Moduls zu tun. Solche Routine ist natürlich mit Pauken nicht zu ersetzen. Mein Problem war denn auch in erster Linie die Zeit, die ich für die Aufgaben brauchte. Hier ist es mir leider nicht gelungen, alles zu bearbeiten. Ein weiteres Problem war das Arbeiten mit Stift und Papier, ohne zwischendurch einmal sehen zu können, wie das nun im Browser dargestellt wurde. Ich hatte zwar auch für diese Klausur einige Aufgaben noch einmal von Hand bearbeitet, aber dieser Aspekt blieb für mich schwierig. So befürchtete ich denn, bei diesem Modul schlechter abzuschneiden als bei "Webprogrammierung". Das hätte mich sehr geärgert, weil ich das Gefühl hatte, diesmal den Stoff viel besser verstanden zu haben. Zum Glück hatte ich beim Abschlusstest und der Online-Klausur ziemlich gut abgeschnitten, so dass mir die Bonuspunkte halfen, ein paar Schwächen in der Präsenzklausur auszugleichen. Insgesamt endete es nicht schlechter als in "Webprogrammierung", so dass ich nicht nur mit dem Modul sondern auch mit dem Ergebnis zufrieden war. Anderen Studierenden im Studiengang Web- und Medieninformatik würde ich empfehlen, sowohl in "Webprogrammierung" als auch in "Web-Anwendungen 1" reinzuschnuppern. Und sich dann zu überlegen, ob sie "Web-Anwendungen 1" nicht entgegen der Empfehlung der W3L zuerst belegen möchten.
  20. Habe ich an dieser Stelle nicht versucht, weil ich vermutet habe, dass der Abschnitt für die Klausur nicht relevant ist. Das erschien mir eher als Nebenschauplatz, wo noch mal schnell etwas vorgestellt wurde. In erster Linie helfen die Tutoren bei Fragen zum Kursinhalt und bei Problemen mit Übungen und Aufgaben. Wenn irgendeine Bibliothek oder ein Tool verwendet wird, ist im Kurs in der Regel eine kurze Installationsanleitung vorhanden. Da sich Software schnell weiterentwickelt, ist die aber oft schon nicht mehr ganz aktuell. Da wird dann eher auf die Homepage des Herstellers oder des Projektes verwiesen, wo die Informationen zum aktuellen Release zu finden sind. Das finde ich auch sinnvoll so. Ich nehme mal die Bücher von Herbert Schildt als Beispiel. "Swing - A Beginner's Guide" hat 590 Seiten, "Introduction to JavaFX 8 Programming" nur noch 262. Der Untertitel des zweiten Buches ist "A Fast-Paced Guide to JavaFX GUI Programming Fundamentals". Fast-paced scheint es zu treffen. Ich glaube nicht, dass das ein gutes Buch für Neulinge ist. Ich habe es nicht durchgearbeitet, aber syntaktisch scheint mir JavaFX-Code kompakter auszufallen als Swing-Code. Wenn ich mir die Code-Beispiele anschaue, habe ich das Gefühl, gut nachvollziehen zu können, was passiert. Um so etwas selber schreiben zu können, müsste ich mir die Finger schmutzig machen: Die Beispiele durcharbeiten, mir Variationen ausdenken, rumprobieren, mir eigene Probleme überlegen und die lösen. Bei JavaFX kommen allerdings viele neue Features hinzu und wenn man die nutzen wollte, müsste man sich doch noch mal ganz anders einarbeiten. Letztlich weiß man ja nicht, mit welcher Sprache man später beruflich zu tun haben wird. Und natürlich gibt es zu jeder Sprache verschiedene GUI-Frameworks. Das kann nicht Sinn eines Studiums sein, die alle vorzustellen. Man muss ein paar grundlegende Konzepte verstehen. Was ist ein Action-Listener, wie funktioniert Event-Handling, was sind gängige GUI-Komponenten, was macht ein Layout-Manager? Solches Wissen ist übertragbar. GdI3 bemüht sich, solche Grundkenntnisse zu vermitteln und tut dies am Beispiel Swing.
  21. Nach Datenbanken, Mathe1 und SQL hatte ich richtig Lust, wieder einen Kurs mit Java zu belegen. Der nächste Kurs aus dieser Gruppe war "Grundlagen der Informatik 3: Anwendungen programmieren". Der Kurs deckt verschiedene Themen ab, die mit Anwendungsentwicklung zu tun haben. Aus meiner Sicht gibt es aber 3 inhaltliche Schwerpunkte: - GUI-Programmierung - Persistenz mit relationalen Datenbanksystemen - Erzeugung und Verarbeitung von XML-Dateien Der Kurs beginnt wie bei der W3L üblich mit einem Schnelleinstieg, der eine Art Überblick über die Themen des Kurses gibt. Bei GdI3 handelt dieser Schnelleinstieg aber nur von den GUI-Kapiteln, die auch mehr als die Hälfte des Kursumfangs ausmachen. Die GUI-Programmierung wird noch am Beispiel Swing behandelt, obwohl mit JavaFX ja ein aktuellerer Rahmen zur Verfügung steht. Das hat mich anfangs ein bisschen enttäuscht. Auf den ersten 40 Seiten lernt man das Grundgerüst einer Swing-Anwendung kennen; lernt, wie man ein Fenster durch Kompositon oder Vererbung erzeugt, macht erste Erfahrungen mit Event-Handling und lernt einfache Komponenten wie Textfelder und Buttons kennen. In diesem Zusammenhang muss man auch mit inneren Klassen und mit Lambda-Ausdrücken umgehen. Hier geht es zunächst gemächlich voran. Eine wichtige Rolle spielt stets die Darstellung der Zusammenhänge zwischen den Swing-Klassen durch Klassendiagramme in UML. Es geht in erster Linie um das Verstehen der Grundkonzepte. Für meinen Geschmack war es ein bisschen viel UML und ein bisschen wenig Code. Auch das Herumexperimentieren mit den Komponenten kam mir ein bisschen zu kurz. Hier musste ich mir selber zusätzliche Gelegenheiten suchen, das Gelernte durch kleine Experimente zu vertiefen. Auf das Buch, das ich ergänzend verwendet habe, verweise ich am Ende meines Beitrages. Es folgen 3 kürzere Kapitel über das Testen von GUIs, über GUI-Grafikeditoren und über Applets, die ja inzwischen keine so große Rolle mehr spielen. Da Applets am Anfang sehr wichtig für die Etablierung der Sprache Java waren, konnte man sie wohl nicht übergehen. Die Kapitel über Grafikeditoren sind nicht so umfangreich, dass man hinterher wirklich mit so einem Werkzeug umgehen könnte. Man weiß, dass es so etwas gibt und welche Vor- und Nachteile die Arbeit mit einem Editor haben kann. Ich habe die Aufgaben alle von Hand gecodet und ich glaube, so lernt man in diesem Stadium auch am meisten. Das Kapitel über Grafikprogrammierung fand ich nicht sehr zugänglich. Natürlich hätte man hier schnell zeigen können, wie man ein paar Linien und Formen zeichnet, aber die Intention war, zu vermitteln, was der Grafikontext ist und wozu man die Methode paint() überschreibt. Später im Kurs ist das einmal Grundlage dafür, Swing-Komponenten ein wenig zu erweitern und mit einer eigenen Optik auszustatten. Außerdem lernt man, wie man Grafiken lädt und anzeigt. Interessanter ist das Kapitel, das die Ereignisverarbeitung in Java im Detail behandelt. Hier lernt man das Beobachter-Muster kennen und begreift, wie Adapterklassen die Ereignisverarbeitung vereinfachen. Das Praxisbeispiel ist ein sehr einfacher UML-Editor. An diesem Punkt des Kurses begann mir zu dämmern, das GUI-Programmierung eine recht zeitaufwändige Angelegenheit sein kann. Man landet schnell bei ziemlich umfangreichem Code, der gar nicht mehr so leicht zu navigieren ist. Das für mich interessanteste Kapitel war "GUI-Gestaltung - Theorie und Praxis". Hier lernt man viele verschiedene Swing-Komponenten im Zusammenspiel kennen: Fenster, Menüs, Multifunktionsleisten, Listen, Dialoge und die unterschiedlichsten darin enthaltenen Interaktionselemente. Als Fallbeispiel dient eine Artikel- und Lieferantenverwaltung. Konzeptionell lernt man etwas über das MVC-Muster. Sehr interessant fand ich die Abschnitte, wie man auf der Grundlage der objektorientierten Analyse ein GUI konzipieren kann. Die hier vorgestellten Heuristiken sind für kaufmännisch-administrative Anwendungen gedacht, aber der Stoff war sehr aufschlussreich, weil einem klar wird, dass man nicht immer das Rad neu erfinden muss. Lohnend war auch der Abschnitt über Layout-Manager. Hier ging es zunächst um die Layout-Manager, die Swing von Haus aus mitbringt. Es brauchte eine Weile, bis ich das Konzept des schon recht flexiblen GridBag-Layoutmanagers verstanden hatte. Wirklich schwierig fand ich die Ausführungen zur Entwicklung eigener Layout-Manager. Hier konnte ich nicht in allen Punkten folgen. Nach einem kurzen Kapitel über modellgetriebene Entwicklung am Beispiel von Enterprise Architekt landete man beim zweiten großen inhaltlichen Block: Persistenz mit relationalen Datenbanken. Ich hatte mir vorgestellt, recht pragmatisch zu lernen, wie ich mit JDBC eine Verbindung zu einer relationalen Datenbank wie z.B. MySQL aufbaue. Darum ging es auch zunächst, aber eigentlich ging es vor allem um das DAO-Muster, das Fachkonzept und Datenbank schön entkoppelt, so dass man z.B. die verwendete Datenbank relativ leicht wechseln könnte, ohne Code in den Fachkonzeptklassen ändern zu müssen. Man arbeitet allein an der schlanken Schnittstelle. Das wird dann schon recht komplex und ich habe eine ganze Weile gebraucht, bis ich das Zusammenspiel der vielen verschiedenen Klassen begriffen habe. Der Clou an der Angelegenheit ist natürlich, dass nicht jeder Entwickler verstehen muss, was hier im Detail passiert. In der Regel wird interessieren was vor der Schnittstelle passiert. Diese Abschnitte waren für mich sehr lohnend, weil ich hier das Gefühl hatte, nicht allein etwas über Java zu lernen. Weniger gelungen fand ich den Abschnitt über die Java Persistence API. Hier ist es mir leider auch nicht gelungen, die Codebeispiele aus dem Kurs zum Laufen zu bringen. Es folgt ein kurzes Kapitel über Nebenläufigkeit. Das ist nötig, weil Swing nicht threadsicher ist. Wer in Java GUIs programmiert muss sich mit Nebenläufigkeit auseinander setzen. Hier lernt man aber nur das nötigste, denn es gibt ein eigenes Modul "Nicht-sequentielle Programmierung", in dem Nebenläufigkeit viel ausführlicher behandelt wird. Nun folgte ein umfangreiches Fallbeispiel "Auftragsverwaltung", bei dem die verschiedenen Abschnitte der Entwicklung vorgestellt wurden: Pflichtenheft und Glossar, OOA-Modell, GUI, Architektur und Komponenten, OOD des Fachkonzeptes, Persistenzschicht und natürlich auch die Ausprogramierung der entwickelten Modelle. An diesem Punkt möchte ich erwähnen, dass die Code-Beispiele in diesem Kurs viel umfangreicher sind als in GdI1 und GdI2. Anliegen des Kurses ist auch, dass der Lernende den Überblick über größere Mengen Code behalten kann. Die BlueJ-IDE aus den ersten beiden Modulen reicht hier nicht mehr aus. Die Studierenden sollen sich mit Eclipse vertraut machen. Die herunterladbaren Codebeispiele sind auch dafür aufbereitet. Ich mag Eclipse nicht und habe lieber mit Netbeans gearbeitet, was natürlich auch in Ordnung war, aber manchmal ein bisschen Mehrarbeit bedeutet hat. Bei vielen Aufgaben programmiert man nicht mehr "from scratch" sondern soll vorhandenen Code weiterentwickeln. Interessant waren auch Aufgaben, bei denen man Fehler aufspüren und beheben sollte. Dazu musste man erkunden, wie das Zusammenspiel vieler Klassen in unterschiedlichen Paketen funktioniert. Hier genügte oft wenig Code, um das Problem zu lösen, aber es kostete viel Zeit, zu verstehen, wo dieser Code hin musste, um seine Wirkung zu entfalten. Es verschaffte mir eine gewisse Befriedigung, mich in umfangreicheren Code einarbeiten zu können und mich dann auch darin zurecht zu finden. Den Abschluss dieses sehr aufschlussreichen Fallbeispiels bildeten 2 Abschnitte über Berechtigungssteuerung und Internationalisierung. Und nun begann der dritte größere inhaltiche Block des Kurses. Am Fallbeispiel der technischen Anwendung "Wetterstation" wurde die Verarbeitung von XML-Dateien behandelt. Die Wetterstation ist eine GUI-Anwendung, die sich Wetterdaten von einem Server holt und am Bildschirm in Form verschiedener Instrumente darstellt. Die Wetterdaten kommen im XML-Format und müssen geparst werden. Hier war ich froh, Webprogrammierung schon belegt zu haben, denn so hatte ich Vorkenntnisse in XML. Zwar gab es auch hier eine knappe Einführung in XML, aber allein damit wären mir diese Abschnitte schwer gefallen. Im letzten Kapitel wurde am Beispiel Othello (oder auch Reversi) ein Strategiespiel mit GUI entwickelt. Hier spielt Grafikprogramierung eine Rolle, aber eigentlich ging es um den Minimax-Algorithmus, der den besten Zug ermitteln sollte. Im Prinzip schon ein kleiner Vorgeschmack auf GdI4 "Algorithmen und Datenstrukturen". Für die Online-Klausur ist es nützlich, den Code der Übungen und Aufgaben griffbereit zu haben. Manche Aufgaben hätte ich in der zur Verfügung stehen Zeit nicht ausprogrammieren können, wäre mir nicht recht früh aufgefallen, dass ich Code aus vorangegangenen Übungen anpassen kann. Ich nehme an, dass war hier auch Zweck der Übung. Da man bei der GUI-Programmierung recht schnell bei umfangreichem Code landet, war ich natürlich sehr gespannt auf die Präsenzklausur. Wie wollte man den umfangreichen Inhalt in der kurzen Zeit abprüfen? Tatsächlich musste ich relativ wenig Code schreiben. Hier ging es um das Verständnis für die Zusammenhänge zwischen den verschiedenen Swing-Klassen und sehr allgemein um die objektorientierten Konzepte aus dem Modul. Sehr nützlich wäre es hier gewesen, noch einmal Stoff aus GdI2 zu wiederholen. In UML sollte man fit sein. Reines Programmieren genügte hier nicht. Ich hatte aber Glück und konnte das Modul mit einem schönen Ergebnis abschließen. Auch mit meinem Tutor hatte ich Glück. Er war derselbe wie in GdI2 und es war schön, in 2 aufeinanderfolgenden Modulen die auch noch inhaltlich eng zusammenhingen vom gleichen Tutor betreut zu werden. Von ihm habe ich nicht nur gute und schnelle Rückmeldungen zu meinen Aufgaben bekommen. Ich hatte auch immer wieder Fragen, die eher auf Nebengleise führten und gelegentlich bekam ich sehr interessante Anregungen. Das hat mal wieder Spaß gemacht. Anderen Studierenden, die GdI3 belegen wollen, würde ich empfehlen, zuvor "Webprogrammierung" und "SQL und relationale Datenbanken" zu belegen, um die Kapitel über XML-Parsing und Datenbankanbindung zu zu verstehen. Ein nicht zu großer zeitlicher Abstand zu GdI2 erscheint mir ebenfalls günstig. Insgesamt würde ich empfehlen, beim Bearbeiten von GdI2 gründlich vorzugehen. Die hier behandelten Grundlagen verfolgen euch über viele Module. GdI3 ist dafür ein gutes Beispiel. Ich hatte ja schon erwähnt, dass mir das praktische Herumprobieren mit Code im Modul ein wenig zu kurz kam. Hier habe ich mir selber eine alternative Möglichkeit gesucht, nämlich das Buch "Swing - A Beginner's Guide" von Herbert Schildt. Das ist kein Uni-Lehrbuch sondern ein praktisches Programmierbuch. Im wesentlichen stellt Herr Schildt Swing-Komponenten vor und zeigt an kleinen Codebeispielen, wie man sie benutzt. In jedem Kapitel gibt es auch kleine Übungsaufgaben. Das hat mir sehr viel gebracht, um zu lernen, wie ich die sehr gut aufbereiteten Konzepte aus dem W3L-Modul ganz praktisch in Java ausprogrammieren kann. Von Herrn Schildt gibt es auch ein einführendes Buch in JavaFX, das allerdings sehr dicht geschrieben ist und sich klar an Leser richtet, die Swing-Vorkenntnisse haben.
  22. Mein letztes Modul im ersten Semester sollte "Webprogrammierung" werden. Für Studierende im Studiengang "Web- und Medieninformatik" wird es als erstes Modul in diesem Fachgebiet empfohlen. Es ist zugleich Pflichtmodul im Studiengang "Wirtschaftsinformatik", wo es dem Fachgebiet Softwaretechnik zugeordnet ist. Für die Wirtschaftsinformatiker bleibt es das einzige Pflichtmodul, dass sich speziell mit Webtechnologien beschäftigt. (Sie belegen allerdings noch ein Modul zu Content Management Systemen.) Für die Webinformatiker ist es der Auftakt zu vertiefenden Modulen in HTML und CSS, in Multimedia, XML, Webdesign und serverseitiger Programmierung mit Java Server Pages. Der Wahlpflichtbereich bietet dann weitere Möglichkeiten, sich in diesem Bereich zu entwickeln, auch für die Wirtschaftsinformatiker. Doch zurück zum Modul "Webprogrammierung". Es handel von folgenden Themen: - XHTML - CSS - Javascript - XML - PHP - Java Server Pages - ASP.Net - und eine sehr knappe Einführung in Ajax Der Kurs beschäftigt sich also mit semantischem Markup, Styling und Layout, clientseitiger Programmierung und serverseitiger Programmierung. Das erste Kapitel behandelt XHTML. HTML5 war anscheinend bei der letzten Überarbeitung noch nicht so weit, auch wenn es im einführenden Kapitel kurz vorgestellt wird. Für die Bearbeitung der Aufgaben ist die XHTML-Syntax verbindlich, die in verschiedenen Punkten ein bisschen strenger ist. Inhalte hier sind z.B.: - Grundlegender Aufbau eines XHTML-Dokumentes - Links - Bilder - Bereiche - Tabellen - Formulare Im Grunde keine schlechte Einführung, die aber für meinen Geschmack ein wenig knapp ausgefallen ist. Möglicherweise ging man bei der Konzipierung des Moduls davon aus, dass viele Studierende in diesem Gebiet Vorkenntnisse haben. Dies trifft auch für viele meiner Kommilitonen zu, die z.B. als PHP-Entwickler arbeiten. Mit solch einem Hintergrund sollte das Kapitel zu XHTML tatsächlich recht leicht fallen. Ich ging mit wenig Vorkenntnissen in den Kurs, hatte keine Schwierigkeiten, die vorgestellten Konzepte zu verstehen, merkte aber bei den Übungen, dass ich in der Anwendung nicht richtig sicher wurde. Ein Besonderheit in diesem Kurs: Es gibt vergleichsweise wenige Einsendeaufgaben; in der Regel zu jedem Kapitel eine. Vor Bearbeitung jeder Einsendeaufgabe wird die Bearbeitung einiger Übungsaufgaben vorgeschlagen, zu denen man sich Musterlösungen runterladen kann. So kann man selbst vergleichen und schauen, ob die eigene Lösung sinnvoll und richtig war. Natürlich kann man so eine Menge lernen und ich fand die Übungen auch didaktisch gut gewählt und erkannte einen sinnvollen Aufbau. Ein wenig mehr Tutorinteraktion hätte mir aber besser gefallen, zumal das in anderen Modulen ja auch möglich ist. Die Einsendeaufgaben fassten aber meist ganz gut die einzelnen Fähigkeiten aus den vorangegangenen Übungen zu einer komplexeren Gesamtaufgabe zusammen. Im nächsten Kapitel ging es um CSS. Themen waren hier zum Beispiel: - Vererbung, Kaskadierung - Tabellengestaltung - Layoutgestaltung mit float - Absolutes Layout Responsive Webdesign spielte in diesem Modul keine Rolle. Weiter ging es mit Javascript als clientseitige Programmiersprache. Hier ging es ums DOM, um Event Handler und um die Validierung von Formularen. Auch dieses Kapitel war für meinen Geschmack recht knapp. Ich hatte keine Schwierigkeiten, den Stoff nachzuvollziehen, merkte aber bei den Übungen, dass es einfach zu schnell gegangen war, um eine gewisse Sicherheit im Umgang mit der Sprache zu entwickeln. Auch merkte ich, dass mir die solide Grundlage in HTML und CSS fehlte, so dass ich immer wieder im Lehrtext zurückgehen musste. Javascript sieht Java auf den ersten Blick ähnlich, hat aber ein anderes Sprachkonzept. Bei den Übungen hatte ich oft das Problem, die gewohnte Java-Syntax und die noch ungewohnte Javascript-Syntax zu mischen, was dazu führte, dass ich immer wieder viel Zeit für Fehlersuche aufbringen musste. Diese Verwirrung sollte sich um Laufe des Kurses noch steigern, wenn ähnliche Anwendungsbeispiele in verschieden Sprachen gezeigt wurden. So merkte man einerseits gut die Unterschiede zwischen den Sprachen, aber zugleich fiel es mir schwer, die Codebeispiele in meiner Erinnerung auseinander zu halten. Im folgenden Kapitel über XML ging es um: - den grundlegenden Aufbau einer XML-Datei - XML-Parser - die DTD - das XML-Schema - um XSL-Stylesheets Außerdem lernte man die Vorzüge eines XML-Editors kennen. Hier möchte ich erwähnen, dass die W3L ein eigenes Modul "XML" hat, dass wesentlich tiefer geht und das im Studiengang "Web- und Medieninformatik" Pflicht ist. Als Einführung ins Thema XML fand ich dieses Kapitel sehr gelungen. In den folgenden Kapiteln sollte es um serverseitige Sprachen gehen. Hier folgten im Schnelldurchgang: - PHP - Java Server Pages - ASP.Net Im PHP-Kapitel ging es natürlich um die Anbindung an MySQL, aber auch um einfache Dateiverarbeitung und die Realisierung eines Gästebuches. Eine Herausforderung im JSP-Kapitel ist, dass die Syntax häufig wechselt, denn auch EL, JSTL und JSF werden kurz angerissen. Das soll wohl einen Überblick über verfügbare Techniken vermitteln, stiftet aber aus meiner Sicht in dieser knappen Form eher Verwirrung. JSP hat nur einen geringen Marktanteil. Trotzdem lohnt es sich, dieses Kapitel gründlich zu bearbeiten, denn das Pflicht-Modul "Web-Anwendungen 2" behandelt ausführlich JSP. Auch im Wahlpflichtbereich kann man sich weiter mit Java als serverseitiger Sprache befassen, während es zum Beispiel zu PHP keine weiteren Module gibt. Sehr gelungen fand ich dafür das Kapitel zu ASP.Net. Hier ging es unter anderem um das Konzept der code behind Technik, die eine saubere Arbeitsteilung zwischen Front-End- und Back-End-Entwicklern ermöglichen soll. Hier habe ich gemerkt, dass die Einführung in C# aus dem Modul "Grundlagen der Informatik 2" doch recht knapp war. Mit meinen Java-Kenntnissen fand ich mich zwar schnell zurecht, aber an Details blieb ich doch oft hängen und verbrachte viel Zeit mit Fehlersuche. Gleichwohl hat mir besonders dieses Kapitel gut gefallen, weil ich dabei den Net-Framework als ein schönes Stück Technik schätzen gelernt habe. Schade, dass weder ASP noch C# im weiteren Curriculum der W3L eine Rolle spielen. Das letzte Kapitel stellte in sehr knapper Form die Möglichkeiten von Ajax vor. Hier habe ich definitiv nichts mehr mitnehmen können. Ich war einfach übersättigt von den rasch wechselnden Themen und hatte zu viel neue Syntax in zu kurzer Zeit verdauen müssen. Bei der Bearbeitung der Aufgaben merkte ich das daran, dass ich immer wieder die verschiedenen Sprachen mischte und verwechselte. Zusätzlich hatte ich in diesem Modul das Problem, dass meine Tutorin länger für die Korrektur meiner Aufgaben brauchte, als ich das bislang von der W3L gewohnt war. Wenn Feedback kam, war ich oft schon 2 Kapitel weiter, was es mir schwerer machte, die durchaus guten Tipps zu verwerten. Auch die Korrektur der Online-Klausur dauerte ein wenig länger, so dass ich beim Schreiben der Präsenzklausur noch nicht wusste, wieviele Bonuspunkte ich hatte. Für mich war es das erste Modul mit dem ich insgesamt unzufrieden war. Für meinen Geschmack wollte man hier zu viel auf einmal. Die Intention, einen Überblick über gängige Webtechnologien zu geben, die Themen semantisches Markup, Styling, client- und serverseitige Programmierung in einem Modul vorzustellen, war für mich nachvollziehbar. Aber nach der Bearbeitung hatte ich den Eindruck, dass weniger mehr gewesen wäre. Lieber hätte ich zunächst eine gründlichere Einführung in HTML und CSS erhalten. Diese Grundlage bringen natürlich viele Studierende schon mit, weshalb dieses Modul von vielen meiner Kommilitonen als eines der leichteren beschrieben wird. Für die Präsenzklausur hatte meine Tutorin mir den wertvollen Tipp gegeben, ein paar Aufgaben noch einmal mit Stift und Papier zu bearbeiten. Das hat mir tatsächlich geholfen, ein paar syntaktische Grundstrukturen "in die Finger" zu kriegen, wodurch ich in der Klausur etwas schneller war. Die Note war für mich zwar erfreulich, aber das gute Gefühl, sich den Stoff richtig angeeignet zu haben, blieb in diesem Modul für mich aus. Die Klausur deckte die Themen des Kurses recht breit ab, so dass ich anderen Studierenden empfehlen würde, alle Kapitel zu wiederholen. Meine Tutorin hat mir übrigens am Ende erklärt, warum die Bearbeitung in meinem Fall etwas länger gedauert hat als üblich, und das war für mich auch gut nachvollziehbar. Da ich bald das Modul "Web-Anwendungen 1" belegen wollte, das ebenfalls von ihr betreut wurde, plante ich eine etwas längere Bearbeitungszeit ein und belegte parallel GdI3 "Anwendungsprogrammierung". Rückblickend muss ich sagen, dass es hilfreich war, das Thema der längeren Korrekturzeiten anzusprechen. Das Problem ließ sich dadurch zwar nicht sofort lösen, aber immerhin habe ich so einen guten Workaround finden können. Ich nehme daraus mit, dass es sich lohnt, sich mit den Tutoren über die eigenen Lernziele auszutauschen, auch und gerade was Klausurtermine und die angepeilte Bearbeitungszeit angeht. Wenn man rechtzeitig weiß, was einen erwartet - z.B. vorrübergehend etwas längere Korrekturzeiten - kann man einen Plan B machen. Rückblickend betrachtet, hätte ich lieber das Modul "Webanwendungen 1" als erstes bearbeitet. Hier erhält man die sehr gründliche Einführung in HTML5 und CSS, die ich mir von einem einführenden Modul in Webtechologien erhofft hätte. Dieser Kurs orientiert sich außerdem an Fallbeispielen, was für mich sehr zum Verständnis beigetragen hat. Aus meiner Sicht sollte "Web-Anwendungen 1" das erste Modul zu Webtechnologien sein. Doch darüber schreibe ich zu einem anderen Zeitpunkt mehr. Ich meine, das Modul leidet etwas unter seiner Doppelfunktion: Für die Wirtschaftsinformatiker ist es sozusagen die eierlegende Wollmilchsau. Es verschafft ihnen einen Überblick über verschiedene Webtechnologien, ohne allzu sehr in die Tiefe zu gehen. Für die Webinformatiker soll es zugleich eine Einführung sein, auf die umfangreiche Vertiefungsmodule folgen. Das erfordert ein paar didaktische Kompromisse. Als Sekundärliteratur für dieses Modul habe ich "HTML & CSS: Design and Build Websites" und "Javascript & JQuery: Interactive Front-End Web Development" verwendet. Beide Titel sind von Jon Ducket. Sie glänzen durch ein sehr aufgeräumtes Layout. Der Stoff wird in appetitlichen, kleinen Häppchen serviert und man hat eine schöne Gegenüberstellung von Code und grafischer Darstellung. Ich habe diese Bücher parallel zum Kurs gelesen und empfand die besonders ästhetische Form der Darstellung als ideale Ergänzung zum sachlichen und systematischen Stil des im Kurs verwendeten Lehrbuches.
  23. Im Modul GdI4 "Algorithmen und Datenstrukturen" wird ein Constraint Solver entwickelt. Das ist ein relativ komplexes Projekt, das ich leider nicht in allen Schritten nachvollziehen konnte. Zu meinem großen Bedauern hat die W3L bislang kein eigenständiges Modul KI. Für dieses Thema interessiere ich mich sehr, sowohl für die klassische KI als auch für neuere Ansätze wie z.B. künstliche neuronale Netze. Ich suche nach Möglichkeiten, hier zu gegebener Zeit ein Modul an einer anderen Hochschule zu belegen. Dafür brauche ich aber meiner Meinung nach noch ein paar Grundlagen.
  24. Das Modul Mathe1 - "Mathematisch-logische Grundlagen der Informatik" hat drei Autoren. Man bearbeitet ein Lehrbuch von etwa 300 Seiten. Da die Mathematik als Wissenschaftsdisziplin eine sehr komprimierte formale Ausdrucksform entwickelt hat, kann man auf wenigen Seiten viel sagen. Im Vergleich zu anderen Lehrbüchern auf FH-Niveau, die mir bekannt sind, beschränkt sich dieses Buch nicht allein auf die knappe formale Darstellung, z.B. bei Beweisen. Es hat auch viele ausführliche, beschreibende, kommentierende und informierende Passagen. Man kommt also beim Lesen stellenweise recht fix voran und hält sich dann wieder längere Zeit an wenigen Seiten, manchmal sogar an wenigen Zeilen auf. Ich nehme an, dies liegt in der Natur der Sache. Wie bei der W3L üblich, ist der gesamte Lehrtext in der Lernplattform aufbereitet verfügbar. Dort steht er im Mix mit Online-Tests, Einsendeaufgaben und natürlich Abschlusstest und Online-Klausur. Ich finde es entspannter und effektiver, mit dem Buch zu arbeiten. Mit Stift und Papier daneben, um Beispiele und Beweise gleich aktiv nachvollziehen zu können. Die Lernplattform rufe ich dann für Tests und Aufgaben auf. (Dies hat den Nachteil, dass die automatisch erstellte Statistik zur Bearbeitungszeit des Moduls nichts aussagt.) Das Buch soll erkennbar einen sanften Einstieg in das Thema Mathematik bieten, das für Informatik-Studiengänge unumgänglich aber auch bei vielen Studierenden unbeliebt und zum Teil sogar gefürchtet ist. Zunächst geht es um: - Aussagenlogik - Prädikatenlogik Hier gibt es inhaltliche Bezüge zum Modul "Rechnerstrukturen und Betriebssysteme", wo man z.B. Schaltnetze und Schaltwerke aufbaut. Dort ist sozusagen die Aussagenlogik in Hardware realisiert. Hier nähert man sich dem Thema auf formale Weise, arbeitet mit Stift und Papier. Dieser Abschnitt des Kurses fiel mir recht leicht, weil ich einmal an der Uni meiner Heimatstadt mehrere Kurse in formaler Logik belegt hatte. Das war an der philosophischen Fakultät, die auch einen Schwerpunkt in analytischer Philosophie hatte und darum viele Veranstaltungen zum Thema Logik und formale Sprachen anbot. Bei mir war es das Interesse an den Arbeiten von Ludwig Wittgenstein, das mich in diese Veranstaltungen getrieben hat. Dort haben wir zum Beispiel Vollständigkeitsbeweise geführt. Im Modul der W3L wird vergleichsweise weniger verlangt, gerade im Bereich der Prädikatenlogik. Für Leser, die im Bereich der Logik noch wenig Vorkenntnisse haben: In der Aussagenlogik ist die kleinstmögliche Einheit, die betrachtet werden kann, die Aussage. Sie kann wahr oder falsch sein. Einfache Aussagen werden nun mit Verknüpfungen wie "und" und "oder" oder auch der "Implikation" verknüpft zu komplexeren Aussagen und man möchte untersuchen, welche Wahrheitswerte diese komplexeren Aussagen in Abhängigkeit von den Wahrheitswerten der einfachen Aussagen annehmen. Elektronisch kann man die Verknüpfungen in Formen von Logik-Bausteinen realisieren und Spannung oder keine Spannung steht für wahr oder falsch. In der Programmierung begegnet einem die Aussagenlogik vor allem bei bedingten Verzweigungen im Programm, wenn verschiedene Bedingungen mit logischen Operatoren verknüpft werden, in Java z.B. mit "!","&&","||". In der Prädikatenlogik wird die Aussage logisch weiter zerlegt. "Der Ball ist rot." wäre in der Aussagenlogik eine atomare (also nicht weiter zerlegbare) Aussage. In der Prädikatenlogik wird hier von einem Objekt behauptet, dass es eine Eigenschaft hat. Genauer gesagt, behauptet man von einem Objekt, dass es einer Klasse zugehörig ist. "Das Objekt Ball ist der Klasse der roten Dinge zugehörig." Interessant wird es, wenn man solche Aussagen mit sogenannten Quantoren verknüpft. Diese entsprechen dem natürlich-sprachlichen "es gibt ein..." und "für alle ... gilt ...". Hier kann man vielleicht schon ahnen, dass das schon eine Menge mit Mathematik und mathematischen Beweisen zu tun hat. Es ist auch der Stoff, aus dem viele Logikrätsel in Zeitschriften sind. Den Abschluss des Kapitels bietet ein kurzer Überblick über Thema Vollständigkeit, Konsistenz, Entscheidbarkeit. Gödels Unvollständigkeitssatz wird erwähnt, auch seine Bezüge zum Halteproblem in der Informatik. Erwähnt wird auch, dass sich für die Aussagenlogik und Prädikatenlogik sowohl die Widerspruchsfreiheit als auch die Vollständigkeit beweisen lässt. Geführt wird dieser Beweis im Lehrbuch allerdings nicht. Hier wird von Philosophiestudenten der ersten Semester mehr erwartet als von angehenden FH-Informatikern. Schön finde ich trotzdem, dass das Thema vorgestellt wurde, denn es hat interessante erkenntnistheoretische Implikationen, auch wenn es für die Programmierung nicht direkt relevant ist. Wer Lust hat, sich diesem Thema einmal auf recht amüsante und gut verdauliche Weise zu nähern, dem möchte ich gerne das Comic "Logicomix: Eine epische Suche nach Wahrheit" von Apostolos Doxiadis und Christos Papadimitriou empfehlen. Es handelt vom Leben Bertrand Russells und dem Projekt des logischen Positivismus. Gödel, Wittgenstein und Frege treten als Nebenfiguren auf. Es macht viel Spaß. Im nächsten Kapitel werden zwei Anwendungen der klassischen Logik vorgestellt: - Boolesche-Netze - Expertensysteme Expertensysteme sind ja vielen im Zusammenhang mit dem Thema klassische KI geläufig. Von booleschen Netzen hatte ich noch nicht gehört. Sie sind letztlich eine Dynamisierung der Aussagenlogik. Es gibt ein Netz aus Knoten, die miteinander verbunden sein können. Jeder Knoten hat einen von 2 Zuständen - wahr oder falsch. Insofern entsprechen die Knoten Aussagen. Das Netz hat zu jedem Zeitpunkt einen Zustand - die Wahrheitswerte der Knoten. Das interessante ist nun, dass Knoten im Booleschen Netz ihren Zustand an verknüpfte Knoten senden und deren Zustand empfangen. Es sind logische Verknüpfungen (Junktoren) definiert, wie sich der Zustand jedes Knotens in Abhängigkeit vom Zustand der verknüpften Knoten ändert. Das ist die Dynamik. Nun untersucht man, ob wie das System in einen stabilen Zustand (Attraktor) hineinläuft. Man kann zeigen, dass boolesche Netze äquivalent zu Turingmaschinen sind. Aber keine Angst, das ist dann nicht mehr Gegenstand dieses Moduls. Für die Klausur erwartet wird lediglich, dass man in einem gegebenen booleschen Netz Folgezustände aus einem Anfangszustand berechnen kann und etwas über Attraktoren und nach welcher Vorperiode sie erreicht werden sagen kann. Es folgt ein kleiner Ausflug in die Modallogik, eine Erweiterung der klassischen Logik. Sie ermöglicht Aussagen über das MÖGLICHE und das NOTWENDIGE. Philosophisch betrachtet kann man sich vorstellen, dass es etwas, das falsch ist, in einer alternativen Welt war sein könnte. (Möglichkeit) Oder dass etwas, das wahr ist, in jeder alternativen Welt wahr sein muss. (Notwendigkeit) Dieses Kapitel ist NICHT klausurrelevant. Ich erwähne das, weil es im Modul immer wieder kleinere Ausflüge in benachbarte Themengebiete gibt, um Bezüge zwischen Mathematik/Logik und anderen Wissensgebieten zu zeigen. Die Modallogik ist z.B. vor allem für Philosophen interessant. Wer möchte, kann sich hier ein bisschen breitere Bildung holen. Wer nur auf Bestehen der Klausur aus ist, könnte hier auch ein paar Seiten überspringen, würde aber etwas verpassen. Insgesamt bemühen sich die Autoren sehr, immer wieder Verknüpfungen zwischen der Mathematik, praktischen Anwendungen und anderen Wissenschaftsdisziplinen herzustellen, was diesen Kurs für mich auch zu einem ästhetischen Erlebnis gemacht hat. Nun kommt ein - für mich eher trockenes - Kapitel über Beweistechniken. Die größte Herausforderung für Studierende ohne Abitur dürfte hier das Prinzip der vollständigen Induktion sein, dass einem in diesem Modul immer wieder begegnet und auch in den Modulen Mathe2 und Mathe3 immer wieder aufblitzt. Wenn ich mich recht erinnere, tauchte das Thema bei mir auch in der Abschlussklausur auf. Wer also gerne richtig gut abschneiden möchte, sollte hier die praktischen Übungen (kleinere Beweise) nicht überspringen. Wer nur bestehen möchte, kann sich durchaus eine Lücke erlauben, aber seid vorgewarnt: Das Thema vollständige Induktion ist grundlegend und ihr werdet es so schnell nicht los. Weiter geht es mit Mengenlehre, die manchen älteren Semestern vielleicht noch aus der Schule bekannt sein dürfte. Unmögliches wird hier nicht verlangt. Die Mengenlehre war ja früher Teil des Schulcurriculums und war vor allem bei Eltern sehr unbeliebt, die nicht verstanden haben, warum man "so einen Blödsinn" lernt, statt im Mathematik-Unterricht anständig zu rechnen. Für Mathematiker ist Mengenlehre ein ungeheuer mächtiges Ausdrucksmittel und ein Werkzeug, mit dem sich viele Beweise führen lassen. Darum ist es gut, sich damit einmal auseinander zu setzen, auch im Hinblick auf spätere Module. Für die Klausur wichtig sind auch Betrachtungen zur Kombinatorik, also wie viele Kombinationen von a Elementen kann ich aus einer Auswahl von b Elementen bilden, je nachdem ob das gleiche Element mehrfach vorkommen darf oder auch nicht. Hier treten Begriffe wie Fakultät oder auch Binomialkoeffizient auf. Auch das wird in späteren Modulen wichtig, wenn es zum Beispiel um Bernstein-Grundpolynome geht. Bis hierhin bin ich gut zurechtgekommen, aber nun kam das Kapitel "Relationen". Und spätestens beim Thema "Ordnungsrelationen" wurde die Darstellung dann schon recht formal. Im Grunde beschreiben Ordnungsrelationen etwas einfaches. Sie stellen in einer Menge eine Rangfolge von Elementen her. Zum ordnet die Relation "x ist größer als y" die Menge der natürlichen Zahlen. Es gibt aber z.B. auch Ordnungen, in denen ein Element mehrere verschiedenen Nachfolger oder Vorgänger haben kann. Und dann kann es auch Elemente geben, die ich nicht paarweise vergleichen kann. Hier waren bei den Übungen durchaus Nüsse dabei, die ich nicht mehr knacken konnte. Und das bringt mich zu einem wichtigen Thema für Leute, die dieses Modul bearbeiten und auf Schwierigkeiten stoßen: Die Autoren EMPFEHLEN sehr viele Übungen und VERLANGEN die Bearbeitung von Online-Tests und Einsende-Aufgaben. Der Schwierigkeitsgrad der Übungen ist zum Teil viel höher als der der Einsendeaufgaben und Tests. Lasst euch also nicht entmutigen, wenn ihr nicht alle vorgeschlagenen Übungen schafft. In der Klausur werden vor allem die grundlegenden Konzepte aus den Themengebieten abgeprüft, keine Spitzfindigkeiten und Spezialfälle. Die Übungen sind eine Einladung, sich einmal herauszufordern und sich wesentlich gründlicher für die Prüfung vorzubereiten. Im Kapitel Relationen ging es dann auch um die sehr grundlegenden Begriffe der Abbildungen und Funktionen. Hier muss man z.B. prüfen, ob eine gegebene Funktion injektiv, surjektiv oder sogar beides (also bijektiv) ist. Außerdem geht es um Komposition von Abbildungen oder auch ihre Umkehrbarkeit. Wirkt alles oft sehr theoretisch, aber Achtung: Diese Konzepte kommen in den höheren Modulen wieder. Schafft euch hier eine solide Grundlage und ihr habt es später leichter. Es folgt das sehr ästhetische Kapitel über Graphentheorie, ein Thema, von dem die meisten Schulabgänger nie gehört haben. Graphen begegnen einem in der Informatik tatsächlich ständig. Viele Strukturen in der realen Welt lassen sich damit sehr schön und kompakt beschreiben. Das ist ein Kapitel, das mir Spaß gemacht hat, weil man auch immer wieder viel zeichnet und es überhaupt recht graphisch zugeht. Hier lernt man als kleinen Nebenschauplatz das berühmte "Königsberger Brückenproblem" kennen, das man in verschiedenen Variationen aus Rätselbüchern kennen könnte. Graphenalgorithmen spielen keine Rolle. Hier geht es um die begrifflichen Grundlagen. Die sind auch der klausurrelevante Stoff. Die Inhalte dieses Kapitels werden euch wieder begegnen in Modulen wie "Softwaretechnik", "XML", "Web-Anwendungen", "Algorithmen und Datenstrukturen" oder "Computernetze". Haltet den Stoff nicht für irrelevant, bloß weil hier Formeln eine weniger dominante Rolle spielen. Das Kapitel über Topologie hat mich intellektuell zum Teil überfordert. Zum Glück ist es nicht klausurrelevant. Nun kam das sehr wichtige Kapitel über algebraische Strukturen. Wichtig, weil es zum Beispiel im Modul Mathe3 "Angewandte Mathematik" wieder auftaucht, und zwar in den Kapiteln zur Kryptik. Dort wird zwar alles noch mal schnell wiederholt, aber arbeitet lieber hier gründlich, dann habt ihr es später leichter. Knapp gesagt geht es um Gruppen, Ringe, Körper und Vektorräume. Für die Klausur bekommt man zum Beispiel eine Menge und Verknüpfungen und muss dannuntersuchen, ob man es mit einem Körper zu tun hat. Macht das gründlich, auch wenn es euch zunächst sehr abstrakt vorkommt, und ihr nicht seht, wofür man es brauchen kann. Ihr werdet es brauchen, nicht nur für die Abschluss-Klausur. Im nächsten Kapitel geht es um Rekursivität. Die Konzepte und Begriffe, die ihr hier lernt, tauchen z.B. in den Programmiermodulen wieder auf, und zwar durchaus in sehr praxisrelevanter Form. Zur Auflockerung gibt es hier einen kleinen Ausflug in die fraktale Geometrie, der nicht klausurrelevant ist. Wenn ihr schon immer mal wissen wolltet, was es mit dem schönen "Apfelmännchen" auf sich hat, das ja zwischenzeitlich mal zur populären Ikone wurde, dann gönnt euch den Spaß. Sonst könntet ihr hier auch ein paar Seiten überspringen. Wichtiger für den angehenden Informatiker ist der Ausflug in die theoretische Informatik. Hier geht es um Zustandsautomaten und formale Sprachen. Das ganze wird nur angerissen und hier bedauere ich ein wenig, dass ein eigenes Modul "Theoretische Informatik" im Curriculum der W3L NICHT vorgesehen ist. Ein paar Themen tauchen in "Softwaretechnik 1" noch einmal vertiefter auf. Wer mehr "Appetit" auf so etwas hat, muss sich sein "Futter" woanders suchen. Erwähnt wird in diesem Kapitel auch die ungewöhnliche deklarative Programmiersprache PROLOG, mit der man logische Beziehungen gut ausdrücken kann. Leider viel zu knapp, um wirklich etwas damit anfangen zu können, aber immerhin schön, dass hier ein wenig Neugierde geweckt wurde. Praxisrelevanter sind die Abschnitte über "Wege aus endlosen Schleifen". Konkret geht es darum, dass Programme in der Regel irgendwann halten sollten, statt unendlich weiter zu laufen, und wie man das sicherstellen kann. Im folgenden Kapitel geht es um eine interessante Erweiterung der klassischen Logik - die sogenannte Fuzzy Logic, die eigentlich eher ein Fuzzy Set Theory ist. In der klassischen Mengenlehre ist ein "Ding" Element einer Menge oder nicht. In der Fuzzy Set Theory, kann es unterschiedliche Grade der Zugehörigkeit geben. Eine Schwalbe wäre dann "vogeliger" als ein "Pinguin" und eine Fledermaus, die in der klassischen Mengenlehre kein Vogel ist, könnte doch ein bisschen "vogelig" sein. Der Grad der Zugehörigkeit wird in der Regel als Zahl zwischen 0 und 1 ausgedrückt. Verknüpfe ich nun Aussagen über diese unscharfe Zugehörigkeit, bin ich bei der unscharfen Logik. Die kann man tatsächlich praktisch anwenden, zum Beispiel in der Steuerung. Klassisches Beispiel ist das Beschleunigen und Bremsen eines Portalkrans mit einer darunter hängenden Nutzlast. Das schöne an der Fuzzy Logic ist, dass man damit gut Faustregeln von Praktikern oder Fachleuten in einem Gebiet modellieren kann, so dass ein technisches System mit Faustregeln arbeiten kann. Im Kurs geht es allerdings zunächst mal um die begrifflichen Grundlagen, nicht um das, was der Ingenieur macht. Die Fuzzy Set Theory ist klausurrelevant. Den Abschluss bildet ein sehr knappes Kapitel über Komplexitätstheorie. Das Thema taucht zum Beispiel im Modul "Algorithmen und Datenstrukturen" wieder auf, wenn man verschiedene Such- und Sortieralgorithmen vergleicht. Ein wenig beschäftigt man sich auch mit zellulären Automaten, aber das ist eher ein reinschnuppern und hier würde ich mir für spätere Module mehr "Futter" erwarten. Insgesamt hat mir das Modul sehr viel Spaß gemacht. Ich kann mich noch gut an mein Heureka-Erlebnis erinnern, als ich Cantors Diagonalverfahren begriffen habe und endlich verstanden habe, warum es zwar unendlich viele natürliche Zahlen, rationale Zahlen und reele Zahlen gibt, aber wieso es gleich viele rationale und natürliche Zahlen aber mehr reele Zahlen gibt. Für so etwas zahlt einem später niemand ein Gehalt, aber der Mensch lebt nicht vom Brot allein. Zum Spaß am Modul hat auch die hervorragende Betreuung durch meinen Tutor beigetragen. Als ich mich ihm vorgestellt habe, habe ich gleich erwähnt, dass ich aus einem fachfremden Beruf komme und lange aus dem Thema Mathematik "raus" bin. Er hat mir ein wenig von seinem eigenen Werdegang erzählt, der ihn mehrmals über Fachgrenzen geführt hat, und mich sehr ermutigt, meinen Weg zu gehen. Wir hatten immer wieder einen interessanten fachlichen Austausch. In diesem Modul nicht allein zu konkreten Problemen mit Aufgaben, denn ich kam ganz gut zurecht. Ich hatte auch Fragen zu den vielen Ausflügen in benachbarte Themengebiete, die im Kurs skizziert waren. Hier merkte ich deutlich: Ich habe es mit einem Menschen zu tun, der gewohnt ist, über die Grenzen seines fachlichen Biotops hinaus zu denken und Wissensgebiete zu verknüpfen. So etwas gefällt mir grundsätzlich und so habe ich hier viele Anregungen für mich mitgenommen. Sehr spürbar war in diesem Modul auch ein aufrichtiges Bemühen, den Wieder- und Neueinsteigern ein bisschen mehr Begleitung zukommen zu lassen. Für das Modul Mathe1 aus meiner Sicht optimal. In den späteren Modulen ist die Betreuung auch sehr gut, aber die Atmosphäre ist ein bisschen sachlicher, der Ton etwas knapper und es wird schon mehr Selbstständigkeit erwartet. Das passt aus meiner Sicht alles gut zusammen.
  25. Im Bereich Mathematik möchte ich nicht nur die einzelnen Module beschreiben, sondern auch etwas zum Gesamtkonzept sagen, wie es für mich bislang erkennbar ist. Aus Gesprächen mit Kommilitonen weiß ich, dass Mathematik für viele Studierende ein "Angstfach" ist. Auch eine lästige Pflicht, die man irgendwie "abhaken" und dann hinter sich lassen möchte. Selten wird Mathematik als etwas beschrieben, das Spaß gemacht hat. Die anscheinend weit verbreitete Abneigung gegen Mathematik teile ich nicht. Zu Schulzeiten habe ich im Abitur einen Mathe-Leistungskurs gewählt. (Damals, als es noch Leistungskurse gab.) Mathematik gehörte für mich zu den Schulfächern, die mir Spaß gemacht haben und die mir relativ leicht gefallen sind. Das muss man vielleicht im Hinterkopf behalten, wenn man meine folgenden Modulberichte liest. Ich bin bislang gut zurechtgekommen, aber ich mag Mathe auch. Allerdings ist mein Abitur schon lange her. Und seit der Schule hatte ich wenig Gelegenheit, mich mit Mathematik zu beschäftigen, weil ich mir einen Beruf ausgesucht habe, der keinerlei Bezüge zu diesem Gebiet hat. Als ich mich über Informatik-Studiengänge informiert habe, spielte es also schon eine Rolle für mich, was in Mathematik verlangt wird. Verschiedene Unis und FHs bieten auch Vorkurse an, die den Einstieg erleichtern sollen. Einen solchen Kurs durchgearbeitet hatte ich nicht, aber reingeschnuppert. Und dabei gemerkt, dass ich mich noch ziemlich gut an den Stoff bis zur 10. Klasse erinnerte, von der Oberstufenmathematik aber nicht mehr viel übrig war. Die W3L bietet die Möglichkeit, sich zu den Modulen Probekapitel runterzuladen und mal "reinzuschnuppern". Darum wusste ich, dass es im Modul "Mathe2" bzw. "Mathematik für Informatiker" um Analysis und Lineare Algebra geht. Inhalte, die mir zu Abiturzeiten geläufig waren, mir aber nach vielen Jahren fremd vorkamen. Der Stoff von "Mathe3" bzw. "Angewandte Mathematik" war mir unbekannt. Hier geht es um Numerik, Grafik, Kryptik. Ich hatte also vor Mathematik nicht unbedingt Angst aber doch Respekt, weil mir dämmerte, dass es schon ein Stück Arbeit werden würde, mich nach langer Abstinenz wieder in dem Thema einzufinden. Im Bachelor-Studiengang "Web- und Medieninformatik" der W3L gibt es insgesamt 4 Mathematik-Module mit je 5 ECTS. Sie heißen: - Mathe1: Mathematisch-logische Grundlagen der Informatik - Mathe2: Mathematik für Informatiker - Mathe3: Angewandte Mathematik - Statistik Die Studierenden im Studiengang "Wirtschaftsinformatik" müssen Mathe3 "Angewandte Mathematik" nicht belegen, können es aber im Wahlpflichtbereich buchen. Da ich inzwischen das dritte Modul "Angewandte Mathematik" bearbeite, kann ich sagen, dass Mathe2 und Mathe3 inhaltlich sehr eng aufeinander aufbauen. Die beiden Module sind vom gleichen Autor geschrieben, der zugleich auch mein Tutor ist. Hier ist ein modulübergreifendes Konzept aus "einem Guss" erkennbar. Das Modul Mathe1 hat drei Autoren. Man merkt hier einen anderen Stil. Es geht erkennbar darum, den Studierenden einen sanften (Wieder-)Einstieg ins Fach zu bieten. In allen drei Modulen gibt es ein Bemühen, inhaltliche Bezüge zur Informatik herzustellen. Sehr gelungen finde ich das bislang in Mathe1 und Mathe3 gelöst. In Mathe2 wirkt es auf mich bislang ein wenig bemüht. Allerdings muss man sich klarmachen, dass Lineare Algebra und Analysis unbedingte Voraussetzungen für die anwendungsbezogenen Themen Numerik, Grafik und Kryptik aus dem dritten Modul sind. Da muss man also einfach durch, auch wenn man zwischenzeitlich nicht sieht, was das genau mit Informatik zu tun hat. An den Präsenztagen werden üblicherweise Tutorien zur Mathematik angeboten. Die bezogen sich bislang immer auf das Modul Mathe2, es ging also um Analysis und/oder Lineare Algebra. Dies scheinen die Themen zu sein, die den Studierenden am meisten Mühe machen. Zu Statistik kann ich bislang noch nichts sagen, da ich dieses Modul noch nicht belegt habe. Die W3L muss damit zurechtkommen, dass die Studierenden mit recht unterschiedlichen Vorkenntnissen kommen. Es gibt Studierende mit Abitur, das im Idealfall noch nicht lange zurückliegt. Die finden insbesondere im Modul Mathe2 viel bekannten Stoff. Es gibt aber auch Studierende ohne Abitur, die z.B. nach einer Ausbildung zum Fachinformatiker studieren. Für die ist der in den Mathe-Modulen behandelte Stoff oft Neuland und die Bearbeitung ist entsprechend zeitaufwändiger. Es gibt aber auch Abiturienten, die sich mit den Mathe-Modulen schwerer tun, z.B. mit den Modulen Mathe1 und Mathe3. Weil dort nämlich Stoff behandelt wird, denn man aus der Schule in der Regel nicht kennt. Manche Studierende möchten die Mathe-Module einfach nur bestehen. Mathematik gilt als eines der Fächer, an denen sich entscheidet, ob man das Studium beenden kann. Viele Studierende sind daher der Meinung, dass man die Mathe-Module nicht vor sich herschieben sondern zügig angehen sollte. Wenn es schief geht, soll es bald schiefgehen, bevor man viel Zeit und Geld investiert hat. Aber natürlich gibt es auch Studierende, die die Mathematik-Module mit dem Ehrgeiz studieren, dort gute Leistungen zu erbringen. Mein bisheriger Eindruck ist: Die W3L hat ein Mathematik-Konzept, dass beiden Fraktionen etwas bietet. Wer die Klausuren einfach gerade so bestehen möchte, hat eine gute Chance, wenn er sich in der Vorbereitung auf bestimmte Grundlagen konzentriert, mit denen er relativ sicher Punkte holen kann. Wer wirklich gut abschneiden möchte, muss auch bereit sein, sich breiter vorzubereiten und etwas mehr Selbstständigkeit zeigen. Das betrifft hier vor allem den Bereich Bonuspunkte. Für die Präsenzklausuren ist die Stoffmenge ein bisschen eingeschränkt. Nicht alles, was im Kurs behandelt wird, kann auch in der Klausur drankommen. Das gibt den Leuten, die nur bestehen wollen, die Möglichkeit, sich bei der Vorbereitung ein bisschen zu spezialisieren. Bei den Abschlusstests kann aber ALLES drankommen und auch bei den Online-Klausuren wird breit geprüft. Wer also mit ein paar Bonuspunkten in die Abschlussklausur gehen möchte, der muss sich schon mit dem ganzen Stoff so auseinandersetzen, dass er sein Verständnis unter Beweis stellen kann. Mir gefällt, dass es hier ein Angebot gibt, aus dem Leute, die Mathematik mögen, etwas machen können; das aber auch Leuten, denen Mathematik nicht so leicht fällt, eine realistische Chance bietet, ihr Studium erfolgreich zu beenden und ihre Stärken in den anderen Bereichen auszuspielen. Bedenken muss man allerdings: Sowohl für die Web- und Medieninformatiker als auch für die Wirtschaftsinformatiker ist Mathematik Pflicht und die Module gehen genau wie alle anderen Module in die Berechnung der Endnote ein. Abschließend möchte ich noch bemerken, dass die W3L ja mit der FH Dortmund zusammenarbeitet, die Mathematik-Module also FH und nicht Uni-Niveau haben. Gefragt ist also eher problemlösende Anwendung mathematischer Konzepte und weniger das Führen von Beweisen. Damit kann man eventuell in den Klausuren das letzte Quäntchen rausholen. Bestehen kann man aber auch, wenn man im Beweisen nicht so stark ist.
×
  • Neu erstellen...