Springe zum Inhalt

kurtchen

Benutzer
  • Anzahl Inhalte

    608
  • Benutzer seit

  • Letzter Besuch

Ansehen in der Community

862 Sehr gut

2 folgen dem Benutzer

Informationen

  • Status
    Aktiver Fernstudent
  • Anbieter
    Springer Campus
  • Studiengang
    Web- und Medieninformatik
  • Wohnort
    Bayern
  • Geschlecht
    m

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Auf einer Seite, wird man gefragt, wie oft man den Lieferanten gewechselt hat. Hier kann man angeben, dass man es nicht weiß. Auf der folgenden Seite muss man dann angeben, wie man den Wechsel durchgeführt hat, an den man sich nicht erinnert...
  2. Das eine Klausureinsicht helfen kann, die Bewertungskriterien zu verstehen, leuchtet mir ein.
  3. An der Benotung hat das Nachfragen nie etwas geändert. Das hätte ich auch nicht gut gefunden. Aber der Austausch mit den Tutoren hat mir oft geholfen, die Bewertungskriterien besser zu verstehen. Oder meine Fehler. Das ist wichtig für die Präsenzklausur. Die Benotung der Einsendeaufgaben ist an meiner Hochschule nicht relevant für die Modulnote.
  4. Die Kontaktaufnahme zu den Tutoren halte ich auch für wichtig und hilfreich. Ich bin immer wieder erstaunt, wenn mir Kommilitonen erzählen, dass sie diese Möglichkeit gar nicht nutzen. Manche schicken nur Einsendeaufgaben und nehmen die Benotung zur Kenntnis. Gerade wenn eine Aufgabe nicht gut bewertet wurde, kann sich eine Nachfrage lohnen. Ich habe dann oft besser verstanden, nach welchen Kriterien meine Lösung bewertet wurde. Das waren manchmal andere, als ich vermutet hätte, und das war für die spätere Präsenzklausur wichtig.
  5. Ich kann dir leider nicht direkt weiterhelfen, finde aber deinen Ansatz gut. Es kann ausgesprochen aufschlussreich sein, sich mit jemandem zu unterhalten, der einen Studiengang aus Teilnehmerperspektive kennt. Falls sich niemand findet, der IT-Forensik studiert, wäre es evtl. auch interessant, sich mit einem Studierenden der Wirtschaftsinformatik zu unterhalten. Diesen Studiengang gibt es schon länger, so dass hier im Forum vielleicht leichter jemand zu finden ist, der etwas dazu sagen kann. Zumindest solltest Du so an Informationen kommen, wie gewisse Dinge bei der WINGS ablaufen. Die haben ja ein eigenes Konzept, z.B. mit Präsenzen am Wochenende an verschiedenen Standorten im Bundesgebiet. Im Vergleich zu privaten Anbietern sind die Prüfungstermine fix, aber es gibt Möglichkeiten, verpasste Prüfungen nachzuholen. Details kenne ich nicht, aber für eine realistische Einschätzung, ob man so ein Studium neben dem Beruf schafft, es ist wichtig, sich über solche Rahmenbedingungen des Studiums zu informieren.
  6. Ich vermute, dass die Entscheidung für einen Studienabbruch oft weniger systematisch gefällt wird als die für ein Studium. Vor dem Studium gibt es viele Unbekannte: Worum geht's da? Wie viel Zeit muss ich investieren? Wie schwierig ist das? Hier werden viele versuchen, die Ungewissheit durch Recherche zu reduzieren: Anbieter auflisten, vergleichen, solche Sachen. Das kostet Zeit und wirkt systematisch. Ein Problem dabei ist, dass man es hier mit der Selbstdarstellung der Anbieter in Form von Marketingmaterial zu tun bekommt. Dort werden Chancen und Nutzen betont. Typisch sind dort z.B. Bilder von Studierenden in entspannter Umgebung am Laptop: Im Café, im Park, auf der Couch zu Hause... Entscheidende Unbekannte betreffen vor allem den Studierenden selbst: Bringe ich echtes Interesse für den Stoff auf? Ist das auch nachhaltig? Was für Themen gehören noch dazu, obwohl die mich eigentlich nicht so interessieren? (Mathe, Recht, BWL...) Kann ich dranbleiben? Habe ich Unterstützer? Wie komme ich mit jahrelangen Einschränkungen meiner Freizeit zurecht? Viele werden diese Fragen zu optimistisch beantworten, obwohl gerade sie für den Studienerfolg wichtig sind. Denn stimmen die persönlichen Voraussetzungen, kann man notfalls auch unter widrigen Studienbedingungen Erfolge erzielen. Dennoch wird sich Recherche oft auf die äußeren Rahmenbedingungen konzentrieren. Mit Aufnahme des Studiums verwandeln sich mehr und mehr Unbekannte in Bekannte. Hier ist mit Entzauberung und Ernüchterung zu rechnen. Oft wird erst hier das erste Fachbuch gelesen. Die Studienbedingungen sind doch nicht so rosig wie die Selbstdarstellung der Anbieter erwarten ließ. Man erfährt erst jetzt, wie man mittelfristig mit dem Druck und der Eigenverantwortung umgeht. Dieser erste Studienabschnitt gilt nicht als Recherche, erfüllt aber deren Zweck meist besser. Das idealisierte Bild der Recherchephase wird nach und nach von einem realistischeren Bild ersetzt. Oft wird hier noch eine gewisse Abwehr der Wirklichkeit eine Rolle spielen, insbesondere wenn es idealisierte Vorstellungen von der eigenen Studierfähigkeit betrifft. Trotzdem kann der Punkt kommen, an dem man sagt: Wenn ich das SO gewusst hätte, dann hätte ich mich gar nicht für das Studium entschieden. Enttäuschung ist dann buchstäblich das Ende der Täuschung. Und an dem Punkt können Entscheidungen schnell fallen. Prinzipiell fürchte ich, dass ein systematisierter Entscheidungsprozess für oder gegen den Abbruch hier nicht der Knackpunkt ist. Wichtiger wären wahrscheinlich mehr Realismus und weniger Wunschdenken vor der Entscheidung für ein Studium.
  7. Aktualität und Relevanz lassen sich nicht einfach an Jahreszahlen festmachen. Nicht mal in der Informatik, wo es angeblich immer das Neueste sein muss. Beispiele: - Chris Osaki: Purely Functional Data Structures (1998) - Gamma, Helm, Johnson & Vlissides: Design Patterns. Elements of Reusable Object-Oriented Software (1994) - Kernighan & Ritchie: The C Programming Language (2. Aufl. von 1988) - Abelson, Sussman & Sussman: Structure and Interpretation of Computer Programms (1985) - Donald Knuth: The Art of Computer Programming (Erster Band 1968) Ich hätte keine Einwände, würde eine Hochschule einen dieser Titel 2019 als Primärliteratur einsetzen. Was neue Medien angeht, habe ich drei Wünsche: - Erreichbarkeit des Studienbüros per Telefon - Erreichbarkeit von Tutoren oder Betreuern per E-Mail - Man sollte die Studienordnung und ein aussagekräftiges Modulhandbuch als PDF runterladen können.
  8. Eine charmante Darstellung des Rundreiseproblems findet sich im Artikel "Die optimierte Odyssee" der Zeitschrift "Spektrum der Wissenschaft". Aufhänger ist hier die von Homer besungene Irrfahrt des Odysseus von Ithaka. Bei effizienter Routenplanung hätte er schneller zu Hause sein können. Eine zugängliche Darstellung des Sintflut-Algorithmus bietet der Artikel "Toleranzschwelle und Sintflut" ebenfalls in "Spektrum der Wissenschaft". Der Artikel hat mich auf die Idee gebracht, dieses Fallbeispiel für meinen Vergleich der Programmierparadigmen zu wählen. Leider enthalten beide online verfügbaren Artikel nicht die Illustrationen. In diesem Youtube-Video kann man verschiedenen Optimierern zusehen, wie sie eine möglichst kurze Rundreise durch Städte der USA planen. Der komplexeste hier gezeigte Optimierer ist Simulated Annealing. Das natürliche Vorbild für dieses Verfahren ist das Abkühlen und Erstarren einer Metallschmelze. Am Anfang ist die Schmelze heiß, die Molekülbewegungen sind heftig. Für die Optimierung bedeutet dies, dass auch Änderungen akzeptiert werden, die zu einer Verlängerung der Route führen. Auf diese Weise können lokale Minima überwunden werden. Mit der Abkühlung der Schmelze werden die Molekülbewegungen langsamer. Die Wahrscheinlichkeit lokale Minima zu überwinden, sinkt, so dass gegen Ende nur noch Verbesserungen der Route akzeptiert werden. Meinen Einstieg in das Thema funktionale Programmierung habe ich mit dem Buch "Schreibe Dein Programm" von Herbert Klaeren und Michael Sperber gefunden. Es ist eines der seltenen Beispiele für eine erste Einführung in die Programmierung mittels einer funktionalen Sprache. Als Lehrsprache wird Racket verwendet, ein Dialekt aus der Lisp-Scheme-Familie. Man kann das Buch nicht kaufen, aber es ist als PDF kostenlos unter der CC-Lizenz verfügbar. Es war mein "Urlaubsprojekt" im Sommer 2017. Will man funktionale Programmierung in ihrer reinsten Form kennenlernen, sollte man sich mit Haskell beschäftigen. Das Buch "Learn you a Haskell for Great Good!" kann man online gratis lesen. Der Autor setzt voraus, dass man schon eine imperative Sprache gelernt hat. Das Kapitel "So what's Haskell?" bringt gut und knapp auf den Punkt, was funktionale Programmierung ist. Es vermittelt zugleich eine interessante Eigenschaft der Sprache Haskell: Die verzögerte Auswertung bzw. Lazy Evaluation.
  9. Ich hatte ja in Aussicht gestellt, ab und zu etwas zur Erstellung meiner Bachelorarbeit zu schreiben, falls die Zeit dafür reicht. Eigentlich reicht sie nicht, aber heute tut es mir trotzdem ganz gut, mal einen Schritt zurück zu treten und auf das Ganze zu schauen. Themenfindung An meiner FH entwickeln viele Studierende die Bachelorarbeit auf der Grundlage ihrer Projektarbeit. Das eigentlich praxisbezogene Thema der Projektarbeit wird dann mit einer wissenschaftlichen Fragestellung verknüpft und so fortgeführt und erweitert. Ich habe eine Weile geschwankt, ob ich das auch so machen soll. Mein Projekt war ja die Entwicklung einer Steuersoftware für ein chronobiologisches Experiment. Im Rahmen des Projektes wurde eine erste Entwicklungsstufe erreicht, aber es gab noch einige Anforderungen, die nicht realisiert werden konnten. Insofern hätte hier durchaus die Möglichkeit bestanden, die nächsten Entwicklungsschritte zum Thema meiner Bachelorarbeit zu machen. Allerdings soll die Bachelorarbeit stärker als die Projektarbeit eine wissenschaftliche Fragestellung bearbeiten. Nun soll mein Projekt zwar einem wissenschaftlichen Zweck dienen, aber eben innerhalb der Disziplin der Biologie. Softwaretechnisch gesehen hat es verschiedene Aspekte: Physical Computing, Kommunikation übers Netz, GUI-Programmierung und so weiter. Dennoch tat ich mich zunächst schwer damit, eine für die Informatik relevante Forschungsfrage zu formulieren. Meine Steuersoftware läuft auf einem Raspberry Pi und bietet ihre Funktionen als WebService im Intranet an. Eine Idee war daher ein Vergleich verschiedener Microframeworks für REST basierte Webservices, die sich gut für Physical Computing (auf vergleichsweise schwachbrüstiger Hardware) eignen. Mein Projekt nutzt z.B. inzwischen das Spark Framework. Der Vorteil wäre gewesen, dass ich die Weiterentwicklung meines Projektes zeitlich mit meiner Bachelorarbeit hätte verbinden können. Wer weiß, vielleicht wäre ich dann sogar schon fertig. Es gab aber eine Sache, die mir daran nicht so gut gefiel. Die Informatik ist ja meist in einer dienenden Rolle. Sie ist aber auch eine Strukturwissenschaft mit eigenen Erkenntnisgegenständen. Die Bachelorarbeit ist (vielleicht eine letzte) Gelegenheit, sich mit diesem Aspekt der Informatik ausführlicher zu befassen. Darum hatte ich eigentlich Lust auf eine Bachelorarbeit, die einen stärkeren Theorieaspekt hat. Es gab zwei Themen, die mir seit einer Weile im Kopf herumspukten und die gerne verbinden wollte. Funktionale Programmierung Ich hatte ja hier im Forum mal von einem "Urlaubsprojekt" berichtet, bei dem ich ein bisschen mit dem Lisp-Dialekt Scheme herumexperimentiert habe. Das war in diesem Thread. Das lag daran, dass ich den Wunsch hatte, wenigstens ein anderes Programmierparadigma als die objektorientierte Programmierung kennenzulernen. Die Beschäftigung mit der funktionalen Sprache Scheme hinterließ bei mir viele Fragen und offene Wünsche: Scheme wurde als Lehrsprache entwickelt. Ich hatte den Wunsch auch eine funktionale Sprache zu lernen, die für den produktiven Einsatz entwickelt wurde. Mögliche Kandidaten waren hier z.B. Scala, Clojure oder Erlang. Mit dem Erlernen einer funktionalen Sprache ist es ja nicht getan. Schwieriger ist es, seine Denkweise zu ändern. Im Studium habe ich gelernt, Probleme objektorientiert zu modellieren. Ich habe objektorientierte Entwurfsmuster gelernt, die bestimmte Klassen von Problemen lösen. Das führt allerdings auch dazu, dass ich Probleme "durch eine objektorientierte Brille" anschaue. Für die objektorientierte Programmierung gibt es die UML. Wie modelliere ich funktionale Softwaresysteme? Besonders ungewohnt war für mich der Umgang mit unveränderlichen Datenstrukturen. Objektorientierte Programmierung versucht ja, Zuständsveränderungen zu beherrschen, indem Zustände in Objekten gekapselt werden. Funktionale Programmierung versucht, Zustandsveränderungen möglichst zu vermeiden. Allerdings konnte ich mir nicht so richtig vorstellen, wie ein größeres Softwaresystem ohne Zustandsveränderungen auskommen kann. Insgesamt blieb bei mir also der Wunsch, mich noch einmal ausführlicher mit funktionaler Programmierung und meinen offenen Fragen zu beschäftigen. Meine Idealvorstellung wäre ein Modul über Programmierparadigmen gewesen, bei dem man gleiche Programme in unterschiedlichen Paradigmen implementiert und durch den direkten Vergleich an Fallbeispielen die jeweiligen Eigenheiten der Paradigmen verstehen lernt. Da es so ein Modul nicht gab, hatte ich die Idee, in meiner Bachelorarbeit objektorientierte und funktionale Programmierung an einem Fallbeispiel zu vergleichen. Ich war auch neugierig, ob so ein Vergleich meine Sichtweise auf Programmierung verändern würde. Vielleicht ist es ja ein bisschen wie mit Fremdsprachen. Wenn man eine fremde Sprache lernt, so lernt man zugleich eine Menge über die Eigenheiten seiner eigenen Sprache. Und das umso mehr, je fremdartiger die neue Sprache ist. Die Grundidee war also ein Sprachvergleich an einem Fallbeispiel. Nun musste noch ein Fallbeispiel her, dass sich für diesen Vergleich eignen würde. Heuristiken mit Evolutionsstrategie In diesem Zusammenhang fiel mir ein Artikel über den Sintflut-Algorithmus ein, den Gunter Dueck 1993 in der Zeitschrift Spektrum der Wissenschaft veröffentlicht hatte. Der Sintflut-Algorithmus kann z.B. das Problem des Handlungsreisenden lösen. Hier geht es darum, eine möglichst kurze Rundreise durch eine Anzahl Städte zu finden. Das klingt auf den ersten Blick nicht weiter schwierig, aber die Anzahl der Möglichkeiten wächst sehr rasch. Bei n Städten gibt es (n-1)!/2 Möglichkeiten; also bei nur 16 Städten bereits über 653 Milliarden mögliche Rundreisen. Ein praktisches Rundreiseproblem wäre ein Roboter, der Löcher in eine Platine bohren soll. Damit er mehr Platinen pro Stunde schafft, wäre es wünschenswert, er würde die Löcher ist der bestmöglichen Reihenfolge bohren. Wenn die Platine mehrere hundert Löcher hat, ist die Anzahl der möglichen Routen zu groß, um alle auszuprobieren. Das Problem kann nicht optimal gelöst werden. Heuristische Algorithmen versuchen den großen Lösungsraum einzuschränken. Sie untersuchen nur einen Teil der Möglichkeiten und finden so schneller eine Lösung, allerdings zu dem Preis, dass sie höchstwahrscheinlich die optimale Lösung übersehen. Ist die Suchstrategie clever, so wird die gefundene Lösung aber nur wenig von einer optimalen Lösung abweichen. Für praktische Anwendungsfälle ist eine gute Lösung, mit der man sofort arbeiten kann, interessanter als eine optimale Lösung, die erst in ein paar hundert Jahren zu bekommen ist. Eine vergleichsweise einfache Heuristik für das Rundreiseproblem ist die Nearest Neighbour Heuristik. Man wählt eine zufällige Stadt als Startpunkt. Von hier reist man immer zur nächstgelegenen Stadt, die man noch nicht besucht hat. Das liefert oft schon ganz gute Ergebnisse, aber gelegentlich haut die Nearest Neighbour Heuristik auch mal ordentlich daneben. Gleichwohl hat man hier ein einfaches Verfahren, das als Referenz für komplexere Verfahren dienen kann. Eine Reihe von Algorithmen versuchen, Prinzipien der Evolution für Optimierungsprobleme fruchtbar zu machen. Die Grundidee ist, dass zunächst zufällige Lösungen erzeugt werden, die natürlich nicht besonders gut sind. Diese Lösungen werden nun kleinschrittig variiert, was bedeutet, dass die Varianten der ursprünglichen Lösung "ähneln" sollen. Mutationsoperatoren erzeugen solche zufälligen Varianten. Rekombinationsoperatoren erzeugen Lösungen als Kombination von zwei bisherigen Lösungen. Die bisherigen Lösungen nennt man dann Eltern und die erzeugten Varianten Nachkommen oder Kinder. Zur Strategie wird das aber erst, wenn ein Selektionsmechanismus hinzukommt. Die Varianten werden bewertet, verworfen oder sie verdrängen die bisherigen Lösungen. Im Falle des Sintflut-Algorithmus ist der Selektionsmechanismus vergleichsweise anschaulich. Man stellt sich den Lösungsraum als Gebirge vor. Die Höhe über dem Meeresspiegel entspricht der Güte der Lösung entsprechend der Bewertungskriterien. Im Falle des Rundreiseproblems wäre also eine kürzere Rundreise ein höherer Punkt im Gebirge. Den Optimierer kann man sich als Wanderer vorstellen, der versucht, im Gebirge einen hohen Punkt zu erreichen. Eine naive Strategie wäre, immer nur bergauf zu gehen. Dann würde man allerdings auf dem ersten kleinen Gipfel "hängenbleiben". Manchmal muss man akzeptieren, dass es schlechter wird, bevor es besser werden kann. Man braucht also eine bessere Strategie als HINAUF. Sintflut fügt diesem Bild einen Regen hinzu, der den Wasserspiegel kontinuierlich ansteigen lässt. Nacheinander versinken so alle Gipfel im Wasser. Der Wanderer streift im Gebirge umher. Er geht rauf oder runter, solange er nur trockene Füße behält. Diese einfache Strategie liefert gute Lösungen für das Rundreiseproblem. Ich finde an solchen Algorithmen persönlich faszinierend, dass hier grundlegende biologische Prinzipien wie Anpassung durch Mutation und Selektion für die Informatik fruchtbar gemacht werden. Aus verschiedenen Gründen hielt ich derartige Optimierungsverfahren auch für ein interessantes Thema für meine Fallstudie: Die Erzeugung von Varianten durch Mutation und Rekombination wäre einen interessanter Anwendungsfall für immutable Datenstrukuren. Simuliert man eine Population von Lösungen, so können Verarbeitungsschritte parallelisiert werden. Von funktionalen Sprachen wird behauptet, dass sie nebenläufige Berechnungen handhabbarer machen. Andererseits sprechen wir hier von randomisierten Algorithmen. Ein Zufallsgenerator ist aber zustandsbehaftet. D.h. man kann auch etwas über den Umgang mit Seiteneffekten lernen, die in der funktionalen Programmierung eigentlich vermieden werden sollen. Die Idee für meine Bachelorarbeit war also ein Vergleich objektorientierter und funktionaler Programmierung am Fallbeispiel verschiedener heuristischer (evolutionärer) Algorithmen zur Lösung des Rundreiseproblems. Ich hatte das Glück an meiner FH einen Professor zu finden, der für diese Idee offen war. Stand der Bearbeitung Die Arbeit ist inzwischen angemeldet. Hier ist zu bemerken, dass die Anmeldung einer Bachelorarbeit ein bisschen formaler abläuft als die Anmeldung einer Projektarbeit. Es muss ein Dokument als physischer Gegenstand herumgeschickt und von verschiedenen Personen unterzeichnet werden, weshalb das ganze ein bisschen länger dauern kann als man im Zeitalter elektronischer Kommunikation gewohnt ist. Insofern ist es empfehlenswert, frühzeitig Kontakt zum Erst- und Zweitprüfer und auch zum Studienbüro aufzunehmen. Den Theorieteil der Arbeit konnte ich inzwischen fertigstellen. Hier geht es vor allem darum, das funktionale Programmierparadigma und verschiedene Heuristiken mit Evolutionsstrategie vorzustellen. Aktuell arbeite ich an der objektorientierten Implementierung meiner Optimierer. Leider geht es im Moment noch gar nicht um die Algorithmen, sondern um GUI- und Graphik-Programmierung, denn ich möchte ja nachvollziehen können, was z.B. meine Mutations- und Rekombionationsoperatoren mit Routen machen. Das geht hoffentlich leichter, wenn ich das visualisieren lassen kann. Ich bin nun schon sehr gespannt darauf, verschiedene Evolutionsstrategien auszuprobieren und ihnen beim Optimieren der Routen zuzuschauen. Besonders neugierig bin ich natürlich auf die Programmierung in funktionalen Sprachen. Ich möchte Scala und Clojure nutzen. Scala ist eine Hybridsprache, die versucht objektorientierte und funktionale Programmierung zu verbinden. Sie verschafft mir vielleicht einen sanften Einstieg und Übergang. Scala ist auch eine statisch typisierte Sprache mit Typinferenz. In dieser Hinsicht ähnelt es Haskell. Clojure ist ein moderner Lisp-Dialekt. Es ist daher dynamisch typisiert und hat eine fremdartige Lisp-Syntax. Ich bin mit beiden Sprachen nicht vertraut, so dass ich hier einige Überraschungen erwarte. Scala und Clojure sind JVM-Sprachen, d.h. sie compilieren zu Java-Bytecode, können Java-Code rufen und von Java-Code gerufen werden. Man spricht auch von Java-Interop. Das ist interessant, weil es in der Regel nicht sinnvoll ist, eine komplette Anwendung funktional zu implementieren. Insbesondere GUI-Code ist in hohem Maße zustandsbehaftet, was nicht so gut zum funktionalen Programmierparadigma passt. (Diese Aussage muss man heute eigentlich relativieren, z.B. weil es heute mit Elm eine funktionale Sprache für die Entwicklung von Web-Frontends gibt.) Daher wird das UI der Anwendung klassisch objektorientiert in Java implementiert, aber unter der Haube werkeln Optimierer in Java, Scala und Clojure. Schreibwerkzeuge Günstig war, dass ich mir vor Weihnachten Zeit genommen habe, mich in Latex einzuarbeiten und mir eine Dokumentenvorlage zu machen. Das war ein Stück Arbeit und hat mich z.T. auch bei der Bearbeitung meiner letzten Module ausgebremst. Allerdings ist es jetzt sehr schön, dass ich mich aufs Schreiben konzentrieren kann, statt mir über das Layout Gedanken zu machen. Ich würde also jedem empfehlen, sich mit diesem Thema VOR der Bachelorarbeit zu beschäftigen. Sich während dem Schreiben gleichzeitig in Latex einzuarbeiten, dürfte mühsam und ablenkend sein. Viele Hochschulen bieten Dokumentenvorlagen zum Download an. Das ist natürlich komfortabel, weil man im Idealfall einfach losschreiben kann. Solche Vorlagen sind aber auch für Studierende anderer Hochschulen interessant, weil man sich etwas abschauen kann. Auch meine eigene Hochschule bietet im Rahmen des Moduls "Wissenschaftliches Arbeiten" so eine Vorlage. Die ist allerdings recht allgemein und auch nicht mehr ganz aktuell, so dass sie noch angepasst werden muss. Ich fand das aber zu schwierig, ohne Latex grundsätzlich zu begreifen. Für meine ersten Schritte hilfreich war das Buch "Wissenschaftliche Arbeiten schreiben" von Joachim Schlosser. Ganz alleine hätte das für die Erstellung meiner Vorlage nicht gereicht, aber es vermittelte mir ein Grundverständnis, das mir weitere Recherchen über das Netz erleichterte. Zum Schreiben verwende ich Atom mit entsprechenden Latex-Plugins. Atom arbeitet schön mit Git zusammen, das ich für die Versionskontrolle nutze. UML-Diagramme erstelle ich meist mit UMLet. Eine Literaturverwaltung wie Zotero oder Citavi erschien mir bislang übertrieben. Bislang ist alles in einer einfachen BibTEX-Datei. Ich habe probiert, meine Einträge mit JabRef zu editieren, fand das aber gar nicht komfortabler, weil manche für mich relevante Felder über mehrere Tabs verteilt waren, so dass ich mehr mit "Mausschubsen" als mit Schreiben beschäftigt war. Möglicherweise könnte man sich das anders konfigurieren, aber ich komme mit einem einfachen Texteditor eigentlich gut zurecht. Allerdings werden es allmählich mehr Quellen. Vielleicht muss ich das mit der Literaturverwaltung also noch einmal überdenken. Lohnen dürfte sich das vor allem für Schreibende, die regelmäßig wissenschaftliche Arbeiten verfassen. Fazit Insgesamt macht die Arbeit an der Bachelorarbeit viel Spaß. Es ist schön, nach vielen Jahren des angeleiteten Lernens ein eigenes Thema recherchieren und einer eigenen Idee folgen zu können. Wichtig ist natürlich der Austausch mit dem Erstbetreuer, der diesen Prozess zurückhaltend begleitet. Ich werde in Abständen wieder berichten.
  10. kurtchen

    Vorteile von Oncampus?

    Gleich vorweg: Ich studiere nicht mit OnCampus, kann hier also keine Einblicke aus Teilnehmersicht zum Besten geben. Mir scheint, dass OnCampus Verbundstudiengänge anbietet, die also von verschiedenen Hochschulen gemeinsam entwickelt und durchgeführt werden. Wenn Du Dir das Modulhandbuch des Studienganges runterlädst, werden als Modulverantwortliche Professoren verschiedener FHs genannt. Du musst aber an irgendeiner Hochschule konkret eingeschrieben sein, denn irgendwer muss ja am Ende Deine Bachelorurkunde ausstellen. OnCampus scheint die gemeinsame Plattform zu sein, über die die Verbundhochschulen ihr gemeinsames Studienangebot präsentieren. Vermutlich wird auch die Lernplattform gemeinsam betrieben. Der Vorteil für dich als Studierender wäre dann eher indirekt: Der Aufwand für Entwicklung, Vermarktung und Durchführung eines Online-Studienganges ist hoch. Indem Hochschulen so etwas gemeinsam machen, wird er beherrschbar. Dann kann man nicht nur Fächer mit vergleichsweise hohen Studierendenzahlen wie BWL und Wirtschaftsinformatik anbieten. Ich habe mich mal für den Studiengang B.Sc. Medieninformatik bei OnCampus interessiert. Unter den Wahlpflichtmodulen gab es auch eines zur Programmierung in C++. Das ist aber eigentlich ein Modul der TH Deggendorf (Bayern) und wurde von deren Professor Herbert Fischer entwickelt. Diese Kooperation erweitert also das Angebot an Wahlpflichtfächern. Was ich damit sagen will: Es gibt sehr unterschiedliche Formen der Kooperation zwischen Hochschulen und manchmal kann man bessere Angebote machen, indem man nicht jedes Mal das Rad neu erfindet sondern Ressourcen teilt. So scheint OnCampus zu funktionieren. Dass ich mich damals gegen OnCampus entschieden habe, lag nicht am Studiengang an sich. Ich brauchte aus beruflichen Gründen die Möglichkeit, Prüfungstermine flexibler zu schieben. Und ich wohne in Bayern, was für mich eine vergleichsweise weite Anfahrt zu Präsenzen und Prüfungen bedeutet hätte. Ansonsten finde ich deren Angebot gut.
  11. Beim Humble Book Bundle hab ich schon mal zugegriffen. Bei Manning kann man sich für den einen Newsletter registrieren. Da kriegt man immer wieder Angebote für EBooks zum halben Preis. Apress hat etwas ähnliches. Bei PragProg gibt's seltener solche Aktionen, aber üblicherweise im Juli schon. Es gibt auch von manchen Büchern kostenlose Online-Versionen. Beispiele wären Think Python, Eloquent Javascript, Clojure for the Brave and True oder Learn you a Haskell, um nur ein paar gute zu nennen. Das sind alles einführende Programmierbücher.
  12. Eines unserer Kinder beklagte sich mal nach einer nicht so erfolgreichen Matheklausur (Oberstufe): "Ich habe wirklich sooo viel gelernt. Von jedem Aufgabentyp habe ich eine gerechnet." Mir fiel Mathematik relativ leicht, aber wenn ich das so gemacht hätte, dann hätte ich kein Abi. Ich wundere mich auch, dass es möglich ist, in Deutschland die 11. Klasse einer FOS zu erreichen, ohne im Unterricht einen einzigen deutschen Literaturklassiker gelesen zu haben. Dürfte ja gerne etwas vergleichsweise einfaches sein. So etwas wie Pole Poppenspäler von Theodor Storm wäre mit fast 18 Jahren ja zumindest mal ein Anfang. Da jetzt nur noch knapp ein Jahr allgemeinbildende Schule übrig bleibt, wovon ja ein guter Teil auch für die Prüfungen draufgeht, habe ich mittlerweile die Hoffnung aufgegeben, dass so etwas noch passieren könnte. Ein anderes unserer Kinder (9. Klasse) möchte gelegentlich mal wissen, ob die eine oder andere Aufgabe in einer Matheklausur vom Lehrer korrekt bewertet wurde oder evtl. doch noch ein Punkt rauszuschinden wäre. Ich muss dann sagen, dass ich es leider nicht beurteilen kann, weil ich nicht in der Lage bin, die Schrift zu lesen und dem völlig unkommentierten Lösungsweg zu folgen. Als Erziehende haben wir dazu natürlich unsere Meinung zum Ausdruck gebracht. Leider sagt der Mathelehrer, er könne jede Schrift lesen. Ihm sei völlig egal wie die Kinder schreiben. Ich bin der Meinung, dass am Ende eines solchen Bildungsweges zwar eine formale Hochschulzugangsberechtigung aber keinesfalls Studierfähigkeit stehen kann. Allerdings halte ich es mittlerweile auch nicht mehr für ausgeschlossen, dass dieser Schlendrian inzwischen die Hochschulen erreicht hat. Ich lebe übrigens in Bayern, einem Bundesland, das sich ja gerne selbst auf die Schulter klopft, ein im bundesdeutschen Vergleich noch relativ forderndes Schulsystem zu haben.
  13. Ich halte die Wahl zwischen Informatik und Medieninformatik für weniger wichtig als die Klärung der persönlichen Voraussetzungen und Motivation. Auch Medieninformatik ist zunächst mal Informatik. Da würde ich dem Rat von Memento folgen und schauen, welche Themen dich stärker ansprechen. Das mit dem openHPI-Kurs klingt schon mal ganz gut. Da hast Du dann wahrscheinlich auch kleinere Programmieraufgaben bearbeiten müssen und schon mal Erfahrungen mit dem Fernlernen gesammelt. Als Testlauf nicht schlecht und auf jeden Fall schon viel mehr, als ewig drüber nachgedacht, was man mal müsste und könnte. (So was kennen wir aus dem Forum auch.) In deinem Fall möchte ich meinen ersten Buchtipp "Java lernen mit BlueJ" revidieren. Stattdessen empfehle ich "Informatik: Eine praktische Einführung mit Bash und Python" von Tobias Häberlein. Das sind knapp 250 Seiten. Abgedeckt werden: - Unix/Linux und Umgang mit der Bash (Komandozeile) - Programmierung in Python - Reguläre Ausdrücke (Hat ein bisschen Bezug zur theoretischen Informatik) - Datenbanken und SQL - Web-Programmierung - Nebenläufige Programmierung Damit kannst Du Dir in ziemlich kurzer Zeit einen guten Überblick verschaffen. Die Empfehlung für "Grokking Algorithms" behalte ich bei. Das Ding hat knapp 250 Seiten und liest sich schnell, weil es illustriert ist. Gibt es auch auf Deutsch als "Algorithmen kapieren", aber ich würde wirklich die englische Fassung empfehlen, weil du als Informatikstudentin viel Englisch lesen wirst, selbst wenn alle im Studium verwendeten Lehrbücher auf Deutsch sein sollten. Das Buch geht nicht sehr in die Tiefe, deckt aber verschiedene gängige Gebiete exemplarisch an ganz wenigen grundlegenden Verfahren ab. Das ist auch so ein schönes Buch, um einen Überblick zu gewinnen. Wenn Du das beides selbstständig in angemessener Zeit durcharbeiten kannst und danach Lust auf mehr hast, dann würde ich sagen, du kannst ein Fernstudium Informatik an einer FH wagen. Dann halte ich das auch nicht für so wichtig, ob das nun die IUBH oder ein anderer Anbieter ist.
  14. Da ist leider etwas dran. Dass es Eltern und Schülern schwer fällt, ein fachliches Niveau als gesetzte Marke zu akzeptieren, für deren Erreichung man sich eben abmühen muss, konnte man dieser Tage ja z.B. an der Aufregung ums Matheabitur beobachten. Mehr Weitsicht wäre aus meiner Sicht trotzdem von der Politik zu fordern. Von den Eltern sollte man sie auch erwarten dürfen. Da kann ich auch immer nur staunen, was es heute alles gibt.
  15. Die Informatikstudiengänge der IUBH sind recht jung. Insofern kann eigentlich noch niemand einen Überblick über das gesamte Studium haben. Eine Einschätzung, ob das Studium schwer ist, dürfte dir nicht viel nützen. Leicht ist, was man gelernt und durch Übung gefestigt hat. Leicht ist auch, was zum eigenen Begabungsprofil passt. Leichter fällt das Lernen, wenn man an den Inhalten ein Interesse hat, und regelmäßig (am besten täglich) am Thema dran bleibt. Das sind alles persönliche Erfolgsfaktoren. Ich halte die Klärung von drei Fragen für hilfreich: 1. Sind die Inhalte des anvisierten Studium für dich überwiegend interessant und traust du dir zu, das fachliche Niveau zu erreichen. Dabei helfen können Modulhandbücher mit Literaturangaben. Ich würde empfehlen, vor der Entscheidung für das Studium wenigstens EIN einführendes Lehrbuch durchzuarbeiten. Du wirst viel in der Art lesen müssen, also solltest du checken, ob du dich mit dem "Literaturgenre" anfreunden kannst. Als gute Einführung in die objektorientierte Programmierung empfehle ich gerne "Java lernen mit BlueJ". 2. Du solltest abschätzen, ob du ausreichende Vorkenntnisse hast. Relevant sind hier insbesondere solche, für deren Vermittlung sich Hochschulen (zu recht) nicht zuständig fühlen. Zu nennen ist hier regelmäßig Mathematik. Zwar fangen viele Hochschulen hier noch einmal bei "Adam und Eva" an, aber das ist dann der Schnelldurchgang. Also checken, ob wenigstens die Mittelstufenmathematik noch sitzt. Falls du kein Abitur hast (oder es lange her ist), viel zusätzliche Zeit für die Mathemodule einplanen. Wichtig ist auch Lesefähigkeit im Englischen. Dazu könntest du z.B. ein einführendes fachbezogenes Buch auf Englisch lesen. "Grokking Algorithms" wäre einsteigerfreundlich. Wichtig ist ferner eine allgemein gute Lesefähigkeit. Wenn du z.B. eine ordentliche Zeitung liest, wäre das ein Indikator. 3. Du solltest für dich klären, ob du das Durchhaltevermögen hast, eine anstrengende Sache weitgehend alleine über mindestens drei Jahre durchzuziehen. Ein wohlwollender Partner, der Zumutungen mitträgt, ist gut, leistet sozial und motivational aber nicht das gleiche wie eine Gruppe Mitstreiter, die man täglich sieht. Ein Fernstudium erfordert hohe Eigenmotivation und Selbstorganisation. Indikatoren für diese Eigenschaften könnten z.B. anspruchsvolle Hobbies sein, regelmäßiger Sport, das Spielen eines Instrumentes oder ehrenamtliches Engagement. Also alles, wo man sich selbst zu etwas motiviert, ohne dass ein Vorgesetzter oder eine soziale Gruppe Kontroll- und Erwartungsdruck aufbaut. Wenn du hier drei Häkchen machen kannst, kommt die Auswahl eines passenden Anbieters. Dabei können Erfahrungen aus Teilnehmerperspektive hilfreich sein. Allerdings dürfte es dann um andere Dinge gehen als schwer oder leicht.
×
×
  • Neu erstellen...