Zum Inhalt springen

kurtchen

Communitymitglied
  • Gesamte Inhalte

    879
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von kurtchen

  1. Der IT-Analyst ist speziell für Leute konzipiert, die schon eine einschlägige Ausbildung haben. Wenn Web- und Medieninformatik für dich interessant ist und du keine Probleme hast, zu Prüfungen nach Dortmund oder München anzureisen, kann ich Springer Campus sehr empfehlen. Wenn Wirtschaftsinformatik für dich interessant sein könnte, gibt es die WINGS, wo ich z.B. theoretische Informatik belegt habe. So wie es dort vermittelt wurde, hat mir das übrigens viel Spaß gemacht. Wenn du regelmäßig für Präsenzen und Prüfungen nach Fulda anreisen kannst, gibt es dort den berufsbegleitenden Bachelor Sozialinformatik. Der setzt allerdings eine einschlägige Ausbildung im IT-Bereich, im Sozialbereich oder in der Sozialverwaltung voraus. Außerdem eine einschlägige Berufstätigkeit in einem der genannten Bereiche neben dem Studium. Wenn du in Norddeutschlang wohnst, könnte Oncampus eine Alternative sein. Dort kann man Medieninformatik oder Wirtschaftsinformatik studieren. Sehr bekannt ist natürlich die WBH. Da sie ein privater Anbieter ist, sind die Studiengebühren etwas höher als bei den meisten staatlichen FHs. Ich habe damit keine eigenen Erfahrungen, aber dafür viele andere Leute im Forum. Durchaus sehr positive Erfahrungen, wie mir scheint. Ebenfalls privat ist die IUBH. Soweit ich weiß, kann man dort Wirtschaftsinformatik studieren. Es gibt noch mehr Möglichkeiten. Unterschiede liegen im Studiengangskonzept, den inhaltlichen Schwerpunkten, in der zeitlichen Flexibilität, in Art und Umfang der Präsenzen und auch in den Studiengebühren. Das eröffnet die Chance, etwas zu finden, das gut zur eigenen Lebenssituation passt.
  2. Hallo Masa_ru, die Voraussetzungen habe ich nicht erfüllt, weil es bei diesem Punkt hakte: Das ist mir schon klar. Wenn ich z.B. ein wirtschaftswissenschaftliches Studium absolviert hätte und dann über meine Tätigkeit für ein Unternehmen mehr und mehr in den IT-Bereich gerutscht wäre, dann hätte ich so einen Master für mich angemessen gefunden. Dann hätte ich aus dem Erststudium auch solide Mathematik-Kenntnisse gehabt. Nun habe ich ein erziehungswissenschaftliches Erststudium und arbeite mit recht jungen Kindern. Formal wäre das gegangen, aber ich hätte das selbst als Weiterbildungsmaster nicht so ernst nehmen können. Passte einfach nicht so gut zueinander. Guck Dir den Vossen einfach mal an. Kriegst Du ohne Probleme in der nächsten Uni-Bibliothek. Oder eine gebrauchte Ausgabe einer nicht ganz aktuellen Auflage für ein paar Euro kaufen. Etwas zugänglicher geschrieben finde ich "Theoretische Informatik" von Dirk W. Hoffmann. Wäre sozusagen eine Möglichkeit des etwas sanfteren Einstiegs.
  3. Ich studiere aktuell für einen B.Sc. in Web- und Medieninformatik mit Springer Campus/FH Dortmund. Vor der Entscheidung für diesen Studiengang habe ich mich über beide von Dir erwähnten Studiengänge informiert. Der IT-Analyst erscheint mir als grundständiger Studiengang mit einem ausgewogenen Studiengangskonzept. Damals gefiel mir unter anderem die inhaltliche Ausrichtung der Mathematik-Module mit Betonung auf diskreter Mathematik und Stochastik. Ich finde, das passt gut zu einem Informatik-Studium. Besser als die übliche Betonung von Analysis und linearer Algebra. Sehr gut gefallen mir auch die Vertiefungsfächer "Datenanalyse mit R" und "Embedded System Engineering". Die würde ich beide gerne selbst einmal belegen. Auch sonst finde ich die Zusammenstellung der Fächer sehr gelungen. Das wäre definitiv ein Studiengang gewesen, der mich interessiert hätte. Leider habe ich die Zulassungsbedingungen nicht erfüllen können. Der M.C.Sc. war für mich zweite Wahl. Zugelassen worden wäre ich, weil ich einen Bachelor of Arts in einem anderen Fach habe. Mein Eindruck ist: Das ist eine Möglichkeit für Leute, die als Quereinsteiger in der IT-Bereich gekommen sind, schon nennenswerte Berufserfahrung vorweisen können und noch irgendeinen einschlägigen Abschluss nachweisen wollen, um ihre berufliche Entwicklung nachträglich zu legitimieren und dauerhaft abzusichern. Ich finde es gut, dass es solche Bildungsangebote gibt, denke aber, dass das etwas für spezielle Fälle ist. Glaubwürdig wirkt das in meinen Augen vor allem, wenn man ein Erststudium vorweisen kann, dass gut zu dem Berufsfeld passt, in dem man sich bewegen möchte. So dass man einerseits seine Fachkompetenz in einem bestimmten Wissensgebiet einbringt und die eben noch mit Informatik-Kenntnissen ergänzt. Man wird nach 120 ECTS keine ernsthafte Konkurrenz für einen grundständig ausgebildeten Informatiker sein. Aber wenn man aus dem Erststudium domänenspezifisches Fachwissen einbringen kann, dann kann ich mir vorstellen, dass es für bestimmte Tätigkeiten interessant sein kann, Leute im Team zu haben, die Kenntnisse aus 2 Fachgebieten haben und eine Brücke schlagen können. Leider hatte ich kein Erststudium, dass gut zu einem Weiterbildungsmaster in Informatik gepasst hätte. Also nix für mich. Im Zweifelsfall halte ich es für besser, den gründlichen Weg zu gehen und einen Bachelor zu erwerben. Mir fehlt hier zum Beispiel eine solide Grundlage in Mathematik. (Aber die könnte man ja eventuell aus einem Erststudium schon haben.) Nicht zu unterschätzen: Ich habe mir das empfohlene Lehrbuch für das Modul "Automatentheorie" angeschaut und bin der Meinung, dass mir das nicht leicht gefallen wäre. Obwohl ich Automatentheorie an einer FH belegt, den Kurs sehr genossen und auch mit einer guten Note abgeschlossen habe. Ich würde also eher zum IT-Analysten raten. Wenn es partout der Weiterbildungs-Master sein soll, würde ich mit dem Modul "Automatentheorie" anfangen. Aus meiner Sicht, ist das der Knackpunkt dieses Studiengangs. Da wäre es gut, zügig herauszufinden, ob man es schafft. Bevor man viel Geld für andere Module ausgibt. Gut gefallen mir am Studiengang die Module zu C#, Android-Programmierung, Bildverarbeitung und Embedded Systems. Wenn ich mal mit meinem Bachelor fertig bin, könnte ich mir durchaus vorstellen, irgendwann mal das eine oder andere Modul dieses Studiengangs zu Weiterbildungszwecken zu belegen.
  4. Leider nein. Allein im Modul "Web-Programmierung" wird PHP behandelt. Wenn es ein komplettes PHP-Modul gäbe, würde ich das natürlich gerne belegen. Ich habe mich auch schon mal umgeschaut, ob andere Hochschulen so etwas im Angebot haben. Habe aber leider bislang nichts wirklich überzeugendes gefunden. Die Metropolia in Helsinki bietet Open Courses in ICT, mit denen man auch ECTS-Punkte erwerben kann. Die haben ein PHP-Modul mit 3 ECTS. Das klang zunächst mal gut. Ich konnte da mal reinschauen, aber letztlich steckte da auch nicht mehr Inhalt drin als mir im Modul "Web-Programmierung" nebenbei zu HTML, CSS, Javascript, XML und ASP.Net vermittelt wurde. Aber ich glaube, PHP muss man nicht unbedingt im Rahmen eines Hochschulstudiums lernen.
  5. 10:45 Uhr - Aktuelles für Studierende Den Vortrag hielt zum ersten Mal Frau Kreissig von Springer Campus. Nach der Übernahme der W3L durch Springer Campus im Herbst, gab sie uns einige Informationen über die GmbH, die nun unsere Studiengänge weiterführt. Im Studienalltag haben wir ja nicht viel davon gemerkt. Das Konzept der Studiengänge und die gesamte Studienorganisation sind gleich geblieben. Insbesondere bleibt es bei der Kooperation mit der FH Dortmund, die am Ende unsere Abschlüsse verleiht. Und doch sind wir unter einem neuen Dach. Im Vortrag ging es darum, ein wenig mehr über dieses neue Dach zu erfahren. Frau Kreissig gab uns ein kleines "who is who" der für uns relevanten Mitarbeiter von Springer Campus. Viele Namen und Gesichter waren uns ja schon bekannt, weil unsere gewohnten Ansprechpartner aus dem Studienbüro nun für Springer Campus tätig sind. Frau Kreissig selbst ist Biologin und arbeitet als Projektmanagerin für Springer Campus. Sie scheint durchaus IT-affin. Springer Campus ist eine Abteilung von Springer Nature, einem Verlag mit ca. 13000 Mitarbeitern. Und nein, Springer verlegt nicht die Bildzeitung! Das macht ein anderer Springer Verlag und ist ein häufiges Missverständnis. Spannend für mich war eine Vorstellung der anderen Studiengänge, die über Springer Campus angeboten werden. Dies gilt vor allem für den B.Sc. Biologie, den es seit 1997 gibt. Dieser Studiengang ist nur ausgebildeten Laboranten zugänglich, also BTAs und MTAs mit Berufserfahrung. Ein Biologie-Studium beinhaltet naturgemäß viele Laborpraktika. TAs bringen durch ihre Ausbildung Vorkenntnisse mit, die sich in einem Fernstudium sonst kaum vermitteln ließen. Entwickelt wurde dieser Studiengang in Kooperation der Uni Mainz mit der Firma Bayer, die ihre Laboranten berufsbegleitend wissenschaftlich weiterbilden wollte. Inzwischen hat der Studiengang Teilnehmer von über 100 Firmen. Im Gegensatz zu unseren Informatik-Studiengängen, die als Online-Studiengänge konzipiert sind, folgt das Fernstudium Biologie dem Ansatz des blended learning. Es gibt alle 2 Wochen Präsenzen. Das erzwingt auch Zeitfenster für den Studieneinstieg, während wir Informatiker uns jederzeit einschreiben können. Ein Unterschied zu uns ist auch eine stabile Gruppe von 4-35 Studierenden, die über den Zeitraum des Studiums zusammenarbeitet und von einem festen Ansprechpartner betreut wird. Die Kosten sind mit ca. 15.000 Euro etwas höher als bei uns. Das hat damit zu tun, dass Laborpraktika betreuungsintensiv und teuer sind. Wie bei uns steht auch bei den anderen Studiengängen von Springer Campus am Ende ein Abschluss einer staatlichen Hochschule, denn Springer Campus tritt bislang nicht als private Hochschule auf sondern kooperiert mit staatlichen Hochschulen. Neben dem Fernstudium Biologie gibt es seit 2015 ein Fernstudium Chemie und seit 2016 ein Fernstudium Elektrotechnik, beide mit einem ähnlichen Modell des blended learning. In Zukunft könnte es auch noch ein sozialwissenschaftliches Studium geben. Für mich war das alles recht spannend, nicht zuletzt weil meine Partnerin Biologin ist. Ich hatte den Eindruck, dass vielen Lesern hier im Forum noch nicht bekannt ist, dass ein Fernstudium in Fächern wie Biologie und Chemie möglich ist. Darum wollte ich die Gelegenheit nutzen, das hier einmal vorzustellen. FAQs aus dem Studienbüro Für uns Studierende besonders relevant waren FAQs aus dem Studienbüro und eine anschließende Frage und Antwortrunde: - Fachlich nicht wirklich essentiell aber für viele von uns doch von großer emotionaler Bedeutung: Die kleine Ente mit Doktorhut, die von der W3L traditionell mit der Bachelorurkunde überreicht wurde, bleibt auch unter Springer Campus erhalten. Das hatten tatsächlich viele Studierende gefragt. (Ich hatte mich nicht getraut, habe mich aber auch gefreut.) - Da Springer Campus in Heidelberg sitzt, kann Heidelberg als neuer Prüfungsstandort angeboten werden. Bislang hat man das erst einmal versucht aber die Resonanz war gering. Darum wurde noch einmal abgefragt, ob ein Prüfungsstandort Heidelberg interessant ist und welche Zeiten "anreisekompatibel" wären. - An Präsenztagen gibt es weiterhin nur Prüfungen in Dortmund, weil das Personal an diesen Tagen in Dortmund gebunden ist. - Das Modul "Wissenschaftliches Arbeiten" ist nun Pflichtmodul in beiden Informatik-Studiengängen, weil sich in der Vergangenheit immer wieder mal formale Mängel bei der Abschlussarbeit unvorteilhaft auf die Abschlussnote ausgewirkt haben. Viele Studierende arbeiten in einem betrieblichen Umfeld und erleben dort wissenschaftliches Arbeiten nicht. Frau Kreissig rät dringend, die Möglichkeit zur Interaktion mit dem Betreuer zu nutzen. Für diejenigen Studierenden, die noch nach einer alten Studienordnung studieren und "Wissenschaftliches Arbeiten" nicht belegen müssen, wird es dennoch dringend empfohlen. - Ein Notenspiegel bzw. eine Leistungsübersicht kann per Mail oder Post im Studienbüro angefordert werden. - Verspätete Klausuranmeldungen können grundsätzlich nicht berücksichtigt werden. Die angegebenen Fristen, in der Regel 1,5 Wochen vor Prüfungstermin, sind verbindlich. - Klausurkorrekturen erfolgen innerhalb von 6 Wochen. (Nach meiner Erfahrung hat man im Schnitt nach 3 Wochen ein Ergebnis.) - Das Modul "Skriptsprachen" wurde aus dem Curriculum genommen und wird bis auf weiteres nicht mehr angeboten. Ein Grund dafür war, dass es inhaltlich nicht mehr ganz aktuell war, obwohl die letzte Auflage des Lehrbuches eigentlich noch gar nicht so lange her war. An diesem Punkt merkt man, dass sich in der Informatik viele Themen schnell weiterentwickeln. - Als Ersatz für "Skriptsprachen" kann man das Modul "Web-Engineering" belegen. Hier geht es allerdings nicht allein um Javascript sondern um AJAX. Thema war auch die Umstellung auf die neue Plattform, was anfangs für einigen Unmut gesorgt hatte. Allerdings gibt es inzwischen auch Studierende, die mit der neuen Plattform zufrieden sind. Viele gemeldete Bugs wurden anscheinend in recht kurzer Zeit behoben. Die gestiegene Auslastung der Plattform führte zwischenzeitlich zu längeren Antwortzeiten. Eine neue skalierbare Hardware soll ermöglichen, künftig schneller auf solche Situationen zu reagieren. Die Umstellung auf das neue Layout hatte übrigens nichts mit der Übernahme durch Springer zu tun sondern war seit längeren geplant und in Arbeit. Es war reiner Zufall, dass die Übernahme durch Springer und die Umstellung des Layouts zeitlich eng zusammenfielen. Da noch nicht alle gemeldeten Mängel restlos behoben werden konnten, besteht nach wie vor Wahlfreiheit zwischen und alter und neuer Plattform. Bleibt zu sagen, dass ich natürlich sehr gespannt bin, wie sich diese Angelegenheit entwickelt. Ich selbst bin nach einer Weile zur alten Plattform zurück gekehrt, habe aber deswegen auch nicht mehr mitbekommen, was sich seitdem verbessert hat. Vielleicht kann mich Springer ja bald davon überzeugen, künftig mit der neuen Plattform zu lernen. Im Rahmen des Vortrags von Frau Kreissig wurden auch wieder einige Hochschulzertifikate überreicht. Frau Weirich vom Studienbüro informierte parallel in einem anderen Raum über das Studiengangskonzept. 12:15 - Vortrag Prof. Dr. Uwe Klug zum Thema NoSQL-Datenbanken Professor Dr. Uwe Klug von der FH Südwestfalen ist vielen Studierenden bekannt als Autor der Lehrbücher zum Datenbank-Modul. Dort geht es in erster Linie um relationale Datenbanken und die Abfragesprache SQL. In seinem Vortrag ging es um alternative Datenbankkonzepte. Hier eine kleine Zusammenfassung: Das Konzept der relationalen Datenbank ist seit Jahrzehnten etabliert. Die Grundidee ist die Speicherung von Daten in Tabellenform. Eine mögliche Metapher hierfür ist das Adressbuch. Es hat auf jeder Seite Daten im gleichen Format, z.B. erst der Name, dann die Adresse, dann die Telefonnummer und so weiter. Relationale Datenbanken halten stark strukturierte Daten. Im Bild der Tabelle sind die Tabellenüberschriften die Felder und stehen für Typen von Daten, die in fester Reihenfolge enthalten sind. (Unter Umständen dürfen Felder immerhin leer bleiben.) Die Zeilen enthalten die eigentlichen Daten und stehen für gespeicherte Datenobjekte, die Datensätze. Kennzeichnend für relationale Datenbanken ist die starke und starre Strukturierung der Daten. Sie ermöglicht einen feingranularen Zugriff auf Daten mit teils raffinierten Abfragen, die in der Sprache SQL formuliert werden. Zu Beginn der Datenbankentwicklung werden die zu speichernden Daten modelliert und das Modell normalisiert, um Redundanzen zu eliminieren. Zentrale Eigenschaften einer relationalen Datenbank sind: - relationale Integrität: Sie gewährleistet die Datenintegrität, z.B. durch Check-Regeln, Trigger und die Verwendung von Fremdschlüsseln zur Vermeidung redundanter (und möglicherweise inkonsistenter) Datenspeicherung. - Transaktionssicherheit: Eine Folge von SQL-Anweisungen wird ganz oder gar nicht bearbeitet. Kann sie nicht ganz bearbeitet werden, gibt es einen Rollback, bei dem die bisherigen Anweisungen der unvollständigen Transaktion rückgängig gemacht werden. Wie Transaktionssicherheit intern sichergestellt wird, muss der Datenbankentwickler nicht wissen. Das macht für ihn das RDBMS. Hinter relationalen Datenbanken steht eine bestimmte kaufmännische Denkungsart. Im Vordergrund steht die Konsistenz der Daten, die jederzeit aktuell und widerspruchsfrei sein sollen. Inzwischen haben sich aber Anforderungen an Datenbanken geändert. Datenbanken werden nicht mehr vorwiegend in kaufmännischen Anwendungen eingesetzt sondern z.B. auch in Web-Applikationen. Und dort gelten oft andere Anforderungen, die von relationalen Datenbanken nicht mehr optimal erfüllt werden. Daten in Web-Applikationen sind oft nur schwach strukturiert. Feingranulare Abfragen stehen nicht immer im Mittelpunkt. Dafür sind die Nutzerzahlen oft extrem hoch. Es gibt im wesentlichen 2 Strategien, auf steigende Nutzerzahlen und Datenmengen zu reagieren: 1. vertikale Skalierung: Ich kaufe einen schnelleren Rechner mit größerer Platte. Aber irgendwann habe ich den schnellsten Rechner und die Nutzerzahlen zwingen meinen Datenbankserver trotzdem in die Knie. 2. horizontale Skalierung: Ich verteile meine Daten auf mehrere Server. So muss jeder Server nur einen Teil der Anfragen bewältigen. Jetzt kann ich auf steigende Nutzerzahlen reagieren, indem ich einfach immer mehr Server hinstelle. Damit handle ich mir aber ein neues Problem ein. Wenn Daten redundant auf mehreren Servern liegen, muss ich sie bei Änderungen konsistent halten. Mit den Web-Applikationen kommen neue Wünsche und Anforderungen an Datenbanken: - Ich möchte große Datenmengen verteilt speichern. - Ich möchte Schema-Änderungen WÄHREND der Nutzung des DBMS durchführen können und nicht etwa gezwungen sein, für so etwas meine Server vom Netz zu nehmen. - Ich möchte mit schwach strukturierten Daten arbeiten. - Mein System soll bei einem Ausfall einzelner Server nicht zusammenbrechen. - Die Aktualität und Konsistenz der Daten ist grundsätzlich weiter wichtig, aber Schnelligkeit der Informationsbereitstellung und Ausfallsicherheit sind mir wichtiger. Gerade die Schnelligkeit ist bei Web-Anwendungen sehr wichtig. Wenn mein Kunde in meinem Shop nach einem Artikel sucht und mein Server braucht zu lange, um eine Auswahl zu präsentieren, wird mein Kunde nach wenigen Sekunden einen neuen Tab aufmachen und schauen, ob mein Mitbewerber schneller ist. Das möchte ich vermeiden. In diesem Zusammenhang ist das CAP-Theorem von Eric Brewer relevant. CAP steht für Consistency (Integrität der Daten), Availability (Schnelle Antwortzeiten) und Partition Tolerance (Ausfalltoleranz). Das CAP-Theorem besagt, dass ich bei einer Datenbank in verteilter Umgebung nicht alles zugleich haben kann. Bei mindestens einer der 3 Anforderungen muss ich Kompromisse machen. Das CAP-Theorem lässt sich mit formalen Mitteln beweisen. Es gibt hier also kein Entkommen. Und darum bestimmen die Anforderungen meines Geschäftsmodells, was für ein DBMS ich brauche. Und das ist eben immer häufiger keine klassische relationale Datenbank. NoSQL-Datenbanken machen den Kompromiss bei der Konsistenz zugunsten von Ausfallsicherheit und Verfügbarkeit. Das ist für Web-Anwendungen typisch. Ein Beispiel wäre ein Web-Shop, über den Artikel verkauft werden. Er hat 2 Knoten, einen in Hamburg, einen in München. Diese synchronisieren ihre Verkäufe automatisch, so dass dem Kunden jederzeit angezeigt wird, ob sein gewünschter Artikel noch auf Lager ist. Durch eine Störung im Netz wird die Verbindung zwischen Hamburg und München für ein paar Minuten unterbrochen. Es gibt nun 2 Möglichkeiten, darauf zu reagieren: 1. Weil ich die Knoten nicht mehr synchronisieren kann, verkaufe ich nichts mehr. So kommt nie ein Kunde in die Situation, einen Artikel zu bestellen, den ich nicht zum versprochenen Zeitpunkt liefern kann. Aber mein Kunde ärgert sich, dass ich ihm minutenlang nichts anbieten kann und bestellt stattdessen bei der Konkurrenz. 2. Ich verkaufe weiter. Möglicherweise verkaufe ich einen knappen Artikel mehrfach. Dann muss ich einen Kunden informieren, dass ich doch nicht zum versprochenen Zeitpunkt liefern kann. Nicht optimal, aber mein Kunde wird das vermutlich eher akzeptieren als einen Web-Shop, der minutenlang nicht reagiert. Die Aufweichung der Konsistenz beschreibt man mit der Abkürzung BASE. Die steht für Basically Available, Eventually Consistent. Konsistenz wird nicht aufgegeben, aber man fasst sie als Übergangsprozess auf. Zeitweise kann es zu Inkonsistenzen kommen. Sobald eine Verbindung wieder verfügbar wird, wird die Inkonsistenz behoben. Möglich wird dies durch eine Versionierung der Datensätze. Vermittels einer Versionsnummer kann ich nachvollziehen, wie und in welcher Reihenfolge sich Datensätze verändert haben. Bei der Synchronisation paralleler Prozesse fällt nun möglicherweise auf, dass eine Versionsnummer doppelt existiert, weil ein paralleler Prozess den gleichen Datensatz schon geändert hat. Es gibt dann verschiedene Strategien, wie man mit diesem Problem umgehen kann. Welche man wählt, hängt vom Anwendungsfall ab. Vorgestellt wurde auch die Technik des Map Reduce. Dies ist ein zweischrittiges Verfahren, das von Google entwickelt wurde. Es dient der verteilten Ausführung von Operationen über große Datenmengen (von mehreren Terabyte!). Auf verschiedenen Knoten wird parallel gesucht (map). Dann werden die Zwischenergebnisse zusammengeführt (reduce). Map Reduce ist ein Konzept. Es ist somit unabhängig von eingesetzter Hardware. Angewendet wird es z.B. in der CouchDB. Eine Vorstellung der CouchDB bildete den letzten Teil des Vortrags. Sie kann große Datenmengen speichern, die keine feste Struktur aufweisen. Die Daten werden in Form von JSON-Objekten abgelegt. CouchDB hat einen nativen Support für BLOBS (binary large objects). Sie ist quelloffen, einfach zu installieren und bietet eine gute Dokumentation. Entwickelt wurde sie in der wenig bekannten Sprache Erlang, die vor allen in der nebenläufigen Programmierung Stärken hat. Das JSON-Format ist ein textbasiertes (und menschenlesbares) Format, das etwas kompakter schreibbar ist als XML. Es besteht aus Name-Wert-Paaren und ist letztlich eine Komma-getrennte Liste von Eigenschaften. Mit diesem Format kann man schwach strukturierte Daten gut beschreiben. Die Reihenfolge von Feldern kann sich ändern und Felder können auch weggelassen werden. Zum Abschluss wurde noch auf den Unterschied zwischen Replikation und Clustering einer Datenbank eingegangen. Bei der Replikation kopiere ich eine vollständige Datenbank. So kann ich sie redundant auf verschiedenen Knoten ablegen und die Anfragen über die Knoten verteilen. Fällt ein Knoten aus, bleibt die DB verfügbar, wenngleich die Reaktionszeiten womöglich steigen, weil sich Anfragen nun auf weniger Knoten konzentrieren. Replikation findet eine natürliche Grenze in der Speicherkapazität des Knotens mit der geringsten Kapazität. Wenn dieser die gesamte Datenbank nicht mehr fassen kann, muss ich die Datenbank aufteilen. Das nennt man Clustering. Beim Clustering liegen verschiedene Teile der Datenbank auf verschiedenen Knoten. Dadurch muss ich Anfragen eventuell so filtern, dass sie an den richtigen Knoten gerichtet werden, der die relevanten Daten besitzt. Ich habe mich sehr gefreut, Herrn Klug einmal "in Aktion" zu erleben, weil sein Modul "Relationale Datenbanken und SQL" für mich bislang zu den Highlights meines Studiums zählt. Auch die Betreuung durch ihn fand ich damals sehr gut. Inhaltlich waren mir einige der vorgestellten Themen noch aus dem Modul geläufig, aber ein bisschen Auffrischung kann ja nie schaden. 13:15 Uhr - Vortrag Prof. Dr. Peter Weber über E-Commerce Den Abschluss des Tages bildete ein Vortrag von Prof. Dr. Peter Weber über E-Commerce. Herr Weber unterrichtet an der FH Südwestfalen und ist einer der Autoren des Lehrbuches "Basiswissen Wirtschaftsinformatik", ein einführendes Lehrbuch für die Wirtschaftsinformatiker in unserem Studiengang. Herr Weber war ein engagierter Redner und konnte mich für sein Thema begeistern. (Obwohl ich bei BWL-Themen eigentlich nur schwer in die Gänge komme.) Leider konnte ich nicht mehr den gesamten Vortrag hören, weil ich ein Ticket mit Zugbindung hatte. Darum kann ich hier keinen vollständigen Bericht liefern. Spannend war für mich vor allem seine Mitwirkung am Einzelhandelslabor Südwestfalen mit dem CCEC (Competence Center E-Commerce). Das Projekt hat als Zielgruppe kleine Händler und läuft seit April 2016. Ziel ist, die Multi-Channel-Kompetenz des inhabergeführten stationären Einzelhandels zu stärken. Die Ladenbesitzer sind meist schon mit den Anforderungen des Tagesgeschäfts ausgelastet, haben oft wenig Personal und machen das meiste alleine. Das ist natürlich eine Hürde, wenn es darum geht, sich mit neuen Formen der Kundeninteraktion auseinander zu setzen. Und doch wäre das bitter nötig, denn die aktuelle Situation stellt sich wie folgt dar: - Der Online-Handel hat zweistellige Wachstumsraten. - Für stationäre Einzelhändler entwickelt sich der Handel nicht so gut. - Man prognostiziert, dass in den nächsten 5 bis 7 Jahren 30% der Umsätze der stationären Einzelhändler verschwinden. - Viele Händler nutzen bereits IT. - Sie nutzen sie aber vor allem zur Verwaltung. - Seltener nutzen sie IT für Marketing, Service und Vertrieb. Ein mögliches Konzept, den lokalen Handel zu stärken sind lokale Shopping-Plattformen. Sie stellen ein grundlegendes Prinzip des Online-Handels auf den Kopf: Ich kann alles von jedem kaufen, egal wo ich bin, egal wo er ist. In einer lokalen Shopping-Plattform gilt dagegen: - Ich kann nur kaufen, wenn ich aus einer bestimmten Region bin. - Ich kann nur kaufen, was ein Händler aus einer bestimmten Region anbietet. Die Standortbeschränkung - nach klassischer Logik ein Nachteil - ist das Alleinstellungsmerkmal. Im Prinzip ist es eine Form des ethischen Einkaufs und richtet sich an Kunden, die zwar bequem online einkaufen wollen, aber damit dennoch lokale Händler unterstützen wollen, z.B. weil sie auch in Zukunft noch gerne Läden in ihrer Stadt haben möchten. Ziel des CCEC ist, die Ladeninhaber zu qualifizieren, so dass sie Online-Medien nutzen können, um mit ihren Kunden in Kontakt zu treten. Damit ist natürlich etwas anderes gemeint als der x-te Online-Shop. Interessant ist in diesem Zusammenhang der ROPE-Effekt. Er ist sozusagen das Gegenteile eines Phänomens, das viele Einzelhändler beschreiben und beklagen. Die Kunden kommen in den Laden, schauen sich dort die angebotenen Waren an, und kaufen sie anschließend billiger online. Das hat wohl jeder schon einmal gehört. ROPE steht dagegen für "research online, purchase offline". Der Kunde recherchiert im Internet, z.B. in einem Online-Shop, was es für Artikel gibt. Dabei nutzt er zum Beispiel auch die Bewertungen anderer Kunden, Photos, Artikelbeschreibungen und was es sonst für Vorzüge gibt. Dann geht er in einen lokalen Laden und kauft das Produkt. "Macht kaum einer", hätte ich gedacht, obwohl ich das selbst oft so mache und es auch bei meinen Familienmitgliedern schon oft beobachtet habe. Anscheinend schätzt man, dass 38% der Kunden das so machen. Es ist aber schwer, das zu messen. Denn im Gegensatz zum Online-Handel, der seine Kunden hervorragend "trackt", weiß der Einzelhandel wenig darüber, wie Kunden zu ihrer Kaufentscheidung kommen. Ein weiteres Projekt, das sehr spannend klang, ist ARSuL (Augmented Reality basierte Unterstützung für das Lernen im Sanitär-Heizung-Klima-Handwerk). Die Ausgangsituation ist hier folgende: - Die Vielfalt an Heizungssystemen hat stark zugenommen. - Ein Wartungstechniker braucht Erfahrung mit vielen verschiedenen Systemen, z.T. sehr neue, z.T. sehr alte. - Es gibt Nachwuchsmangel im Handwerk. Junge Techniker kennen sich mit der Vielfalt der Systeme noch nicht aus. - Erfahrene Kräfte sind oft vor Ort nicht verfügbar. - Zum Teil sind erfahrene Kräfte körperlich auch nicht mehr belastbar genug, um die Arbeiten vor Ort durchzuführen. Die Lösungsidee: - Die jungen Techniker tragen Datenbrillen und können sich bei Problemen mit einem erfahrenen Techniker verbinden lassen. - Der sieht, was sie sehen, hat eventuell in der Zentrale sogar ein ähnliches System vor sich und kann sie durch die Reparatur coachen. - Er kann per Augemented Reality eventuell direkt Hilfestellungen für die jungen Techniker vor Ort einblenden. Fazit Der Präsenztag hat mal wieder viel Spaß gemacht und viel interessanten Input gebracht. Was ich hier nicht beschreiben kann, ist der informelle Austausch mit Kommilitonen über Erfahrungen mit Modulen, Aufgaben, Prüfungen. Und der allgemeine menschliche Austausch über die spezielle Situation des Fernstudiums neben Beruf und Familie. Dadurch lösen sich die vielfältigen Belastungen zwar nicht auf, aber man merkt doch, dass noch andere Menschen diesen nicht alltäglichen Weg gehen. Das gibt dann doch ein wenig Kraft für die nächsten Herausforderungen.
  6. Das Modul "Web-Anwendungen 2" ist ein Pflichtmodul im Studiengang "Web- und Medieninformatik" und zählt zum gleichnamigen Studienbereich. Springer Campus empfiehlt, dieses Modul im 4. Semester zu belegen, also im gleichen Semester wie "XML" und "Multimedia". Studierende im Studiengang "Wirtschaftsinformatik" müssen "Web-Anwendungen 2" nicht belegen, können es aber als Vertiefungsfach wählen. Allerdings sollten sie dabei die inhaltlichen Voraussetzungen beachten. Grundlagen der Informatik 1 und 2 sowie Web-Programmierung müssen ja auch die Wirtschaftsinformatiker als Pflichtmodule belegen. Aber auch "Web-Anwendungen 1" wird hier empfohlen. Es liefert eine solidere Grundlage in HMTL und CSS als das Modul Web-Programmierung. Insofern finde ich es hier sehr sinnvoll, der Empfehlung zu folgen. "Web-Anwendungen 2" ist auch Pflichtmodul für das Weiterbildungszertifikat "Web-Entwickler". Es ist darüber hinaus eine inhaltliche Voraussetzung für das Vertiefungsfach "Aktuelle Webtechniken", bei dem es um Java Server Faces (JSF) geht. Worum geht es im Kurs? Während es in "Web-Anwendungen 1" um statisches HTML geht, behandelt "Web-Anwendungen 2" die dynamische Erzeugung von HTML-Dokumenten mit einer serverseitigen Sprache. Bekanntestes Beispiel hierfür ist sicher PHP. In diesem Modul wird aber die serverseitige Programmierung mit Java Server Pages behandelt. Was ist nun eine Java Server Page? Eine JSP ist eine Datei, in der Regel mit der Endung ".jsp", die HTML-Schablonentext enthält, in den Java Code-Fragmente eingestreut sind. Diese Datei wird in eine Java-Klasse übersetzt, die wiederum in Bytecode übersetzt wird. Ein Web-Server, z.B. Apache Tomcat, erzeugt damit zu einem HTTP-Request eine sinnvolle HTTP-Response. Die Response ist der HTML-Schablonentext, in den Elemente eingefügt wurden, die dynamisch berechnet wurden und zur Anfrage passen. Aus Gesprächen mit Kommilitonen weiß ich, dass es für viele ein Ärgernis ist, dass in diesem Modul nicht PHP als Lehrsprache verwendet wird. Zum einen arbeiten viele von ihnen als Web-Entwickler und haben praktische Erfahrung mit PHP. Zum anderen argumentieren sie mit dem recht kleinen Marktanteil von JSP. Das ist natürlich ein Argument. Und doch meine ich, dass es durchaus gute Gründe gibt, die serverseitige Programmierung am Beispiel von JSP zu lehren. Springer Campus setzt ja in den einführenden Programmierkursen auf Java als Lehrsprache. Die Stärke von JSP ist, dass man Java-Klassen verwenden kann. Man kann die gesamte Fachlogik einer Web-Anwendung in Java programmieren und dabei auf alles zurückgreifen, was man bisher über Programmierung gelernt hat. Das hat didaktisch dann doch einige Vorzüge. JSP kann man Klebstoff zwischen Java und HTMl sehen. Praktisch wird man eine IDE wie Eclipse oder Netbeans mit JavaEE verwenden. Die nimmt einem eine Menge Arbeit ab, zum Beispiel das Anlegen einer sinnvollen Ordnerstruktur für den Server. Die IDE packt die erstellten Anwendungen auch automatisch in sogenannte war-Archive. Der Tutor erwartet Lösungen zu den Einsendeaufgaben in dieser Form. Das Lehrbuch "Java Server Pages" von Dieter Wißmann ist wahrscheinlich das beste deutschsprachige Lehrbuch zu diesem Thema. Es gibt nämlich nicht viel anderes dazu. Und das wenige, was es gibt, ist oft schon ganz schön alt. Wer mit diesem Lehrbuch nicht zurecht kommt und Sekundärliteratur sucht, wird es also nicht ganz leicht haben. Zum Glück schreibt der Autor sehr verständlich. Theorie und Anwendungsbeispiele wechseln sich ab und die Themen bauen gut aufeinander auf. Das Buch hat ca. 450 Seiten, was für Kurse bei Springer Campus üblich ist. Unter den Abbildungen sind besonders die UML-Diagramme relevant, die verwendet werden, um die Zusammenhänge zwischen verschiedenen Klassen zu klären, die man beim Arbeiten mit JSP kennen sollte. In vielen Modulen habe ich die Themen recht ausführlich beschrieben. In diesem Modul werde ich darauf verzichten, weil JSP ziemlich komplex ist und so ist auch die Vielfalt an Themen sehr groß. Ein einfacher, linearer Aufbau des Stoffes ist hier nicht möglich und sinnvoll, weil JSP eine Brücke zwischen vielen Technologien schlägt. Man arbeitet mit HTML und CSS, muss sich damit beschäftigen, was bei einem HTTP-Request zwischen Client und Server passiert, hat mit Apache Tomcat zu tun, aber auch mit der JVM und natürlich mit der Programmiersprache Java, die womöglich per JDBC auch noch an eine relationale Datenbank angebunden ist. Insofern muss der Kurstext immer wieder Theorie einführen oder wiederholen, um so Themen noch einmal ins Bewusstsein zu rufen, die dann per JSP verknüpft werden. Keine leichte Aufgabe für einen Autor, die meiner Meinung nach hier hervorragend gelöst wurde. Einen großen Teil des Buches - an die 100 Seiten - nimmt ein komplexes Fallbeispiel ein: Der Aufbau eines Web-Anzeigenmarktes mit JSP, wobei ein Überblick über den gesamten Entwicklungsprozess gegeben wird. Der komplette Code des Fallbeispiels liegt dem Kurs bei und kann praktisch ausprobiert werden. Besonders loben möchte ich hier, dass ein Kapitel zur Fehlersuche in JSPs enthalten ist. Die ist nämlich manchmal nicht ganz einfach, was mit dem zweistufigen Übersetzungsprozess zu hat: Von JSP zu Java und von Java zu Bytecode. Treten Fehler beim ersten Schritt auf, so kann man das noch gut nachvollziehen. Ab dem zweiten Schritt oder zur Laufzeit wird es schwieriger, denn die Fehlermeldung bezieht sich auf die aus der JSP generierte Java-Klasse, die man ja nicht selbst geschrieben und gesehen hat. Der Autor stellt hier einige Strategien zur Fehlersuche vor. Eine ist die Umleitung auf eine Fehlerseite, die im Browser detaillierte Meldungen zeigt. Das ist natürlich nichts für die ausgelieferte Web-Anwendung sondern etwas, was dem Entwickler nützt. Wegen des zweistufigen Übersetzungsprozesses ist es auch immer wieder nützlich, sich damit zu beschäftigen, wie die Umsetzung in eine Java-Klasse läuft und was dabei im Hintergrund passiert. Zur Komplexität des Themas trägt bei, dass sich bei JSP verschiedene Syntaxen entwickelt haben, oft mit dem Ziel, das Schreiben von JSPs für Web-Frontend-Entwickler ohne Java-Kenntnisse einfacher zu machen. Das ist historisch gewachsen aber für den Einsteiger unübersichtlich und verwirrend. Der Autor löst dieses Problem, indem er die verschiedenen Syntaxen nacheinander einführt und Hinweise gibt, welche wofür geeignet ist und welche man besser nicht in einer JSP mischen sollte. Einsendeaufgaben Die Einsendeaufgaben in diesem Kurs hatten eine gewisse "Künstlichkeit", weil sie erkennbar darauf hin konstruiert waren, dass der Lernende bestimmte Sprachfeatures kennen lernt, ausprobiert und auch typische Probleme kennen lernt, die damit verbunden sind. In anderen Programmierkursen von Springer Campus wirkten die Aufgaben oft ein bisschen näher an realen Anwendungsszenarien. Für den behandelten Stoff hat der Kursautor meiner Meinung nach genau das richtige getroffen. Der Kurs ist schon etwas anspruchsvoller und eine gewisse didaktische Zuspitzung scheint mir deswegen notwendig. Bei den Einsendeaufgaben geht es um das Abfangen von Fehlern, um Weiterleitungen von Seite zu Seite, um die Übergabe und Validierung von Parametern, um das Speichern und Weitergeben von Informationen vermittels Java-Beans, um die Verwaltung von Sitzungen, den Umgang mit Cookies, aber auch um die Konfiguration des Apache Tomcat Servers vermittels einer XML-Datei. Für die Aufgaben habe ich regelmäßig länger gebraucht als im Kurs angegeben. Mein Tutor empfahl, den compilierten Code nicht nur zu testen, sondern die erzeugten HTML-Seiten auch validieren zu lassen. Er machte relativ enge Vorgaben hinsichtlich der einzureichenden Lösungen, z.B. verbindliche Dateinamen und Ordnerstrukturen. Dafür waren seine Rückmeldungen besonders detailliert und treffsicher. Mein Tutor benannte nicht nur klar, was nicht gut war und wie man es hätte besser machen können. Er sagte ebenfalls, was gut war und so bleiben sollte. Auch kommunizierte er im Vorfeld recht genau, wann und in welchem Umfang er Einsendeaufgaben korrigiert, so dass ich mir die Arbeit am Kurs gut einteilen konnte und rechtzeitig zum Prüfungstermin fertig war. Prüfungen Die Online-Klausur war wie üblich eine gute Vorbereitung auf die Präsenzklausur, allerdings nicht, weil sie ähnlich war. In der Präsenzklausur hat man keine IDE zur Verfügung, bei der Online-Klausur schon. So war denn die Online-Klausur eine Gelegenheit, noch einmal mit Programmieraufgaben praktische Erfahrungen mit JSP zu sammeln, diesmal natürlich mit tickender Uhr im Hintergrund. Schreiben von Code spielte in der Präsenzklausur dann eine geringere Rolle. Das hängt wahrscheinlich damit zusammen, dass man so nur ganz kleine Teile des Kurses hätte abprüfen können. Es war also ein Mix aus Wissensfragen, Fehlersuche, Vorhersage von Ausgaben zu gegebenen Programmen, Konfiguration eines Servers per web.xml und einigen anderen Themen. Überrascht hatte mich, dass es viele kleinere Aufgaben waren. Der Vorzug ist natürlich: Wenn man irgendwo eine kleine Lücke im Wissen hat, ruiniert das nicht gleich die ganze Note. Ich glaube, dass die Klausur recht realistisch abbildet, wo man mit seinem Verständnis des Stoffes steht. Insofern bin ich gespannt auf mein Ergebnis. Fazit "Web-Anwendungen 2" war einer der schwierigeren Kurse im Studiengang. Wegen der vielen praktischen Programmieraufgaben hat er mir aber auch besonders viel Spaß gemacht. JSP ist eine vergleichsweise komplexe Angelegenheit. Eine gewisse Einarbeitungszeit muss man einplanen. Auch wird man gerade am Anfang Schwierigkeiten mit der doch recht komplexen und vielfältigen Syntax haben und dabei auch mit Frustration und Rückschlägen umgehen müssen. Aus meiner Sicht lohnt sich diese Mühe. Mehr als andere Kurse verbindet "Web-Anwendungen 2" den Stoff ganz vieler Module des Studienganges zu einem zusammenhängenden Wissensgebiet. Ich glaube, das bringt etwas, auch wenn man später serverseitig lieber mit PHP, Python, Ruby oder etwas ganz anderem programmiert. Für die Bearbeitung dieses Moduls würde ich etwas mehr Zeit einplanen und vielleicht zuschauen, dass man andere dicke Brocken vorher abgeräumt hat. Ich würde dieses Modul z.B. nicht zeitgleich mit "Software-Technik 1" oder mit "Nicht-sequentielle Programmierung" belegen wollen. Weil mir das Modul viel Spaß gemacht hat, würde ich gerne auch noch den weiterführenden Kurs "Aktuelle Webtechniken" belegen, der eine Einführung in Java Server Faces gibt. Dafür fehlen mir aber noch ein paar inhaltliche Voraussetzungen, so dass ich mich noch ein wenig gedulden muss.
  7. Welche Rolle spielt Softwaretechnik 2 im Studium? Das Modul "Softwaretechnik 2" wird - wenig überraschend - dem Studienbereich "Softwaretechnik" zugerechnet, der in den Studiengängen von Springer Campus einen recht großen Raum einnimmt. Das Modul ist Pflicht, sowohl im Studiengang "Web- und Medieninformatik" als auch im Studiengang "Wirtschaftsinformatik". Als inhaltliche Voraussetzung gilt das Modul "Softwaretechnik 1", bei dem es um Basistechniken und die Basiskonzepte Statik, Dynamik und Logik geht. Dieser Einschätzung würde ich mich anschließen. In SWT1 wird vor allem eine solide Grundlage in UML vermittelt, die man in SWT2 braucht. Springer Campus empfiehlt, auch das Modul "Softwaremanagement 1" vorher zu belegen, weil es das Verständnis von SWT2 erleichtere. Dazu kann ich nichts näheres sagen, weil ich SWM1 nicht vorher belegt hatte. Ich hatte den Eindruck, mit dem Stoff gut zurecht zu kommen und SWM1 als Grundlage nicht unbedingt zu brauchen. Möglicherweise wären mir die Kursabschnitte zur Aufwandsschätzung so leichter gefallen. SWT2 ist auch ein Pflichtmodul in den Weiterbildungszertifikaten "Requirements Engineer", "Software-Architekt" und "Software-Manager". Wer sich für eine dieser wissenschaftlichen Weiterbildungen interessiert, sei es als Etappenziel auf dem Weg zum Bachelor oder auch als eigenständige Weiterbildung, der muss sich mit den Inhalten dieses Moduls beschäftigen. Das Lehrbuch Inhaltlich geht es in SWT2 um Requirements Engineering, Aufwandsabschätzung und die Modellierung von Anforderungen. Ein neues Lehrbuch bekommt man nicht. Man bearbeitet die verbleibenden Kapitel vom (hervorragenden) "Lehrbuch der Softwaretechnik - Basiskonzepte und Requirements Engineering" von Helmut Balzert, welches ja schon SWT1 zu Grunde lag. Während SWT1 mit über 400 Seiten ein umfangreicher Kurs war, fällt SWT2 mit nur ca. 150 restlichen Seiten deutlich kompakter aus. Ich habe den Eindruck, dass sich das nicht ganz im Zeitaufwand niederschlägt. Viele Kapitel zum Requirements-Engineering sind vergleichsweise trockene Themen, durch die man sich mühsam durchbeißen muss. In SWT1 nahmen große UML-Diagramme viel Raum auf den Seiten ein, so dass man oft schneller voran kam. Dieses Modul ist etwas textlastiger. Gleichwohl scheint mir, dass der Arbeitsaufwand ungleichmäßig verteilt ist. Ich hätte es besser gefunden, die Kapitel zur Logik aus SWT1 noch SWT2 zuzuteilen. Allerdings ginge dabei die klare thematische Gliederung der Module verloren. Wahrscheinlich muss man sich damit abfinden, dass die Module trotz formal gleichem Workload mal anstrengender und mal etwas leichter ausfallen. Dies bezieht sich allerdings nur auf den Arbeitsumfang. Inhaltlich ist SWT2 anspruchsvoll und relevant. Requirements Engineering Beim Requirements Engineering geht es im wesentlichen um das Erfassen von Anforderungen für Software-Projekte. In der Vergangenheit sind immer wieder große Software-Projekte spektakulär gescheitert. Ein wesentlicher Grund war, dass die Anforderungen an das Produkt zu Beginn nicht präzise ermittelt wurden, Entwurf und Implementierung also schon vorangeschritten waren, als wesentliche Anforderungen erst bekannt wurden. So etwas endete oft damit, dass sich der erstellte Code als unbrauchbar erwiest, weil der Entwurf schon in den Grundzügen an den Anforderungen vorbei ging. Die nötigen Änderungen wären teurer gewesen als ein kompletter Neubeginn. Requirements Engineering beschäftigt sich mit Techniken und Vorgehensweisen, um relevante Anforderungen zu Beginn eines Projektes (und im laufenden Projekt) zu ermitteln, um ausufernde Kosten, Terminverzögerungen oder gar ein Scheitern des Projektes zu vermeiden. Das klassische Vorgehen ist ein dreistufiges. Die Anforderungen werden aus Kundensicht definiert. Das Ergebnis ist ein Lastenheft, das i.d.R. auch Angebotsgrundlage ist. Dann werden die Anforderungen aus dem Lastenheft spezifiziert. Das Ergebnis ist das deutlich umfangreichere Pflichtenheft, zu dem auch Abnahmekriterien gehören. Die im Pflichtenheft spezifizierten Anforderungen werden dann klassischerweise in eine fachliche Lösung in Form eines OOA-Modells überführt. Damit sind wir aber schon im Bereich Anforderungs-Modellierung. Es gibt aber auch agile Softwareentwicklung. Hier ist das Ziel mit möglichst wenig Dokumenten außer dem Code auszukommen. Ein Kunde oder Kundenrepräsentant wird ins Entwicklungsteam integriert, die Anforderungen werden in Form von User Stories erhoben, die beschreiben, was das Softwaresystem für die Benutzer leisten soll. Kennzeichnend für agile Entwicklung ist, dass die Anforderungen nicht vollständig vor sondern nach und nach während des Projektes ermittelt werden. Der inhaltliche Fokus von SWT2 liegt aber klar auf dem klassischen sequentiellen Vorgehen. Im Rahmen der Einsendeaufgaben erstellt man auch selbst ein Lasten- und ein Pflichtenheft, was sich vergleichsweise lange hinzieht und ungewohnt viel Schreibarbeit ist. Hier geht es unter anderem darum, Anforderungsschablonen anzuwenden, die eine klare inhaltliche Gliederung vorgeben und zum Teil auch mit einheitlichen Formulierungen arbeiten. Hier muss man sich ein bisschen disziplinieren. Man muss zum Beispiel sehr präzise unterscheiden, was ein System leisten SOLL und was es leisten MUSS. Beim Pflichtenheft ist es wesentlich, Abnahmekriterien zu formulieren, die eindeutig überprüfbar sind. Hier kam es mir tatsächlich einmal zu Gute, dass ich eine pädagogische Ausbildung habe. Bildungs- und Förderziele sollten ebenfalls so formuliert sein, dass sie konkretes und beobachtbares Verhalten beschreiben, damit man nachprüfbar ist, ob der Lernende sie erreicht hat. Schwammige Formulierungen wie "das Sozialverhalten der Schüler soll sich verbessern", lassen viel Interpretationsspielraum. Man kann mir so zwar nicht beweisen, dass meine Maßnahme wirkungslos war, aber ich kann umgekehrt auch nicht beweisen, dass ich etwas erreicht habe. Hier sah ich also eine gewisse Analogie, die mir das Verständnis erleichterte. Aufwandsschätzung In den folgenden Kapiteln geht es um das Schätzen des Entwicklungsaufwandes. Das ist ein sehr wichtiger Schritt, weil ein Unternehmen, das Software entwickelt, dem Kunden ein Angebot machen muss. Schätzt man den Aufwand zu hoch ein, geht der Kunde zu einem günstigeren Mitbewerber und man bekommt den Auftrag nicht. Schätzt man ihn zu niedrig ein, sind die Entwicklungskosten höher als der vereinbarte Preis und man verliert Geld. Eine möglichst gute Aufwandsschätzung ist also wesentlich für den wirtschaftlichen Erfolg, auch wenn es gute Gründe geben kann, eine Software unter den tatsächlichen Entwicklungskosten anzubieten. Zum Beispiel weil man damit in eine neue Anwendungsdomäne vordringen kann und sich eine Codebasis erarbeitet, die man in künftigen, ähnlichen Projekten wiederverwenden kann. Solche Entscheidungen sollte man dann aber bewusst und strategisch treffen. Aufwandsschätzung ist leider alles andere als einfach. Im Kurs lernt man verschiedene Schätzverfahren kennen, wozu auch algorithmische Verfahren wie Function Points oder Object Points gehören. Viele der Verfahren sind selbst recht aufwendig, so dass allein die Durchführung der Schätzung schon beträchtliche Kosten verursacht. Auch formalere Verfahren wie Functions Points müssen mit Erfahrungswerten aus dem Unternehmen sozusagen kalibriert werden, um ermittelte Aufwandspunkte in Entwicklermonate umrechnen zu können. Hier spielen viele Faktoren eine Rolle. Eine Rolle spielt zum Beispiel die Erfahrung der Entwickler mit ähnlichen Projekten, der Anteil von Code, der wiederverwendet werden kann, aber auch die Sprache, in der entwickelt werden soll. Natürlich darf man nicht erwarten, allein auf Grundlage eines Studienmoduls in der Lage zu sein, eine Aufwandsschätzung vorzunehmen. Man lernt Methoden kennen, mit denen Unternehmen versuchen, dieses Problem zu lösen. Man lernt relevante Begriffe und Konzepte. Und man entwickelt ein Bewusstsein, für die damit verbundenen Probleme. Einsendeaufgaben hier beinhalten z.B. das Bestimmen von Function Points für ein skizziertes Projekt. Anforderungen modellieren Im letzten Kursabschnitt geht es um objektorientierte Analyse, also das Erstellen eines OOA-Modells auf Grundlage einer Spezifikation. Wichtigstes Ergebnis ist in der Regel ein UML-Klassendiagramm, das die Statik des Systems modelliert. Der Kurs vermittelt 10 sogenannte OOA-Muster, wiederkehrende Formen der Verknüpfung von Klassen, mit charakteristischer Semantik und charakteristischen Multiplizitäten. Hier muss man wieder Diagramme zeichnen und dieser Kursteil war dann schon wieder lebendiger und näher dran an der Programmierung. Für mich persönlich war das der Teil des Kurses, der mir am meisten Spaß gemacht hat. Eine typische Einsendeaufgabe hier wäre das Wiedererkennen der behandelten Muster in kleinen Spezifikationen, die man modellieren soll. Prüfungen Online-Test und Online-Klausur deckten die Inhalte des Kurses noch einmal breit ab. Eine kleine Warnung vorweg: Ich hatte ein Lastenheft mit Glossar zu schreiben. Da steckt viel Schreibarbeit drin und es ist nicht ganz einfach, sich die Zeit gut einzuteilen. Hier habe ich Punkte verschenkt, weil ich mich mit Schreiben zu lange aufgehalten habe und die verlorene Zeit beim Modellieren nicht mehr rausholen konnte. Hilfreich wäre vielleicht, gewisse Text- und UML-Schablonen schon griffbereit zu haben. Ich hatte den gleichen Tutor wie in SWT1. Auch in SWT3 er mich voraussichtlich wieder begleiten. Die Kurse bauen aufeinander auf und es ist sehr schön, hier einen kontinuierlichen Ansprechpartner zu haben, der einen durch einen längeren Lernprozess begleitet. Die Präsenzklausur deckte die Inhalte breit ab, wenn auch mit unterschiedlicher Gewichtung. Ich hatte relativ viel Modellierung, was mir eigentlich Spaß gemacht hat. Mal sehen, ob ich das auch in eine gute Note umsetzen konnte. Der Zeitdruck war im Vergleich zur Online-Klausur geringer, so dass die Online-Klausur hier als gute Vorbereitung gelten kann. So ist es mir am liebsten. Ausblick Ich bin nun sehr gespannt auf SWT3, wo es unter anderem um Entwurfsmuster gehen wird. Laut meinem Tutor wird dort auch wieder mehr programmiert. Darauf freue ich mich schon richtig.
  8. Klassische Gitarre. Das ist schon ein schöner Ausgleich. Hat zwar - wie das Studium - eine kognitive Seite, aber auch eine sinnliche, eine motorische und eine emotionale. Kann ich nur empfehlen, ein Instrument zu lernen. (Im Grunde egal welches, solange man selbst Freude daran hat.)
  9. Dass im Modul XHTML vermittelt wurde, würde ich nicht so kritisch sehen. Ich habe mein erstes Modul Web-Programmierung bei Springer Campus etwa letztes Jahr um diese Zeit belegt. Das verwendete Lehrbuch war die 2. Auflage von 2011. Das ist natürlich in der sich rasant entwickelnden Welt der Web-Technologien schon ein gewisses Alter. Nicht überraschend wurde mir dort XHTML vermittelt. Rückblickend würde ich sagen, dass es nicht geschadet hat. Die strenge XHTML-Syntax erzwingt eine saubere Arbeitsweise. Außerdem kommt man immer wieder mit XML-Formaten in Berührung. Gar nicht schlecht, wenn man damit schon mal praktisch gearbeitet hat, also warum nicht am Beispiel XHTML? Im meinem zweiten Modul Web-Programmierung, das ich noch im selben Semester belegt habe, war das Lehrbuch ziemlich neu. Dort wurde dann konsequent HTML5 verwendet. Es war nicht besonders schwierig, sich umzugewöhnen. Außerdem wurden neue Features von HTML5 vorgestellt, die zum Teil von gängigen Browsern noch nicht oder in inkonsistenter Weise unterstützt werden, so dass man sich gut überlegen muss, ob man so etwas einsetzt. Soweit ich informiert bin, hat die Fernuni Hagen noch vor nicht allzu langer Zeit (vielleicht bis heute?) in ihren einführenden Programmierkursen auf Pascal gesetzt. Was soll's? Man lernt Programmierkonzepte und die haben eine gewisse Halbwertszeit. Sprache und Syntax ändern sich. Damit muss man als Informatiker sowieso zurecht kommen.
  10. Heute ist mein Klausurergebnis gekommen. Mit 1,7 ist es besser ausgefallen, als ich gedacht habe. Ich vermute, meine Schwächen lagen bei den Themen Operatorüberladung und Zeigerarithmetik; also genau solche Aspekte, die in C++ gegenüber Java etwas speziell sind. Das gute Ergebnis hat mir Mut gemacht, noch ein bisschen mehr in diese vergleichsweise maschinennahe Art der Programmierung einzusteigen. Ich denke nun ernsthaft darüber nach, im kommenden Semester das Programmierpraktikum "Programmieren in C" über die VHB zu belegen. Es bringt lediglich 2 ECTS, sollte also nicht zu viel Zeit fressen. Vermutlich wäre in diesem Modul auch eine Prüfung in meiner Stadt möglich.
  11. Machi Koro gilt als Spiel ab 8. Ich glaube, unserem Sohn hätte es etwa ab 10 Spaß gemacht. Eine ganze Weile haben wir gerne "Pandemie" und "Die verbotene Insel" gespielt. Beide Spiele sind vom gleichen Autor und das merkt man auch. Es sind kooperative Spiele, bei denen die Spieler gemeinsam gegen den Spielmechanismus antreten, um ein bestimmtes Problem zu lösen. Jeder Spieler hat eine bestimmte Rolle, die mit besonderen Fähigkeiten ausgestattet ist: Forscher, Arzt, Logistik-Experte... Damit kann er die Arbeit seines Teams bereichern. Die Runden bestehen daraus, dass man sich gemeinsam überlegt, wer seine besonderen Fähigkeiten wie einsetzt, um das Team weiter zu bringen. Früher mochte ich kooperative Spiele nicht so gerne, aber "Pandemie" und "Die verbotene Insel" setzen das Konzept endlich mal so um, dass es spannend ist. In Pandemie spielt man auf einer Weltkarte. Verschiedene Seuchen breiten sich in den großen Städten aus, springen entlang von Flugrouten von Kontinent zu Kontinent. Die Spieler können in Krisengebiete fliegen, um die Menschen zu behandeln, was die Ausbreitung eindämmt. Gewinnen kann man aber nur, wenn man Impfstoffe findet. Man muss also einen Teil der Arbeit in Forschung stecken und nicht nur Kranke behandeln. Es "brennt" ständig an mehreren Fronten. Die verschiedenen Seuchen in Schach zu halten, gleichzeitig mit der Forschung voran zu kommen und vor Spielende fertig zu werden, ist ein ganz schöner Eiertanz. Der Schwierigkeitsgrad kann an die Erfahrung der Spieler angepasst werden. Man "gewinnt" nicht so oft. Auf dem Karton steht "ab 10 Jahren" und das trifft es meiner Meinung nach auch. http://www.spiel-des-jahres.com/de/pandemie "Die verbotene Insel" dürfte auch für etwas jüngere Spieler interessant sein. Die Spielidee ist für sie greifbarer. Hier ist ein Team aus Experten auf einer Insel gelandet und will 4 historische Artefakte bergen. Das Problem: Die Insel versinkt währenddessen im Meer. Die Spieler müssen sich verteilen, die Artefakte bergen, zwischendurch immer wieder überflutete Felder trockenlegen und am Ende alle gemeinsam mit dem Helicopter ausfliegen, bevor die Insel endgültig versinkt. Hat so ein Indiana Jones Feeling. Spielrollen sind der Forscher, der Bote, die Pilotin, die Navigatorin, der Taucher und der Ingenieur. http://www.spiel-des-jahres.com/de/die-verbotene-insel Außerdem mögen wir seit vielen Jahren "Der Palast von Alhambra". Empfohlen wird es ab 8 Jahren. Es ist aber schon anspruchsvoll für dieses Alter. Hier will jeder Spieler einen möglichst protzigen Palast bauen. Dazu kauft man immer neue Anbauten, die man in 4 verschiedenen Währungen bezahlen muss. Die Regeln sind ein bisschen schwieriger zu lernen, aber die Mühe lohnt sich, denn das Spiel macht uns nach all den Jahren immer noch Spaß. Außerdem sind die wachsenden Paläste schön anzuschauen. http://www.spiel-des-jahres.com/de/der-palast-von-alhambra
  12. Mit meinem Sohn spiele ich manchmal "Machi Koro", ein Spiel mit Karten und Würfeln im ziemlich kleinen Karton, bei dem man eine Großstadt baut. Was daran gut ist: - Die Regel sind nicht zu kompliziert. - Eine Runde dauert an die 30 Minuten, also kann man es auch mal unter der Woche zwischendurch spielen. - Strategie spielt eine gewisse Rolle, aber das Würfelglück hat auch einen großen Einfluss. Darum kann man es gut mit Kindern spielen, weil die auch mal gewinnen. http://www.spiel-des-jahres.com/de/machi-koro Wenn ein bisschen mehr Zeit ist, spielen wir "Memoir 44". Das ist eine Schlachtfeldsimulation. Wir sind noch in der ersten Kampagne. Die dreht sich um die Rückeroberung Frankreichs im zweiten Weltkrieg. Einer spielt die Achsenmächte, einer die Alliierten. Auch hier dauert eine Runde im Prinzip an die 30 Minuten. Leider ist das Auf- und Abbauen auch ein bisschen zeitaufwendig. Da der Anspruch ist, wirklich eine Gefechtssimulation zu bieten, sind die einzelnen Szenarien zum Teil sehr unfair. Oft haben die Alliierten eine deutliche Übermacht, seltener die Achsenmächte. Das Problem wird dadurch gelöst, dass man jedes Szenario 2x spielt, mit jeweils vertauschten Rollen. Dann schaut man in der Gesamtwertung, wer sich besser geschlagen hat. Wenn wir mal damit durch sind, gibt es noch viele Erweiterungen. https://www.daysofwonder.com/memoir44/en/ Wenn wir Mama und die große Schwester zum Mitspielen überreden können, dann spielen wir gerne "7 Wonders". Das ist ein Aufbauspiel rund um die 7 Weltwunder der Antike. Was daran schön ist: Alle Spieler sind in jedem Zug dran, so dass man immer etwas zu tun hat und nicht groß auf die anderen warten muss. Außerdem ist das Material sehr chic. Auch hier ist eine schnelle Runde in nur 30 Minuten möglich. http://www.spiel-des-jahres.com/de/7-wonders Auch sehr gerne spielen wir "Zug um Zug". Da baut man in den USA um die Wette Eisenbahnnetze auf. Dauert aber länger, eher schon so eine Stunde. http://www.spiel-des-jahres.com/de/zug-um-zug Ich selbst spiele gerne Backgammon. Eigentlich würde es mir Spaß machen, dazu Bücher durchzuackern, um mich auf ein höheres Spielniveau zu trainieren. Mein Problem: Kaum hatte ich mal damit angefangen, sagten die anderen Familienmitglieder: "Du spielst wie der Computer." Und dann wollte keiner mehr mit mir spielen. Also steht das Buch im Schrank und ich spiele wieder nach Würfelglück.
  13. Letztes Jahr hat ein Kommilitone von mir 3 Klausuren an einem Tag geschrieben. Das fand ich damals ziemlich krass. Der hat eine weite Anfahrt. Darum lässt er lieber mal einen Prüfungstermin aus und bündelt dann mehrere Klausuren an einem Tag. Zum "Triple" kam es bei mir auch, weil ich am letzten Prüfungstag im alten Jahr eigentlich 2 Klausuren hätte schreiben können. Ich war nämlich mit Mobile Computing im Prinzip durch. Leider hat mir dann die Arbeit einen Strich durch die Rechnung gemacht. Sankt Martin fiel genau auf den Prüfungstag und ich musste mit meinen Kindergartenkindern Laterne laufen. Danach ist bei uns in der Einrichtung immer noch gemütlicher Ausklang mit Würstchen, Lagerfeuer, Gesang, Zeit für informelle Gespräche mit Eltern. Wurde also spät. Jedenfalls konnte ich deshalb an dem Tag nicht nach München fahren; ich wäre nicht rechtzeitig zurück gewesen. Am nächsten Tag waren Klausurtermine in Dortmund. Aber die Anfahrt war zu lang, um rechtzeitig für 2 Klausuren da zu sein. Ich hätte natürlich nach dem langen Abend total früh los fahren können, aber unausgeschlafen in die Klausur zu gehen fand ich bei "Nicht-sequentielle Programmierung" nicht angezeigt. Das kleinste Übel schien, "Mobile Computing" vor mir her zu schieben. Das ist es bisschen blöd, wenn man eigentlich mit dem Modul fertig ist, aber es dauert noch bis zur Prüfung. Natürlich müsste man den Stoff immer wieder mal wiederholen, damit alles frisch im Gedächtnis bleibt. Das macht aber weniger Spaß als etwas neues zu lernen. So kam es jedenfalls dazu, dass ich auch mal einen "Triple" gemacht habe. Ist ja auch gut gegangen, aber regelmäßig brauche ich das nicht.
  14. Operations Research oder im engeren Sinne Lineare Optimierung wäre noch interessant gewesen. Wobei das eher in ein Studium der Wirtschaftsinformatik passen würde.
  15. Auch für "Mobile Computing" habe ich ein Ergebnis. In der Klausur habe ich anscheinend schon ein paar Punkte verschenkt. Eigentlich kein Wunder: Es war die dritte Klausur an diesem Tag und ich hatte Kopfschmerzen, als ich sie geschrieben habe; vermutlich weil ich zwischendurch nicht mehr daran gedacht habe, etwas zu trinken. Woran es inhaltlich lag, kann ich rückblickend nicht sagen. Dazu müsste ich Klausureinsicht beantragen. Aber da ich mit ein paar Bonuspunkten in die Klausur gegangen bin, war die Note trotzdem ganz gut. Mir fehlen nun noch 3 Vertiefungsmodule. Beim nächsten Mal möchte ich etwas belegen, dass ich inhaltlich richtig spannend finde. Text-Mining fände ich zum Beispiel interessant oder auch Data-Mining. Aber jetzt ist erst mal serverseitige Web-Programmierung mit JSP dran. Außerdem möchte ich mit Software-Technik weiterkommen. Das ist bei Springer Campus ein ziemlich großer Studienbereich und ich stehe da noch ganz am Anfang.
  16. Auch die Statistik-Klausur kam heute zurück. Die Korrekturen gingen diesmal echt ziemlich fix. War allerdings auch relativ wenig los am letzten Prüfungstag. Letztes Jahr um diese Zeit ging es auch sehr schnell. Ich bin zufrieden mit dem Ergebnis. Wie schon erwähnt, war Statistik für mich das beste unter den sehr guten Mathe-Modulen bei Springer Campus. Darum freut mich, dass ich auch in der Klausur zeigen konnte, was ich gelernt habe. Die verpflichtenden Mathe-Module liegen nun also hinter mir. Rückblickend betrachtet eigentlich irre. Mathe war schon eine Sache, vor der ich Respekt hatte, denn ich hatte mich viele Jahre überhaupt nicht damit beschäftigt. Kommilitonen wie Dozenten haben mir auch immer wieder geraten, gerade diese Module zügig hinter mich zu bringen. Weil Mathematik etwas sei, woran ein Informatik-Studium scheitern könne. Insofern kann ich es eigentlich noch gar nicht fassen, dass es jetzt tatsächlich geschafft ist. Ging besser als erwartet und hat sogar Spaß gemacht. Fast ein bisschen schade, dass es nun vorbei ist. Auf ein paar Dinge wäre ich noch neugierig gewesen...
  17. Das Ergebnis zur IT-Sicherheit ist da und ich bin zufrieden damit. Bei einer Aufgabe hätte man mit einem Beweis die letzten Punkte holen können. Es ging um Pseudozufallszahlen, erzeugt durch ein linear rückgekoppeltes Schieberegister. Das Rüstzeug dazu hätte ich eigentlich durch die Einsendeaufgaben haben müssen. Der Punktabzug dafür hielt sich aber in Grenzen. Ansonsten ist es ziemlich gut gelaufen. Jetzt fehlt mir im Studienbereich "IT-Systeme" nur noch das Modul "Geschäftsprozess-Management". Das kann ich noch gar nicht belegen, weil ich dafür mindestens "BWL1" abgeschlossen haben sollte. Vor BWL habe ich ein bisschen Angst. Ich stelle mir das ziemlich trocken vor. Ich bin ziemlich schlecht darin, Sachen zu lernen, die ich nicht so spannend finde. Insofern schiebe ich das gerade so ein bisschen vor mir her.
  18. Ich könnte es jetzt in Stunden gar nicht so genau sagen. Ich habe für das Studium meine Arbeitszeit auf 30h reduziert und die so gewonnene Zeit fließt auf jeden Fall komplett ins Studium. Ich versuche keinen Tag verstreichen zu lassen, ohne irgendwas zu machen. Das gilt auch für Sonn- und Feiertage und für meinen Urlaub. Letzten Sommer in Frankreich habe ich z.B. jeden Tag mehrere Stunden für angewandte Mathematik gepaukt, während meine Familie sich im Pool verlustiert hat. Ich habe mir aber jeden Tag auch bewusst Zeit für gemeinsame Unternehmungen genommen. Ein vielleicht nicht ganz unwesentlicher Punkt: Wir haben keinen Fernseher im Haus. Ich nutze ziemlich oft Randzeiten oder Zeiten zwischendurch. Zum Beispiel lese ich oft abends im Bett Kapitel aus den Lehrbüchern. Zwischen Frühstück und Weg zur Arbeit mache ich oft Online-Tests, um zu sehen, was denn hängen geblieben ist. Über den Tag denke ich immer wieder mal über Einsendeaufgaben nach und wie ich die angehen würde. Wenn ich dann nach Hause komme, habe ich oft schon Ideen und kann direkt loslegen. Ein Arbeitszimmer habe ich nicht. Wenn ich an meinem Rechner sitze und programmiere oder Matheaufgaben rechne, spielt sich um mich rum der Familienalltag ab: Zank über Hausaufgaben, Englisch lernen, Streit zwischen Geschwistern. Als Kindergärtner bin ich ein bisschen gewohnt, mich mitten im Trubel zu konzentrieren, darum macht mir das nicht soviel aus. Als ich das Studium aufgenommen habe, hatte ich damit gerechnet, etwa 4 Module a 5 ECTS pro Semester zu schaffen. Dass es schneller ging, hat mich selbst gewundert. Informatik ist ja nicht mein erstes Studium. Ich habe vorher an der OU einen Bachelor of Arts in Childhood and Youth Studies und einen Master of Arts in Education erlangt. Das ist mir schwerer gefallen. Meiner Meinung nach sind Computer und Softwaresysteme einfacher zu verstehen als Kinder. Als ich das Studium aufgenommen habe, waren mir ein paar Dinge wichtig: 1. Ich wollte auf keinen Fall aufhören, Gitarre zu spielen. Ich spiele nämlich seit ca. 8 Jahren klassische Gitarre. Vor meinem Studium habe ich im Schnitt 50 Minuten pro Tag geübt. Das habe ich seitdem auf ca. 30 Minuten pro Tag reduziert. Für Musik habe ich kein großes Talent, aber das tägliche Üben hilft mir sehr, zur Ruhe zu kommen. Und zwar gerade in Zeiten, in denen ich Belastungen ausgesetzt bin. Und darum würde ich eher das Projekt Studium aufgegeben als aufs Gitarrespielen zu verzichten. 2. Ich wollte Zeit haben, um 2x pro Woche Sport zu machen. 3. Ich wollte auf jeden Fall weiterhin jeden Tag ein Essen aus frischen Zutaten kochen. Da das auch meiner Partnerin wichtig ist, muss ich mich darum im Schnitt nur jeden zweiten Tag selbst kümmern. Ich habe nämlich vor ein paar Jahren mal eine recht umfangreiche Weiterbildung neben einer Vollzeitstelle gemacht, für die ich Hobbys und Sport komplett aufgegeben habe. Und in dieser Zeit habe ich hauptsächlich sehr ungesundes Zeug gegessen, weil ich mir keine Zeit zum Kochen nehmen konnte. Nach dem Jahr war ich total kraftlos und schnaubte wie eine Dampflok, wenn ich die Treppen von der U-Bahn hochlief, um den Zug zu erwischen. Es hat dann auch ungefähr ein Jahr gebraucht, um wieder in Form zu kommen. Und ich war nie eine Sportskanone. Vor dem Hintergrund dieser Erfahrung habe ich mir jedenfalls diesmal ein paar Limits abgesteckt, was ich auf keinen Fall für das Studium opfern wollte. Das war für mich auch ganz wichtiger Grund, mich für ein Studium bei Springer Campus zu entscheiden. Dort kann ich meinen Workload flexibel steuern und bin nicht an bestimmte Prüfungstermine gebunden. Sollte ich für ein Modul länger brauchen, könnte ich die Klausur einfach zum nächsten oder übernächsten Termin schreiben. Außerdem gibt es einen Rettungsschirm, falls ich merke, dass mir ein ganzes Bachelorstudium zu viel wird. Die FH Dortmund stellt für bestimmte Modulkombinationen Weiterbildungszertifikate aus. Das ist natürlich nicht so schön wie ein Bachelor, aber immerhin müsste ich mein Studium nicht völlig ohne Ergebnis abbrechen. Ob es diesem Tempo weitergeht, ist für mich offen. Es ist auch nicht so wichtig.
  19. 4. Semester - Sommersemester 2017 - Web-Anwendungen 2 - Softwaretechnik 2 3. Semester - Wintersemester 2016/2017 - Mathematik 3 - Softwaretechnik 1 - Nicht-sequentielle Programmierung - Statistik - IT-Sicherheit - Mobile Computing 2. Semester - Sommersemester 2016 - Grundlagen der Informatik 3 - Grundlagen der Informatik 4 - Web-Anwendungen 1 - Web-Ergonomie und Web-Design - Computernetze - Mathematik 2 1. Semester - Wintersemester 2015/2016 - Grundlagen der Informatik 1 - Grundlagen der Informatik 2 - Rechnerstrukturen und Betriebssysteme - Datenbanken und SQL - Mathematik 1 - Web-Programmierung Zusätzlich belegte Module an anderen FHs - theoretische Informatik (WINGS Wismar) - Programmieren in C++ (Virtuelle Hochschule Bayern) Aktuell in Bearbeitung bei Springer Campus - Softwaretechnik 3 - CMS - Data Mining Noch geplant für das 4. Semester - künstliche Intelligenz (WINGS WISMAR)
  20. Warum ich das Modul "Programmieren in C++" belegt habe Das Modul "Grundlagen der Informatik 2" ist im Curriculum von Springer Campus das einführende Modul in die objektorientierte Programmierung; und zwar sowohl im Studiengang "Web- und Medieninformatik" als auch in "Wirtschaftsinformatik". Die Lehrsprache ist Java, was derzeit an deutschen FHs und Uni nicht unüblich sein dürfte. Ergänzend gibt es im Lehrbuch aber auch je ein Kapitel zu C++ und C#. Die Idee ist, dass der Studierende auch andere objektorientierte Sprachen als Java kennenlernt. Ich war damals ziemlich gespannt auf diese Kapitel, zu denen es auch je eine Einsendeaufgabe gab. Allerdings war ich nach dem Durcharbeiten ein bisschen enttäuscht. Denn es ist natürlich nicht möglich, in der knappen Form eine weitere objektorientierte Sprache zu lernen. Vielmehr haben diese Kapitel mein Verständnis für die Besonderheiten der Sprache Java - sozusagen in Abgrenzung zu C++ und C# - geschärft. Das war auch ein schönes Ergebnis. Dennoch blieb bei mir der Wunsch, zumindest C++ und C noch einmal näher kennen zu lernen. Interessant daran war für mich, dass sowohl C++ als auch C echte Compilersprachen sind. An C interessierte mich vor allem der Umgang mit Zeigern, die ja in Java nicht zur Verfügung stehen. An C++ interessierte mich die Mehrfachvererbung und die dynamische Speicherverwaltung, um die man sich selbst kümmern muss. Leider bietet Springer Campus aktuell keine gründliche Einführung in C oder C++ an. Ich schaute mich also nach anderen Anbietern um. Und wurde fündig bei der Virtuellen Hochschule Bayern (VHB). Diese bietet zum einen das Modul "Programmieren in C++". Das ist eine Einführung in die strukturierte und objektorientierte Programmierung in C++. Es steht somit inhaltich irgendwo zwischen GdI1 und GdI2 im Lehrplan von Springer Campus. Außerdem kann man dort das Modul "Programmieren in C" belegen. Das ist ein Programmierpraktikum in C und richtet sich an Studierende, die Erfahrung mit einer objektorientierten Programmiersprache haben. (Idealerweise natürlich C++, aber auch Java wäre denkbar.) Interessant an diesem Modul ist, dass es in Kooperation mehrerer Hochschulen entwickelt wurde, die im Laufe des Kurses verschiedene "Sichten" auf die Programmiersprache C vermitteln. Man könnte also, von Java kommend, zunächst C++ belegen, um die bekannten objektorientierten Konzepte aus der Perspektive von C++ zu erfahren. Und dann in einem zweiten Schritt das Programmierpraktikum in C buchen, um ohne objektorientierung auszukommen und auch noch etwas maschinennäher zu programmieren. Dieser Top-Down Ansatz war mein Plan, von dem ich nun den ersten Teil umgesetzt habe. Was ist die Virtuelle Hochschule Bayern? Die Virtuelle Hochschule Bayern ist eine gemeinsame Plattform von 9 Universitäten, 17 FHs und 5 weiteren Hochschulen in Bayern, die sich auf diesem Wege gegenseitig Module in Form von Online-Kursen zur Verfügung stellen. So kann man das den Präsenzstudenten lokal gebotene Spektrum an Lehrveranstaltungen erweitern. Die Hochschulen haben Vereinbarungen über gegenseitige Anerkennung bestimmter Module in bestimmten Studiengängen. Das Angebot ist recht breit, umfasst naturwissenschaftliche, geistes- und sozialwissenschaftliche Kurse, aber auch Fächer wie Medizin, Jura, ingenieurwissenschaftliche Fächer, Soziale Arbeit und Sprachen. Außerdem werden im Bereich "Schlüsselqualifikationen" interessante Kurse angeboten, die fächerübergreifende Kompetenzen vermitteln. Das Angebot der VHB findet ihr unter diesem Link: https://www.vhb.org/startseite/ Ein wichtiger Unterschied zu einer Fern-FH oder Fern-Uni: Die VHB bietet lediglich einzelne Module, die als Teil eines Präsenz-Studiums belegt werden können. Es gibt also keinen kompletten Fernstudiengang. Das Angebot der VHB richtet sich in erster Linie an Studierende der Hochschulen des VHB Verbundes. Sie können die Kurse kostenfrei nutzen. Man kann sich aber auch als "sonstiger Nutzer" registrieren. In diesem Fall zahlt man eine Gebühr, die sich nach dem Workload des Moduls richtet. Die Kosten sind recht überschaubar. Als sonstiger Studierender registriert man sich online. Danach erhält man eine Rechnung per Briefpost aus Bamberg. Nach Überweisung der Gebühr wird der Kurs freigeschaltet. Bei der Registrierung sind Fristen zu beachten. In der Regel gibt es EINEN Klausurtermin pro Modul. Die Klausur wird aber oft zeitgleich an mehreren Partnerhochschulen angeboten. Für C++ hatte ich die Wahl zwischen 3 FHs in Bayern. Auch sonstige Nutzer dürfen also Module mit einer Prüfung abschließen, z.B. als Weiterbildung. Eine Anerkennung der ECTS bei Hochschulen außerhalb des VHB-Verbundes muss man aber selbst abklären. Der Kurs "Programmieren in C++" Das Modul basiert auf einem Skript von Professor Herbert Fischer von der TH Deggendorf. Zur Verfügung gestellt wird es als PDF im A4-Format. Wer es auf Papier will, muss es selbst ausdrucken. Das Skript wie auch der Kurs hat 2 Teile. Der erste Teil hat 77 Seiten. Themen sind zum Beispiel: - Ausdrücke, Anweisungen, Variablen und Datentypen - Rechenoperatoren - Funktionen - Ein- und Ausgabe - Kontrollstrukturen, Verzweigungen, Schleifen - Felder und Strings - Objekte und Klassen - Vererbung - Fallbeispiel: Kontoverwaltung Programmiert werden ausschließlich Konsolenanwendungen. GUIs spielen noch keine Rolle. Dynamische Speicherverwaltung ist im ersten Kursteil ausgeklammert. Man kann eine Klausur lediglich über diesen ersten Kursteil schreiben. Die bringt dann 2 ECTS. Die meisten Studierenden werden aber eine Klausur schreiben wollen, die beide Kursteile abdeckt. Die bringt dann 6 ECTS. Das Skript zum zweiten Kurs-Teil hat noch mal 58 Seiten. Hier werden folgende Themen ergänzt: - Bibliotheken - Arrays - Referenzen und Zeiger - Zeiger auf Zeiger - Elementoperatoren - Inline-Funktionen - Const-Objekte - der this-Zeiger - Objekte als Argumente und return-Wert. - verschiedene Arten der Parameterübergabe - Dynamische Speicherverwaltung mit new und delete - Verkettete Listen, doppelt und einfach. - Bäume und Graphen (sehr knapp) - Mehrfachvererbung - Polymorphismus - Abstrakte Klassen - Überladen von Operatoren - Templates (generische Programmierung) - Dateioperationen - Exceptions Ergänzend zu den Skripten gibt es auf der Lernplattform Tests und Übungsaufgaben, deren Musterlösungen man sich anzeigen lassen kann. Für jeden Kursteil gibt es 2 Einsendeaufgaben, die von einem Tutor korrigiert werden. Hier muss eine Mindestpunktzahl erreicht werden, um zur Klausur zugelassen zu werden. Insgesamt 4 Aufgaben sind natürlich nicht viel. Die Einsende-Aufgaben sind aber ein bisschen umfangreicher als die Übungsaufgaben. Die letzte und komplexeste ist eine Verwaltung für eine Motorradvermietung mit dynamischer Speicherverwaltung. Bei den Einsendeaufgaben habe ich am meisten gelernt, weil die Aufgabenstellung ein bisschen offener formuliert ist und man sich etwas einfallen lassen muss. Von Java kommend habe ich viele Fehler gemacht, weil die Syntax auf den ersten Blick sehr ähnlich wirkt, aber im Detail dann doch anders ist. Leider hatte ich im ersten Kursteil eine andere Tutorin als im zweiten. Viel Tutorinteraktion kommt so nicht zustande, zumal meine eingereichten Lösungen ganz gut waren, so dass das Feedback knapp ausfiel. Erwartungsgemäß fielen mir vor allen solche Themen schwerer, in denen C++ sich von Java unterscheidet: dynamische Speicherverwaltung, Umgang mit Zeigern, Überladen von Operatoren. Da der Kurs von Studierenden vieler Unis und FH belegt werden kann, sind die Teilnehmerzahlen recht hoch. Es waren über 400. Es gibt auch ein Forum zum Kurs, in dem recht lebhaft diskutiert wird. Die Klausur Die Präsenzklausur dauert 90 Minuten und deckte die Themen des Kurses gut ab. Es gab viele praktische Aufgaben, aber auch solche, in denen Wissen abgefragt wurde. Den Umfang fand ich für die Zeit angemessen, den Schwierigkeitsgrad auch. Manche Fragen fand ich etwas speziell und nicht so praxisrelevant. Im wesentlichen konzentrierte sich die Klausur auf den Aspekt objektorientierte Konzepte, was ich ganz vernünftig finde. Fazit Dem Skript merkt man stellenweise an, dass der Kurs schon ein paar Jahre auf dem Buckel hat. Allerdings ist C++ eine nicht mehr ganz neue Sprache. Die Grundkonzepte, die hier vermittelt werden, sollten ziemlich zeitlos sein, so dass das Alter des Kurses sich eigentlich nicht nachteilig auswirkt. Was ich vermisst habe: In den Kursen bei Springer Campus wurde schon bei der Vermittlung der objektorientierten Konzepte auf guten Klassenentwurf eingegangen. Es wurden also schon ein paar Ideen aus der Softwaretechnik angerissen. Das sollte uns ermutigen, von Anfang an recht sauber zu arbeiten. Das war in diesem Kurs nicht so. Manche Code-Beispiele kamen mir aus Java-Perspektive ein bisschen "quick and dirty" vor. Eines habe ich in dem Kurs nicht gelernt: C++-Code idiomatisch zu schreiben. Man merkt meinen Programmen an, dass ich objektorientierte Programmierung mit Java gelernt habe. Um hier mehr wie ein C++-Programmierer zu denken und zu schreiben, müsste ich mich noch wesentlich länger mit der Sprache beschäftigen. Den Ehrgeiz, in C++ richtig sicher zu werden, habe ich aber nicht. Zumal C++ auch nicht besonders zum Schwerpunkt meines Studiums - Web- und Medieninformatik - passt. Mir ging es einfach darum, diese sehr wichtige Sprache ein bisschen besser kennen zu lernen. Lust auf das Programmierpraktikum C hätte ich aber schon noch. Ich habe mich nämlich sehr an die objektorientierte Denkweise gewöhnt. Da würde ich gerne mal erleben, wie ich ohne diesen "Luxus" auskomme. Mal schauen, ob mir im nächsten Semester Luft für solche Extratouren bleibt. Im Vergleich zu den Kursen bei Springer Campus (aber auch zur WINGS) ist man bei der VHB mehr auf sich gestellt. Es gibt eine tutorielle Betreuung, aber sie fällt im Vergleich recht knapp aus. Man merkt, dass hier viele Studierende betreut werden. Die VHB bietet einen strukturierten Rahmen, in dem man etwas anspruchsvolles Lernen kann. Aber man muss schon sehr selbstständig arbeiten. Dafür sind die Kosten sehr moderat. Der Begriff "lebenslanges Lernen" wird in den Medien oft im Zusammenhang mit älteren Arbeitnehmern gebraucht, die auf dem Arbeitsmarkt konkurrenzfähig bleiben sollen. Lebenslanges Lernen meint also meist berufliche Weiterbildung. Man kann lebenslanges Lernen aber auch breiter Denken; nämlich als lebenslange Freude an neuer Erkenntnis und an Wissenschaft. Die VHB ist auf jeden Fall etwas, das ich im Hinterkopf behalten möchte, auch für die Zeit nach meinem Fernstudium.
  21. Eine Vermittlung von R parallel zu den statistischen Inhalten fände ich ideal, weil ich glaube, dass es mein Verständnis für die mathematischen Grundlagen noch einmal vertiefen würde. Es gibt ja von Allen B. Downey das kleine, feine Buch "Statistik-Workshop für Programmierer". Die Grundidee ist, dass Studierende die statistischen Konzepte aus einer algorithmischen Perspektive kennenlernen. Und das man bei dieser Art der Vermittlung mehr mit dem Stoff spielen und experimentieren kann. Eingesetzt wird Python und man arbeitet mit einer echten Datenbasis aus einer Studie zum Familienwachstum in den USA. In dem Buch sind auch viele Übungsaufgaben. Da soll dann in der Regel ein Skript geschrieben werden, das ein bestimmtes statistisches Problem löst. Gefällt mir gut, der Ansatz. Ich habe beim Statistik-Modul der W3L gelegentlich auch kleine Java-Programme geschrieben, weil ich manchmal viel manuelle Rechenarbeit mit dem Taschenrechner hatte und sich dann kleine Fehler beim Eintippen der Werte fortgepflanzt haben. Da war ich dann manchmal genervt und habe mir was kleines geschrieben, was auch Zwischenergebnisse ausgibt, so dass ich nachvollziehen konnte, wo in meiner manuellen Rechnung der Fehler auftrat. Oder es diente mir als Kontrolle vor dem Einsenden, ob das, was ich händisch ausgerechnet hatte, auch stimmen konnte. Abgesehen von dem oben erwähnten Buch von Allen B. Downey gibt es viele sehr gute Materialien zum Thema softwaregestützte Statistik und Datenanalyse. Gut gefällt mir zum Beispiel "R: Einführung durch angewandte Statistik" von Hatzinger, Hornik, Nagel und Maier. Das ist wesentlich umfangreicher als das knappe Büchlein von Downey. Auch hier werden die statistischen Konzepte parallel zu einer Programmiersprache - hier eben R - vermittelt. Aber schöner wäre schon, so etwas als richtiges Modul mit Prüfung am Ende zu belegen. Das wäre einfach noch mal ein äußeres Ziel, auf das man hinarbeiten könnte. Wo einem am Ende auch jemand sagt: "Ich hab mir angeschaut, was du gelernt hast, und ich denke, du hast es verstanden." Unsere örtliche Uni bietet über ihr Rechenzentrum einen einführenden Kurs in R an. Ist natürlich Präsenz, aber das ist ein recht kompaktes Format, nämlich ein paar Nachmittage am Stück. So etwas könnte ich evtl. mit meiner Berufstätigkeit vereinbaren. Allerdings scheinen diese Kurse sehr gefragt zu sein. Für dieses Semester ist schon alles ausgebucht.
  22. Als Sekundärliteratur habe ich diesen Titel verwendet: Schneier, Bruce (2005), Anwandte Kryptographie, Pearson Studium Das ist ein ziemlich dicker Schinken. Habe ich eher zum Nachschlagen verwendet oder wenn ich die gleiche Sache noch mal anders erklärt haben wollte. Die mathematische Seite wird hier meist noch etwas expliziter und ausufernder behandelt.
  23. Mir hat das eigentlich Spaß gemacht, auch die mathematischen Aspekte. Die waren durch das Modul "Angewandte Mathematik" ja auch schon ganz ordentlich vorbereitet. Allerdings muss ich mich jetzt auch wieder anderen Themen zuwenden. Ich möchte jetzt mit "Softwaretechnik 2" weitermachen. Da geht es um Requirements Engineering. Außerdem belege ich "Web-Anwendungen 2". Da geht es um serverseitige Web-Programmierung mit Java Server Pages. Vielen meiner Kommilitonen wäre PHP lieber. Ich nehm das jetzt einfach mal, wie es kommt. Das Modul ist Pflicht, also kann ich mir zwar alles mögliche wünschen, aber machen muss ich es halt trotzdem.
  24. Nein, leider nicht. Grundsätzlich finde ich es schon gut, dass es in diesem Modul erst mal darum ging, das mathematische Fundament zu legen. Gut fände ich jetzt, wenn es auf dieser Grundlage ein aufbauendes Modul zur Datenanalyse mit R, zur Statistik-Programmierung oder zur Datenvisualisierung gäbe. So etwas hat Springer Campus leider bislang nicht im Angebot. Ich habe mich auch schon umgeschaut, ob man so etwas an anderer Stelle machen könnte. Bislang habe ich leider noch nichts passendes gefunden. Kaiserslautern hat ein Modul "Datenanalyse mit R" im Wahlbereich. Leider ist das Timing der Präsenzveranstaltungen für mich sehr ungünstig, weil sich das mit Präsenztagen in Dortmund beißt. Gerade R würde mich sehr interessieren.
  25. Das Modul "IT-Sicherheit" ist ein Pflichtmodul im Studiengang "Web- und Medieninformatik" und wird dort dem Studienbereich "IT-Systeme" zugerechnet. Laut Studienplan wird es für das 3. Semester empfohlen. Als sinnvolle Vorbereitung werden die Module "Angewandte Mathematik" und "Computernetze" genannt. Dieser Empfehlung möchte ich mich anschließen. Wer Computernetze noch nicht belegt hat, dürfte es schwierig finden, den Kapiteln zur Sicherheit in Netzen zu folgen. Ein grundlegendes Verständnis für die im Internet üblichen Protokolle und sowie Kenntnis der OSI-Referenzmodells sowie des TCP/IP-Referenzmodells ist nötig. Dies wird zwar im Kurs noch einmal kurz behandelt, hätte mir aber in der knappen Form nicht gereicht, um die darauf aufbauenden Ausführungen zu verstehen. Mathe3 ist hilfreich, weil dort eine Einführung in kryptographische Basistechniken gegeben wird und einige kryptographische Verfahren auch schon recht detailliert behandelt werden. Als Beispiele seien hier die asymmetrische Verschlüsselung mit RSA sowie der Schlüsseltausch nach Diffie-Hellman genannt. Diese Themen werden zwar auch im Modul "IT-Sicherheit" genau erklärt, aber die mathematischen Grundlagen werden in Mathe3 ausführlicher behandelt und man hat in den Übungsaufgaben die Chance, aktiv damit zu arbeiten und ein "Gefühl" für diesen Stoff zu bekommen. Studierende im Studiengang "Wirtschaftsinformatik" müssen "IT-Sicherheit" nicht belegen, dürfen es aber als Vertiefungsmodul belegen. Da Sicherheit im Internet und im Intranet von Firmen und Organisationen angesichts immer raffinierterer Bedrohungen immer wichtiger wird, halte ich es für sehr sinnvoll, gerade dieses Modul in seinen Studienplan aufzunehmen. Dafür muss man allerdings in Kauf nehmen, dass die 5 ECTS bei diesem Modul ein bisschen mühsamer erarbeitet werden müssen als in den meisten anderen Modulen. Auch wenn die mathematischen Grundlagen in Mathe3 gelegt wurden: IT-Sicherheit hat viel mit Kryptographie zu tun und Kryptographie hat viel mit Mathematik zu tun. Für ideal hielte ich, wenn der zeitliche Abstand zu Mathe3 und Computernetze nicht zu groß wäre. Manche Kommilitonen, die IT-Sicherheit lange nach diesen beiden Modulen belegt hatten, klagten darüber, wie schwer es ihnen gefallen war, den inhaltlichen Bezug wieder herzustellen. Grundlage für den Kurs ist das Buch "IT-Sicherheit" von Werner Poguntke. Es ist mit knapp 300 Seiten ein bisschen dünner als das durchschnittliche Lehrbuch der W3L. Wie bei vielen Lehrbüchern mit mathematischem Inhalt, wird hier auf knappen Raum viel ausgedrückt. Man sollte also nicht erwarten, diesen Kurs besonders schnell durcharbeiten zu können. Dies gilt insbesondere für das zweite Kapitel, in dem die kryptographischen Verfahren und Protokolle vorgestellt werden. Diese knapp 100 Seiten bilden das Fundament, auf dem die folgenden Kapitel zur Computersicherheit und zur Sicherheit in Netzen aufbauen. Hier wird man am meisten Arbeit investieren müssen. Die gute Nachricht: Hat man diese schwere Kost verdaut, ist der Rest des Kurses schon fast ein nettes kleines Dessert. Es ist erstaunlich, wie schnell man begreift, wenn die theoretische Grundlage erst mal da ist. Das Buch finde ich hervorragend geschrieben. Besonders gefällt mir am Stil des Autors, dass er innerhalb des Buches inhaltliche Bezüge herstellt, indem er sowohl auf folgende Kapitel und Abschnitte verweist, die auf dem aktuellen Thema aufbauen werden, als auch auf vorangehende Abschnitte zurück verweist. So weiß man einerseits, wofür der aktuelle Stoff später nützlich sein wird; und andererseits, wo man noch einmal nachschlagen müsste, wenn man etwas vergessen hat. Letzteres ginge natürlich auch mit dem Index, aber so kann man viel schneller arbeiten. Gerade Gliederung und Aufbau des Stoffes finde ich sehr gelungen. In meinen Augen eines der besten Lehrbücher im Studiengang. Nach dem einführenden ersten Kapitel steigt im zweiten Kapitel "Kryptologische Verfahren und Protokolle" das Niveau rasch an. Hier geht es um: - symmetrische Verschlüsselungsverfahren wie DES, 3DES und AES - Stromchiffren wie z.B. der im Mobilfunk verwendete A5 - asymmetrische Verschlüsslung z.B. mit RSA oder mit elliptischen Kurven - Digitale Signaturen - kryptographische Hashfunktionen, wie z.B. SHA - Zero-Knowledge-Protokolle - Fiat-Shamir-Algorithmus - Schlüsselmanagement und Schlüsseltausch, z.B. nach Diffie-Hellman - Zertifikate - Kryptoanalyse - Steganographie und digitale Wasserzeichen Die Aufgaben für diesen Kursteil können relativ schwierig sein, weil es hier schon recht mathematisch zugehen kann. Reine Reproduktion genügt hier oft nicht. Hier können auch mal eigene Ideen gefragt sein, wenn z.B. ein Beweis geführt werden soll. Im dritten Kapitel "Computersicherheit" geht es z.B. um: - Ansätze der Zugangskontrolle - Authentifikation durch Wissen - Sichere Passwörter - Authentifikation durch Besitz, z.B. Smartcards - Authentifikation bei GSM - Authentifikation durch biometrische Merkmale - Authentifikation in verteilten Systemen - Kerberos - Zugriffkontrolle, z.B. bei UNIX - Sicherheit von Betriebssystemen - Trusted Computing, also den Versuch Sicherheit in die Hardware zu verlagern - Softwaregesteuerte Angriffe - Viren, Würmer, Trojaner, Malware - Sichere Software - Sicherheit in eingebetteten Systemen Mit den fachlichen Grundlagen aus dem anstrengenden zweiten Kapitel kann man sich diese Themen überraschend leicht erarbeiten. Hier merkt man, dass das didaktische Konzept gut funktionert. Im vierten und letzten Kapitel "Sicherheit in Netzen" geht es dann um: - Firewalls, Paketfilter, Identifizierung von Angreifern - Sicherheit auf den verschiedenen Schichten des Internets, also auf der... - IP-Schicht mit IPSec - TCP-Schicht z.B. mit SSH und SSL - auf der Anwendungsschicht, z.B. beim Remote Terminal Access oder beim File Transfer - Sicherheit von E-Mails - Sichere Webanwendungen - Sicherheit in GSM-Netzen - Smartphones und Appstores - Anonymität in Netzen und das Mix-Konzept - Sicherheit im Intranet - ARP-Poisoning - WLAN, Bluetooth und VoIP Dieses Kapitel ist wieder ein bisschen schwieriger, weil man sich an diverse technische Details aus dem Modul "Computernetze" erinnern musss. Auf der anderen Seite ist es besonders spannend, weil jeder, der sich im Internet bewegt, sich auch mit Fragen der Sicherheit befassen muss. Hier sind bei mir - wieder auf der Grundlage des zweiten Kapitels - einige Groschen gefallen. Die Einsendeaufgaben decken den Inhalt des Kurses recht breit ab. Sie sind recht unterschiedlich. Es gibt Reproduktionsaufgaben aber auch solche, wo man ein bisschen programmieren muss. Man experimentiert mit Wireshark und soll dann wieder ein Thema selbstständig im Netz recherchieren, dass im Kurs nicht abgedeckt ist. Die Rückmeldungen zu den Aufgaben kamen zügig und waren vor allem dann sehr interessant, wenn nicht alles richtig war. Mein Tutor versuchte, mich mit ein Hinweisen zum selbstständigen Weiterdenken anzuregen. Bei den Aufgaben zum mathelastigen zweiten Kapitel ist es mir leider nicht immer gelungen, diese Tipps zu verwerten. Hier spielte sicher auch mein Wunsch eine Rolle, zügig weiter zu kommen. Im Hinblick auf die Klausur wäre es vorteilhaft gewesen, mich auf diese Anregungen zum Weiterarbeiten einzulassen. Die Präsenzklausur fand ich sehr gut gestellt. Es gab einen Sockel von Aufgaben, die eher auf Reproduktion des gelernten hinausliefen, so dass jeder eine realistische Chance hat, das Modul durch Fleiß zu bestehen. Es gab aber auch eine größere Aufgabe, bei der Problemlösen und eigenes Denken gefragt war. Wer gut abschneiden will, muss sich also aktiv mit dem Stoff auseinander setzen. Die beste Vorbereitung sind hier die schwierigeren Einsendeaufgaben. Mit den Rückmeldungen des Tutors sollte man sich aktiv auseinandersetzen und seine Lösungen noch mal "polieren bis sie glänzen". Das hätte mich noch ein bisschen weiter gebracht. Der Abschluss-Test ist machbar, wenn man die Tests aus dem Modul gut wiederholt. Auch in der Online-Klausur wird nichts unmögliches verlangt. Mit ihr kann man gut ein paar Bonuspunkte sammeln. Der Schwierigkeitsgrad ist aus meiner Sicht etwas niedriger als in der Präsenzklausur. Das Modul hat mir viel Spaß gemacht und ich verstehe nun einige Dinge besser, die im Hintergrund ablaufen, wenn ich z.B. online eine Überweisung tätige oder meine SIM-Karte in ein neues Handy einlege. IT-Sicherheit ist ein vergleichsweise schwieriger Kurs, der die Mühe wert ist.
×
  • Neu erstellen...