Zum Inhalt springen

kurtchen

Communitymitglied
  • Gesamte Inhalte

    879
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von kurtchen

  1. 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.
  2. 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.
  3. Operations Research oder im engeren Sinne Lineare Optimierung wäre noch interessant gewesen. Wobei das eher in ein Studium der Wirtschaftsinformatik passen würde.
  4. 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.
  5. 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...
  6. 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.
  7. 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.
  8. 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)
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. Bislang war ich von allen Mathematik-Modulen bei Springer Campus begeistert. An Mathe 1 "Mathematisch-logische Grundlagen der Informatik" habe ich vor allem die sehr intensive Betreuung durch meinen Tutor geschätzt. Das war gerade bei meinem ersten Mathe-Modul sehr hilfreich war. An Mathe 2 "Lineare Algebra" und "Analysis" und Mathe 3 "Angewandte Mathematik" gefielen mir die sehr guten PDF-Tools von Herrn Lenze, mit denen man sich selbst nach Bedarf Übungsaufgaben generieren konnte. Die Messlatte für das letzte Mathematik-Modul "Statistik" lag also schon ziemlich hoch. Nachdem ich diesen Kurs am letzten Freitag abgeschlossen habe, kann ich sagen: Das beste kommt zum Schluss. Auf das Modul Statistik war ich... sagen wir mal gespannt. Ich gehöre ja zu denen, die Mathematik zu Schulzeiten mochten. Aber mit Statistik habe ich mich tatsächlich in der Schule nie beschäftigt. Nicht mal mit Wahrscheinlichkeitsrechnung. In der Mittelstufe legte unser Lehrer das Thema immer ans Ende des Schuljahres, weil er es für unwichtig hielt. Und Jahr für Jahr kamen wir mit dem Stoff nicht schnell genug voran, so dass es am Ende wegfiel. In der Oberstufe war in meinem Bundesland Analysis für alle Abiturienten Pflicht. Außerdem konnte wahlweise Statistik oder Lineare Algebra mit analytischer Geometrie behandelt werden. An meiner Schule wurde nur lineare Algebra angeboten. Das war natürlich eine gute Grundlage für das Modul Mathe 2. Aber was Statistik angeht, hatte ich tatsächlich nur ganz geringe Vorkenntnisse. Dabei spräche vieles dafür, gerade dieses Gebiet der Mathematik im Schulunterricht zu betonen. Analysis und lineare Algebra sind wichtig in technischen und naturwissenschaftlichen Studiengängen. Statistik braucht man in Biologie und Medizin, in den Wirtschaftswissenschaften und in allen Sozialwissenschaften. Und wenn Geisteswissenschaftler überhaupt Mathematik brauchen, so ist es wohl Statistik. Wer Nachrichten schaut oder Zeitung liest, ist laufend mit Statistiken konfrontiert. Statistische Grundkenntnisse müssten eigentlich zur Allgemeinbildung gehören. Last but not least ist die Statistik der Teil der Mathematik, der sich mit dem Ungewissen und Unpräzisen beschäftigt, während die meisten anderen Gebiete der Schulmathematik den Eindruck erwecken, Mathematik handele allein vom Exakten. Ich war also sehr neugierig darauf, diese Lücke meiner Bildungsbiographie zu schließen. Das Lehrbuch "Basiswissen Statistik" von Michael Müller und Werner Poguntke ist Grundlage für diesen Kurs. Es hat an die 180 Seiten, was für ein Modul bei Springer Campus sehr wenig ist. Wie schon bei den anderen mathematischen Kursen ist die Informationsdichte sehr hoch. Die 180 Seiten erfordern durchaus vergleichbar viel Arbeit wie 500 Seiten Software-Engineering. Das Buch ist aber keine reine Formel- und Beweisorgie. Anwendungsbeispiele zu allen Themen machen dieses Buch besonders lebendig und praxisnah. Man merkt, dass Statistik ein Fach ist, dass man in vielen Wissens- und Lebensbereichen brauchen kann. Während in anderen Mathematik-Modulen die Anwendungsbeispiele gelegentlich ein bisschen konstruiert wirkten, konnte man hier immer gleich den Nutzen des ganzen erkennen. Wie schon beim Lehrbuch "IT-Sicherheit" hat Herr Poguntke auch hier viele Verweise innerhalb des Buches eingebaut. Er verweist auf künftige Kapitel, in denen ein aktuell behandeltes Thema noch einmal relevant werden wird. Und er verweist auf vorangegangene Kapitel, in denen man Grundlagen für den aktuellen Stoff noch einmal nachlesen kann. Das hat mir sehr geholfen, die Bezüge zwischen den Kursthemen zu erkennen und den Stoff im Zusammenhang zu denken. Darum bin ich der Meinung, "Basiswissen Statistik" ist das beste unter den guten Mathematik-Lehrbüchern im Studiengang. Lehrbuch, Online-Tests und Übungsaufgaben sind in diesem Modul besonders gut aufeinander abgestimmt. Es gibt Übungsaufgaben zu allen Themen des Kurses. PDF-Tools, mit denen man sich selbst neue Aufgaben generieren kann, gibt es in diesem Kurs leider nicht. Ich habe aber festgestellt, dass das Übungsmaterial genügt, um sich gut auf die Prüfung vorzubereiten. Der Kurs zerfällt im wesentlichen in zwei Teile: - deskriptive Statistik - induktive Statistik Der Unterschied ist folgender: In der deskriptiven Statistik habe ich eine vollständige Sammlung von Daten oder Werten, die ich verdichten möchte, um eine allgemeine Aussage zu treffen. Aus dem Alltag geläufig ist zum Beispiel der Durchschnitt, der in der deskriptiven Statistik Mittelwert heißt. Er fasst zum Beispiel alle Noten eines Studium in einem Wert zusammen. In der induktiven Statistik habe ich eine Stichprobe, von der ich auf eine Gesamtmenge schließen möchte. Es gibt Millionen Wahlberechtigte Bürger, aber befragt habe ich nur ein paar Tausend. Nun möchte ich eine Prognose abgeben, wie die Wahl ausfallen wird und ich möchte abschätzen können, mit welcher Wahrscheinlichkeit meine Prognose zutrifft. Kennzeichnend für die induktive Statistik ist also, dass... ... mir ein großer Teil der relevanten Daten unbekannt ist. ... ich wahrscheinlichkeitstheoretische Überlegungen anstellen muss. Themen in der deskriptiven Statistik sind: - Lage- und Streuungsmaße - Graphische Darstellungen von Häufigkeiten - Konzentration und Disparität - Lorenzkurve - Konzentrationskoeffizient nach Gini - Messzahlen und Indizes - Geometrisches Mittel - Zusammenhangsanalyse - Kreuztabellen - Unabhängigkeit und Kontingenzmaße - der Korrelationskoeffizient nach Pearson und nach Spearman - Lineare Regression - Zeitreihenanalyse Die Themen sind sehr lebensnah präsentiert. Mathematisch ist relativ leicht nachzuvollziehen, was hier geschieht. Dieser Teil des Kurses ist vergleichsweise einfacher. Wer sich mit Mathematik schwer tut, sollte sich auf diesen Teil konzentrieren, weil man hiermit in der Klausur einen guten Punktesockel aufbauen kann, so dass man zumindest nicht durchfällt. Die induktive Statistik ist ein bisschen schwieriger und mathematisch raffinierter. Im Grunde wird die Sache in drei Schritten aufgebaut: 1. Die Kombinatorik handelt davon, auf wieviele Arten man aus Mengen etwas auswählen kann. Ein aus dem Alltag bekanntes Beispiel ist die Ziehung von 6 Lottozahlen aus 49. 2. Die Wahrscheinlichkeitsrechnung weist auf dieser Grundlage bestimmten Ereignissen und Kombinationen von Ereignissen eine Zahl zwischen 0 und 1 zu, die man Wahrscheinlichkeit nennt. Was genau eine Wahrscheinlichkeit ist, bleibt letztlich eine philosophische Frage. (Psychologisch interessant ist, dass man beim Umgang mit Wahrscheinlichkeiten leicht in gewisse "kognitive Tunnel" rennt. Das sind Irrwege des Denkens, die einem zeigen, dass man leider gerade im praktisch relevanten Gebiet der Wahrscheinlichkeitsrechnung nicht gut beraten ist, auf Intuition zu setzen. Die Autoren präsentieren in diesem Zusammenhang ein paar interessante Paradoxien, z.B. das Simpson Paradox. Dieses wird im Lehrbuch anhand von zwei Gruppen präsentiert, in denen der Anteil der nichtrauchenden Männer höher ist als der der nichtrauchenden Frauen. Vereint man diese beiden Gruppen zu einer, so ist der Anteil nichtrauchender Frauen höher. Das überrascht und verwirrt, auch wenn man alles wiederholt nachrechnet.) 3. Auf der Grundlage von Kombinatorik und Wahrscheinlichkeitsrechnung beschäftigt man sich nun mit verschiedenen Wahrscheinlichkeitsverteilungen, von denen die bekannteste die Standard-Normalverteilung ist. Sie ist auch als Glockenkurve bekannt. Normalverteilungen sind deshalb so nützlich, weil dort, wo sich viele zufällige Phänomene überlagern, regelmäßig eine Normalverteilung zu beobachten ist. Themen in der induktiven Statistik sind: - Kombinatorik - Rechnen mit Wahrscheinlichkeiten - Bedingte Wahrscheinlichkeiten - Kontingenztabellen und Wahrscheinlichkeitsbäume - die Bayes-Formel - Gemeinsame Wahrscheinlichkeiten - Zufallsvariablen - Bernoulli-Verteilung - Binomial-Verteilung - Hypergeometrische Verteilung - Poisson-Verteilung - Stetige Verteilungen - Exponential-Verteilung - Normalverteilung - t-Verteilung - zentraler Grenzwertsatz - Approximation mit der Normalverteilung - Schätzen und Testen - Schätzung unbekannter Parameter - Testverfahren Es folgt ein knappes Kapitel über Statistik mit Rechnern, das aber nicht klausurrelevant ist. In diesem Kurs lernt man, Statistik sozusagen mit Papier und Bleistift zu treiben. Dabei merkt man durchaus, dass viel mechanische Rechenarbeit anfällt. Aus diesem Grund darf in der Klausur ein nicht-programmierbarer Taschenrechner verwendet werden. Wer einmal erlebt hat, wie viel Mühe es macht, eine größere Menge von Messwerten zu verdichten, der kommt schnell auf die Idee, das man das mit Software automatisieren müsste. Das ist allerdings nicht mehr Thema dieses Moduls. Die Betreuung durch meinen Tutor war auch in diesem Mathematik-Modul hervorragend. Die Rückmeldungen kamen schnell. Spannend wurde es gerade dann, wenn ich nicht alles richtig hatte. Hier gab es dann Anregungen, wie man doch noch selbst auf die richtige Lösung kommen konnte. Einmal bin ich in einen der besagten kognitiven Tunnel getappt, so dass ich alles richtig gerechnet und am Ende doch die falschen Schlüsse gezogen habe. Das war ein recht witziger Austausch, bis bei mir endlich der Groschen fiel. (Kurz gesagt, bin ich auf eine Variante des bekannten "Ziegenproblems" reingefallen. Wer das nicht kennt, einfach mal googlen.) Der Online-Test und die Online-Klausur waren beide gut machbar, wenn man seine "Hausaufgaben" erledigt hatte. Hier konnte man sich noch mal ein kleines Bonuspunktepolster für die Klausur erarbeiten. Geschenkt bekommt man es aber nicht. Die Online-Klausur gibt einen realistischen Vorgeschmack auf das Niveau der Präsenzklausur. Schwierig für mich war: Mein gewohnter Taschenrechner ist programmierbar und funktioniert mit RPN-Logik. Für die Klausur musste ich mir den Taschenrechner meiner Tochter ausleihen. Es hat mich tatsächlich ausgebremst, ständig suchen zu müssen, wo welche Taste ist. Mal schauen, wie verheerend sich das ausgewirkt hat. Unterm Strich ist das aber eine faire Klausur, die die Themen des Kurses breit abdeckt. Man hat ein bisschen Zeitdruck, kann aber alles schaffen, wenn man ordentlich vorbereitet ist. Damit wäre nun der Studienbereich Mathematik abgeschlossen. Was mir jetzt noch gefallen würde, wäre ein aufbauendes Modul zur Statistik mit Rechnern. Ich denke zum Beispiel an Datenanalyse mit R oder Statistik-Programmierung mit Python. (Da gibt es ein tolles Buch von Allen B. Downey.) Auch ein Modul zur Datenvisualisierung fände ich für einen Studiengang Web- und Medieninformatik ziemlich cool. Gibt es leider bislang nicht, aber ein paar Wünsche dürfen ja noch offen bleiben.
  16. Das Modul "Mobile Computing" kann als eines von drei Vertiefungsmodulen im Studiengang Web- und Medieninformatik gewählt werden. Springer Campus schlägt vor, es in den letzten beiden Semestern zu belegen. Gleich vier Module werden als sinnvolle Vorbereitung genannt: - Grundlagen der Informatik 1 - Grundlagen der Informatik 2 - Web-Programmierung - Web-Design und Web-Ergonomie Der Grund dafür ist der siebte Kursabschnitt "Programmierung für mobile Endgeräte", der eine Einführung in die Android-Programmierung gibt. Um hier folgen zu können, benötigt man Grundkenntnisse der objektorientierten Programmierung in Java. Die Layouts für die GUIs werden mit XML beschrieben. Darum sind Vorkenntnisse in Web-Programmierung von Vorteil. Für Studierende im Studiengang "Wirtschaftsinformatik" ist "Mobile Computing" ein Pflichtmodul und wird dem Studienbereich "Grundlagen der Informatik" zugerechnet. Für die Web- und Medieninformatiker gibt es zwei gute Gründe, ausgerechnet dieses Modul als Vertiefung zu belegen: Es ist Pflichtmodul für die Hochschulzertifikate "Anwendungs-Programmierer" und "Software-Architekt", die als Meilensteine auf dem langen Weg zum Bachelor dienen können. Ich persönlich hätte erwartet, dass es in diesem Modul vorwiegend um Android-Programmierung gehen würde. Tatsächlich nimmt diese aber nur einen relativ kleinen Teil des Kurses ein. Hier wird eher ein Einblick gegeben, der meiner Meinung nach noch nicht ausreicht, um wirklich loszulegen. Es ist allenfalls ein Einstieg und man wird auf jeden Fall vertiefende Literatur benötigen, um Fortschritte zu machen. Tatsächlich geht es in diesem Modul allgemein um mobile Rechner, die vernetzt sind und standortbezogene Informationen einbeziehen. Das Smartphone ist dafür nur das prominenteste Beispiel. Mobile Computing ist etwas schneller durchgearbeitet als andere Module bei Springer Campus. Das Lehrbuch hat lediglich 200 Seiten, wenngleich diese ein bisschen größer ausfallen als bei anderen Lehrbüchern und auch ein bisschen enger bedruckt sind. Das Lehrbuch wird ergänzt durch 84 Tests und 12 Einsendeaufgaben, von denen lediglich eine mit Android-Programmierung zu tun hat. Die meisten Aufgaben haben eine Art Aufsatzform. Es sind oft Texte bei denen man etwas abwägen muss. So soll man z.B. entscheiden, ob man für einen bestimmten Einsatzzweck einem Android- oder IOS-Gerät den Vorzug geben würde, ob man ein bestimmtes Projekt nativ oder plattformübergreifend entwickeln würde oder was für Sicherheitsmaßnahmen man für die Handynutzung eines hochrangigen Politikers für nötig erachtet. Diese Art der Aufgaben, bei denen man in erster Linie Text produziert, fällt etwas aus dem Rahmen, den ich im Studium sonst gewohnt bin. Die Rückmeldungen meines Tutors kamen in diesem Modul sehr zügig. Die 7 Kapitel decken folgende Themen ab: 1. Was ist mobile Computing? Hier geht es auch um technische Meilensteine auf dem Weg zum mobile Computing. 2. Mobile Geräte. Hier werden verschiedene Mobiltelefon-Plattformen vergleichend betrachtet. Obwohl die zweite Auflage des Lehrbuches von 2015 ist, merkt man hier deutlich, dass der Markt sich rasant weiterentwickelt. So werden z.B. die Vorzüge von Blackberry diskutiert, was ja mittlerweile Geschichte ist. 3. Hardware für mobile Geräte: Hier erfährt man etwas über die Besonderheit von Prozessoren für mobile Geräte, aber auch über Akkutechnik und Grafikhardware. 4. Drahtlose Kommmunikation: Hier beschäftigt man sich mit verschiedenen Mobilfunkstandards, mit Formen der Modulation und des Multiplexings, mit WLAN, Bluetooth aber auch mit Nahfeldkommunikation mit RFIDs. 5. Location Based Services: Hier geht es um verschiedene Verfahren der Positionsbestimmung per Satellit (GPS) oder gestützt durch stationäre Netze (Handynetze oder auch WLAN-Accesspoints). Außerdem geht es um Techniken zur Positionsbestimmung in Gebäuden. 6. Sicherheit für mobile Geräte und mobile Kommunikation: Aus meiner Sicht das interessanteste Kapitel. Hier werden verschiedene Bedrohungsszenarien für mobile Geräte vorgestellt und die Wirksamkeit von Gegenmaßnahmen erörtert. 7. Programmierung für mobile Endgeräte: Ich hätte erwartet, dass es nun endlich um Android-Programmierung geht. Aber hier spielten zum Beispiel auch Besonderheiten des UI-Designs für mobile Geräte eine größere Rolle, unabhängig von bestimmten Platformen. Im Schnelldurchgang lernt man dann, wie man ein einfaches GUI programmiert, Positionsbestimmung nutzt und Google Maps in eine eigene Applikation einbindet. Auch persistente Datenspeicherung - unter anderem mit SQLite - wird knapp behandelt. Obwohl ich noch nicht weiß, wie ich in der Klausur abgeschnitten habe, würde ich sagen, dass dies einer der leichtesten Kurse im Angebot von Springer Campus ist. Das berichten mir auch immer wieder Kommilitonen. Mobile Computing gilt als ein Modul, mit dem man seinen Notendurchschnitt etwas verbessern kann. Bei mir hinterlässt das Modul einen gemischten Eindruck. Viele Inhalte könnten einem durchaus geläufig sein, wenn man regelmäßig Meldungen bei Heise oder Golem verfolgt. Mir fehlte hier das Erlebnis, ab und zu auch mal eine richtige harte Nuss knacken zu müssen. Auch die Abschlussklausur fiel etwas aus dem Rahmen. Sie besteht aus ungewöhnlich vielen Fragen, bei denen in erster Linie Faktenwissen abgeprüft wird. Selbstständiges Problemlösen steht bei dieser Klausur nicht im Mittelpunkt. Kann man so machen, aber ich persönlich bevorzuge Aufgaben, bei denen mehr Kreativität gefragt ist. Weil ich es insgesamt ein bisschen zu einfach fand und mir die echte Herausforderung fehlte, würde ich dieses Modul nur solchen Studierenden empfehlen, die - so wie ich - eines der Hochschulzertifikate als Etappenziel und kleinen Motivationskick in den Händen halten wollen. Wer eine gründliche Einführung in die Android-Programmierung sucht, wird sich an anderer Stelle umsehen müssen. Wegen Umfang, Schwierigkeitsgrad und dem sehr hohen Rückmeldetempo des Tutors ist Mobile Computing ein Modul, dass man sich für Situationen aufsparen könnte, in denen die Zeit fürs Studium knapp ist und man trotzdem zum nächsten Prüfungstermin noch etwas abschließen möchte. Solche Situationen, in denen Arbeit oder Familienleben einem kaum Zeit zum Studieren lassen, kennt wohl jeder Fernstudent. Da ist es vielleicht ganz schön, wenn es im Studium auch ein Modul gibt, dass man sozusagen "als Joker" spielen kann.
  17. Sehr gute Darstellung. Ich glaube zwar nicht, dass ich die Puste habe, in meinem Leben noch mal eine Promotion zu machen, aber zumindest weiß ich nun etwas besser, was nötig wäre, um diese Option zu haben. Vielen Dank!
  18. Solche Vergleiche sollte man natürlich nicht überbewerten. Ich habe an der WINGS ja lediglich EIN Modul kennengelernt. Und das war auch noch eines, das mich inhaltlich sehr interessiert hat. Aber es war schon interessant, mal einen kleinen Einblick zu bekommen, wie es an einer anderen FH läuft. Ich fühle mich auf jeden Fall ermutigt, so etwas zu wiederholen, falls ich wieder einmal ein interessantes Angebot sehe.
  19. Wenn ich schon auf Master-Niveau wäre, würde ich mir wahrscheinlich auch mal das Modul "Automatentheorie" aus dem Weiterbildungsmaster Informatik der HS Trier anschauen. Das ist auf 10 ECTS angelegt und basiert auf dem Lehrbuch "Grundkurs theoretische Informatik" von Vossen und Witt. Die Themen sind im Prinzip die gleichen, aber es scheint mathematisch noch etwas tiefer zu gehen. Ist ja auch mehr Zeit angesetzt. Das hätte mich auch interessiert, aber das hätte ich zeitlich parallel zum Bachelorstudium nicht geschafft. In erster Linie wollte ich ja die Voraussetzungen schaffen, um im nächsten Semester "Künstliche Intelligenz" belegen zu können.
  20. Wie ich zur theoretischen Informatik kam In meinem Modulbericht zu GdI4 "Algorithmen und Datenstrukturen" hatte ich es schon einmal erwähnt: Ich wollte gerne ein Modul "Künstliche Intelligenz" belegen, was Springer Campus leider bislang so nicht anbietet. Die WINGS Wismar hat ein sehr schönes KI Modul, in dem sowohl klassische KI und als auch künstliche neuronale Netze behandelt werden. Das gefiel mir und so schrieb ich Professor Cleve an, der für dieses Modul zuständig ist und auch das zugrunde liegende Lehrbuch geschrieben hat. Ihn fragte ich, ob ich dieses Modul als Gast- oder Zweithörer belegen könne. Und was gegebenenfalls für Vorwissen nötig sei. Herr Cleve empfahl mir, zunächst Kenntnisse in theoretischer Informatik zu erwerben und hatte auch gleich das passende Modul, das ebenfalls von ihm betreut wurde. So kam es, dass ich mich als Gasthörer bei der WINGS anmeldete. Organisatorisches Die Anmeldung unterscheidet sich bei der WINGS ein wenig von Springer Campus, weil man sich für ein bestimmtes Semester anmelden muss. In diesem Semester soll man auch die Modulprüfung ablegen. Für die Prüfung stehen mehrere Termine zur Verfügung, die allerdings an verschiedenen Standorten angeboten werden. Will man zu einem anderen Termin in die Prüfung gehen, so muss man in der Regel auch einen anderen Standort anfahren. Das Studienbüro ist gut erreichbar und bei organisatorischen Fragen sehr hilfreich. Als Gasthörer hatte ich immer wieder mal eine organisatorische Frage, weil ich mit den Abläufen noch nicht so vertraut war. Etwas verwirrend für mich: Während Springer Campus EINE Online-Plattform für den Studiengang hat, gibt es an der WINGS mehrere: StudIP, Ilias, den OnlineCampus, Wistu und wie sie alle heißen. Es dauerte eine ganze Weile, bis ich halbwegs begriffen hatte, wo ich welche Informationen finde. Das Modul "Theoretische Informatik" Grundlage für das Modul ist das in meinen Augen hervorragende Skript von Professor Jürgen Cleve. Er lehrt an der HS Wismar Grundlagen der Informatik und Künstliche Intelligenz. Sein Skript besteht aus an die 130 Seiten im A4-Format. Wenn man Anhänge, Verzeichnisse und Index abzieht, bleiben ca. 120 Seiten reiner Stoff. Die haben es allerdings ziemlich in sich, weil die Ausdrucksform mathematisch knapp ist, man also mit wenigen Symbolen viel ausdrücken kann. Diese 120 Seiten liest man also nicht mal eben so runter. Mehr als 2-4 Seiten pro Tag waren bei mir selten drin. Damit man bis zum Prüfungstermin "fit" ist, muss man dranbleiben und "den Berg Kieselstein für Kieselstein abtragen". Das Skript gliedert sich in 6 Kapitel: 1. TI - Einführung 2. Grundlagen 3. Automatentheorie 4. Logik 5. Komplexität 6. Berechenbarkeit Es enthält auch einen Vorschlag, wie man sich die Bearbeitung des Moduls zeitlich einteilen soll. Damit bin ich flexibel umgegangen. Außer dem Skript findet man auf der Plattform StudIP Zusatzmaterial, Videos, Übungsaufgaben für die Klausur und einen Link zum Download von JFLAP, einer Software zum Simulieren der verschiedenen Automaten aus dem Kapitel Automatentheorie. Im Unterschied zu Springer Campus, wo alles schön in EINER Plattform beisammen ist, muss man hier aus mehreren Quellen schöpfen. Die Materialien sind aber sehr gut. Mathematische Grundlagen Das Grundlagenkapitel ist ein Parforceritt durch Mengenlehre, Relationen und Funktionen. Grundlagen waren bei mir aus dem Modul Mathe1 da. Ich würde sagen, dass man davon ausgeht, dass die meisten Studierenden sich schon einmal mit diesen Themen vertraut gemacht haben. Es ist eher eine knappe Wiederholung, die noch einmal den begrifflichen Boden bereiten soll, für das was kommt. Außerdem werden so verschiedene Konventionen hinsichtlich der Darstellung etabliert, was die weitere Lektüre des Skriptes vereinfacht. Auch die sehr knappe Einführung in Begriffe der Graphentheorie enthielt größtenteils vertrautes. Auch das kannte ich aus Mathe1. Aber hier kamen die ersten für mich neuen Begriffe, z.B. der der Hülle eines Graphen. Dieser Begriff ist hilfreich, wenn man ausdrücken möchte, wie ein Automat durch eine Serie von Konfigurationsübergängen geht. Neu war für mich in erster Linie der Abschnitt über formale Sprachen. Knapp ausgedrückt, hat man eine Sammlung von Zeichen, ein Alphabet. Dieses besteht bei formalen Sprachen oft aus nur wenigen Zeichen, z.B. {0,1} oder {a,b,c} oder etwas in der Art. Wörter entstehen dadurch, dass man Ketten aus Zeichen bildet, also Strings. Eine Sprache entsteht dadurch, dass wir Eigenschaften definieren, die die so erzeugten Strings aufweisen müssen, z.B. mindestens eine Folge von drei Nullen enthalten. Eine Sprache ist also eine Teilmenge der mit dem Alphabet möglichen Strings. Interessanter wird es, wenn reguläre Ausdrücke ins Spiel kommen. Sie erlauben, bestimmte Stringmuster in kompakter Weise zu beschreiben. Das kann man in vielen Programmiersprachen gut brauchen, um z.B. Muster für Suche und Vergleich zu definieren. Zugleich sind reguläre Ausdrücke wichtig, weil sie mit einem bestimmten Automatentyp aus der Automatentheorie in Zusammenhang stehen, den sogenannten endlichen Automaten. Diese können nämlich genau solche Strings erkennen, die sich durch reguläre Ausdrücke beschreiben lassen. Über das Kapitel verstreut sind gelegentlich Übungsaufgaben. Am Ende des Kapitels kommen dann noch mal mehr Aufgaben. Im Gegensatz zu Springer Campus ist die Bearbeitung dieser Aufgaben nicht nötig, um zur Klausur zugelassen zu werden. Man kann seine Lösungen aber per Mail an einen Betreuer schicken. Besser ist es, sie ins Forum von StudIP einzustellen, wo sie auch andere Studierende sehen. Die Aufgaben werden auch dort von einem Betreuer kommentiert, jedenfalls wenn es etwas zu kommentieren gibt. Perfekte Lösungen bleiben auch mal ohne Feedback. Im Vergleich zu Springer würde ich sagen, dass es hier mehr und kleinere Aufgaben gibt. Das ist nicht schlecht, weil man so ähnliche Aufgaben wiederholt übt, was ungemein hilft, die Konzepte zu verinnerlichen. Automatentheorie Dieses Kapitel ist für mich das Kernkapitel des Moduls. Es behandelt zunächst endliche Automaten, abgekürzt DFA für engl. deterministic finite automaton. Einen endlichen Automaten kann man sich vorstellen als eine Maschine, die ein Band einliest, auf dem Zeichen notiert sind. Die Maschine liest das Band genau 1x von Anfang bis Ende. Sie kann nicht vor oder zurück gehen und auch nichts auf das Band schreiben. Sie kann aber in Abhängigkeit vom eingelesenen Zeichen ihren inneren Zustand wechseln. Ist die Maschine am Ende des Bandes in einem Zustand, der als akzeptierend ausgezeichet wurde, so sagt man, die Maschine habe die Zeichenkette akzeptiert. Die Maschine hat erkannt, dass das Wort auf dem Band zu einer Sprache gehört. Natürlich existiert dieser Automat nicht physisch sondern als Konzept. Man beschreibt ihn mathematisch. Mit der Menge von Zeichen, die er verarbeiten kann. Mit der Menge der Zustände, die er einnehmen kann. Mit dem Startzustand. Mit der Menge der Zustände, die als akzeptierend gelten. Und vor allem mit den Regeln für Übergänge von einem Zustand in den anderen in Abhängigkeit vom eingelesenen Zeichen. Deterministisch heißt der Automat, weil die Zustandsübergangsfunktion total ist. In jedem Zustand ist bei jedem eingelesenen Zeichen eindeutig, in welchen neuen Zustand der Automat wechselt. Durch die mathematische Form der Darstellung, kann man so einen Automaten in wenigen Zeilen exakt notieren. Verständlicher wird ein Automat, wenn man ihn graphisch darstellt. Er wird als Graph mit gerichteten Kanten gezeichnet. Die Kanten stehen für Zustandsübergänge, die Knoten für die Zustände. Hier ist ein Beispiel für einen deterministischen endlichen Automaten, der Wörter aus den Buchstaben "a" und "b" akzeptiert, die mindestens 1x die Zeichenkette "aab" enthalten. Das kleine Dreieck links markiert den Startzustand. Die Kreise stehen für die Zustände, die Pfeile für Zustandsübergänge, wenn im jeweiligen Zustand das Zeichen auf dem Pfeil eingelesen wird. Der Doppelkreis rechts steht für den einzigen akzeptierenden Zustand. Wie man sieht, gibt es auch reflexive Kanten. Sie bedeuten, dass der Automat im aktuellen Zustand bleibt. Der Automat ist deterministisch, weil von jedem Zustand aus für jedes mögliche Zeichen genau ein Zustandsübergang existiert. Nach dem DFA wird der NFA eingeführt. Er ist indeterministisch, weil der Folgezustand nicht mehr eindeutig definiert sein muss. Es kann mehrere Folgezustände geben. Der Automat wählt aber nicht zufällig einen davon aus. Vielmehr geht er in JEDEN möglichen Folgezustand. Man kann zeigen, dass ein NFA in einen DFA überführt werden kann. Dafür gibt es sogar ein mechanisches Verfahren. Für viele Probleme ermöglicht der NFA eine kompaktere Darstellung. Aber er kann nicht mehr als der DFA. Die Beschäftigung mit endlichen Automaten ist nützlich, z.B. weil man damit in der Softwaretechnik manche dynamische Systeme gut modellieren kann. Der DFA und der NFA sind in ihren Möglichkeiten begrenzt, weil sie sich nur durch ihren inneren Zustand etwas merken können. Soll ein Automat z.B. 100 Zeichen zählen, braucht er 100 innere Zustände. Aus diesem Grund wird der Kellerautomat eingeführt. Er hat einen Speicher, den Keller, auf den er Zeichen legen kann. Dieser Speicher ist ein Stack. Die Zeichen werden gestapelt und man kann immer nur das oberste Zeichen lesen. Der Kellerautomat kann z.B. vergleichen, ob die Anzahl A's zu Beginn eines Wortes gleich der Anzahl B's am Ende des gleichen Wortes ist. Er kann somit etwas zählen. Die von Kellerautomaten akzeptieren Sprachen lassen sich mit kontextfreien Grammatiken beschreiben. Diese sind nützlich, weil sich die Syntax der meisten Programmiersprachen ebenfalls mit kontextfreien Grammatiken beschreiben lässt. Weil es Sprachen gibt, die nicht kontextfrei sind, braucht man einen mächtigeren Automaten als den Kellerautomaten: Die Turingmaschine. Die Turingmaschine ist deterministisch. Sie liest ein endloses Band ein. Einen Kellerspeicher hat sie nicht. Dafür kann sie auf dem Band schrittweise nach rechts und nach links gehen oder stehen bleiben. Sie kann Zeichen lesen und schreiben. Das Band ist also ihr Speicher. Es enthält eine Folge von Zeichen, einen String. Die Turingmaschine verarbeitet den String, d.h. sie transformiert ihn in einen neuen String. Wenn der String z.B. aus zwei natürlichen Zahlen besteht und die Maschine am Ende die Summe dieser beiden Zahlen auf das Band schreibt, dann kann man sagen, die Maschine hat eine Summe berechnet. Die Turingmaschine ist ein einfaches Computermodell. Interessant ist, dass sie zugleich das mächtigste bislang bekannte Computermodell ist. Mächtigkeit bezieht sich hier nicht auf die Verarbeitungsgeschwindigkeit sondern auf das, was prinzipiell mit einer Maschine dieses Typs berechnet werden kann. Jeder Computer kann im Prinzip nur berechnen, was auch auf einer Turingmaschine berechnet werden könnte. Darum ist es interessant, sich mit diesem Automaten zu beschäftigen. TI ist ein FH-Modul. Der Schwerpunkt liegt also hier nicht auf dem Führen von Beweisen. Die Übungsaufgaben laufen meist darauf hinaus, Automaten zu konstruieren, die ein bestimmtes Problem lösen. Mit der Software JFLAP kann man seine Automaten testen, mit verschiedenen Strings füttern und schauen, wie sie diese Schritt für Schritt verarbeiten. Das hat mir sehr viel Spaß gemacht. Und es hat auch schon eine Menge mit Programmierung zu tun. Der erste Schritt zur Lösung ist meist, sich eine Strategie zu überlegen, wie ein Automat ein Problem lösen könnte, eine Art Algorithmus. Dann muss man sich mit den Details der Implementierung rumschlagen, wozu oft auch eine geschickte Behandlung von Sonderfällen gehört. Logik Das Kapitel zur Logik beschäftigt sich nur mit Aussagenlogik. Die mächtigere Prädikatenlogik spielt keine Rolle. Hier hatte ich Vorkenntnisse aus den Modulen "Mathe1" und "Rechnerstrukturen und Betriebssysteme". Trotzdem hat mir dieses Kapitel viel gebracht. Nachdem knapp einführt wird, wie man Aussagen formalisiert, mit Operatoren verknüpft und mit Umformungsregeln umformt, wird die konjunktive- und die disjunktive Normalenform eingeführt. Sie ist eine Art standardisierte Darstellung komplex verknüpfter Aussagen. So weit kannte ich den Stoff. Der nächste und für mich neue Schritt bestand nun darin, die konjunktiv verknüpften Ausdrücke sehr kompakt als Mengen zu schreiben. Die nennt man Klauseln. Aus Klauseln kann man mit einer einfachen Umformung - der Resolution - neue Klauseln erzeugen. Man kann so Widerspruchsbeweise führen. Die Gültigkeit einer Schlussfolgerung kann man prüfen, indem man sie in negierter Form den bisherigen Klauseln hinzufügt und dann einen Widerspruch findet. All dies könnte man auch auf anderem Wege tun, z.B. mit Wahrheitstabellen oder mit Umformungen. Das interessante an Klauseln und am Resolutionsbeweis ist, dass man... 1. effizient mit sehr großen Mengen von Aussagen umgehen kann, was bei Wahrheitstabellen schnell unübersichtlich wird. 2. Resolutionsbeweise gut automatisiert per Software führen kann. Gerade der letzte Punkt ist entscheidend: Man hält das mathematisch-logische Werkzeug in den Händen, um einen automatischen Beweiser zu bauen. Der Stoff dieses Kapitels ist Grundlage für logische Programmiersprachen wie Prolog. Ich vermute, genau aus diesem Grund hat mir Herr Cleve dieses Modul als Grundlage für KI empfohlen. Dieses Kapitel hat mich positiv überrascht, weil ich hier wirklich etwas nützliches und neues gelernt habe, obwohl ich der Ansicht war, über Aussagenlogik schon eine Menge zu wissen. Komplexität Im Kapitel über Komplexität geht es Aufwandsabschätzungen. Platt ausgedrückt, schätzen wir Aufwand, indem wir zählen, wieviele Zuständsübergänge ein Automat durchlaufen muss, um ein bestimmtes Problem zu lösen. Wir zählen die Übergänge in der Regel nicht genau. Vielmehr ordnen wir sie einer Klasse zu. Der Aufwand wächst z.B. linear mit der Größe des Problems oder vielleicht auch quadratisch mit der Größe des Problems. Manches davon war mir aus dem Modul Algorithmen und Datenstrukturen (GdI4) bekannt. Hier wird das Thema Komplexität aber mathematischer und formaler behandelt. Eine für mich schöne Übung war die Aufgabe, die Komplexität eines Sortieralgorithmus zu analysieren. Den durfte man sich frei aussuchen. Aus GdI4 kannte ich schon die Komplexitätsklassen vieler einfacher und komplexerer Sortierverfahren. Es wäre somit eine langweilige Aufgabe geworden. Allerdings war dort kurz ein Algorithmus namens Bucketsort erwähnt, der unter bestimmten Voraussetzungen ein Feld in linearer Laufzeit sortieren kann. Es hatte mich schon länger interessiert, wie das funktioniert, denn man kann ja mathematisch beweisen, dass ein Sortierverfahren, dass auf Vergleich basiert, im besten Fall logarithmische Komplexität hat. Wie kann man ohne Vergleiche schneller sortieren? Ja wie kann man überhaupt ohne Vergleiche sortieren? Die Übungsaufgabe war für mich also Anlass, mich mit dem mir bis dahin unbekannten Bucketsort-Algorithmus zu beschäftigen. Das hat wirklich Spaß gemacht. Berechenbarkeit In diesem letzten Kapitel werden die LOOP und die WHILE-Sprache eingeführt. Die LOOP-Sprache hat nur ganz wenige Konstrukte. Sie kann Variablen einen Wert zuweisen, sie um 1 erhöhen oder vermindern. Vor allem kann sie mit dem Befehl LOOP eine Schleife genau n-mal durchlaufen, wobei n zu Beginn festsehen muss. Die Sprache hat also nicht mal ein IF. Man kann es aber mit einem LOOP geschickt simulieren. Trotz der primitiven Möglichkeiten kann diese Sprache schon viel berechnen. Hilbert vermutete sogar, dass die LOOP-Sprache jede Funktion berechnen kann. Widerlegt wurde seine Vermutung durch die Ackermann-Funktion, die nicht mehr LOOP-berechenbar ist. Darum brauchte man die WHILE-Sprache. Sie hat zusätzlich die WHILE-Schleife, die wiederholt eine Bedingung prüfen kann. Mit der WHILE-Sprache kann man nun genau die Probleme lösen, die auch eine Turingmaschine lösen kann. Knapp gesagt geht es in dem Kapitel darum, was gemeint ist, wenn wir sagen, etwas sei berechenbar oder nicht berechenbar. Es gibt verschiedene Konzepte von Berechenbarkeit. Dieses Kapitel wird ein wenig philosophisch. Es geht hier letztlich darum, die Grenzen dessen auszuloten, was mit Computern gerechnet werden kann. Präsenztag und Klausur Module an der WINGS enden mit einem Präsenztag, an dem in der Regel auch die Abschlussklausur geschrieben wird. Anders als bei Springer Campus gibt es an der WINGS keine Möglichkeit, schon in der Bearbeitung eines Moduls ein paar Punkte für die Klausur zu sammeln. Die Note spiegelt allein die Performance in den 2 Stunden der Klausur wieder. Die Präsenzveranstaltung vor der Klausur war bei TI eher eine Art Repetitorium, bei dem viele Übungsaufgaben bearbeitet wurden. Die Lehrform war sehr interaktiv. Automatentheorie nahm etwa die Hälfte der Zeit in Anspruch. Die Ideen der Teilnehmer wurden vom Dozenten direkt in JFLAP eingegeben und mit dem Beamer projeziert. So konnte man sofort sehen, was die Automaten machen und welche Fehler man noch verbessern muss. Die Übungen ließen darauf schließen, dass in der Klausur weniger Wissen abgefragt werden würde. Es schien darum zu gehen, Wissen anzuwenden, indem man Probleme löst. Dazu braucht man ein bisschen Kreatitivät. Die intensive Wiederholung des Stoffes in der Gruppe unmittelbar vor der Prüfung ist eine tolle Vorbereitung. Das finde ich an der WINGS sehr gut gelöst. Die Klausur deckte den Stoff gut ab. Schwerpunkt war Automatentheorie, aber auch Grammatiken, Komplexität und der Resolutionsbeweis kamen dran. Das Klausurergebnis kam nach knapp 2 Wochen. Schlecht war es nicht, aber ganz zufrieden war ich am Ende auch nicht. Das lag aber keinesfalls am Modul oder an der Klausur sondern daran, dass ich der Meinung war, bei dieser Prüfung ein bisschen hinter meinen Möglichkeiten zurückgeblieben zu sein. Fazit Das Modul "Theoretische Informatik" hat mir sehr viel Spaß gemacht. Die von Herrn Cleve gewählte Form der Darstellung, bei der es weniger ums Beweisen sondern vor allem um das Lösen von Problemen mit Automaten geht, finde ich für ein FH-Modul genau richtig. Das Skript ist verständlich geschrieben und lässt meiner Meinung nach auch solchen Studierenden eine faire Chance, die sich mit dem eher trockenen Stoff der TI nicht anfreunden können. Sehr gut war auch das Feedback zu den Aufgaben durch Herrn Cleve. Oft hat er Rückfragen gestellt, Einwände formuliert, meine Aufmerksamkeit auf Spezialfälle gelenkt. Auf die Weise hat er mich angeregt, neu über meine Lösung nachzudenken. Das war viel besser als einfach nur Punkte zu verteilen. Es hat etwas für sich, dass die Übungsaufgaben NUR Übungsaufgaben sind und weder für die Note noch für die Zulassung zur Prüfung eine Rolle spielen. Das führt zu einem freieren Umgang mit der Übung. Statt auf Punkte zu zielen, geht es allein um den Stoff. Das hat mir gut gefallen. Ich studiere gerne bei Springer Campus. Aber das Konzept der WINGS ist auch nicht schlecht. Diejenigen unter euch, die Wirtschaftsinformatik studieren möchten, mit etwas weniger zeitlicher Flexibilität bei Prüfungen zurecht kommen und BWL etwas stärker gewichten wollen, sollten sich das Angebot der WINGS einmal anschauen.
  21. Ok, das scheint tatsächlich eine andere Welt gewesen zu sein. Gedeiht dieses Idyll noch? Oder ziehen die Leute weg wegen Arbeit?
  22. Und zu DM statt zur Drogerie gehe ich seit vielen Jahren, weil unsere Drogerie vor 20 Jahren Schlecker hieß. Da bin ich von Herzen gern ein Stückchen weiter gefahren. um meinen Kram nicht da kaufen zu müssen.
  23. Also, ich weiß ja nicht, wo Du vor 20 Jahren gelebt hast, aber getankt habe ich damals schon selbst. Online-Banking hatte ich damals noch nicht, Telefonbanking gab es aber schon. Oder Überweisungen per BTX. Und bis zum Onlinebanking war es definitiv nicht mehr weit. Backregale in den Supermärkten und Aufbacksemmeln kannte ich auch. Ikeamöbel haben wir schon damals selbst zusammengeschraubt. Die gute alte Zeit muss schon ein bisschen länger her sein.
  24. Ich würde mir wünschen, dass Springer Campus einen konsekutiven Master anbietet, der auf dem Bachelor in Web- und Medieninformatik aufbaut.
×
  • Neu erstellen...