Auch wenn ich schon seit längerem nicht mehr aktiv an meinem angefangenen Fernstudium gearbeitet habe und dies wohl auch nicht mehr tun werde, bin ich beim digitalen Entrümpeln über die Programmieraufgaben des Programmier-Einführungskurses „Einführung in die imperative Programmierung“ (Modul 01613) gestolpert. Dabei habe ich mich gefragt, warum ich diese eigentlich nicht damals, als ich mich damit täglich beschäftigt habe, in Blogartikeln veröffentlicht habe und darüber geschrieben habe wie ich bei der Entwicklung der Lösungen vorgegangen bin. Diese Lösungen bzw. Lösungsvorschläge könnten ja vielleicht dem ein oder anderen helfen und mir selber hätte das Rekapitulieren in einem Artikel wahrscheinlich auch noch etwas mehr beim Lernen geholfen. In einem damaligen Artikel hatte ich auch eigentlich geschrieben, dass ich vorhabe das Studium zu dokumentieren. Naja zu spät ist es ja nie, weshalb ich diese Aufgaben noch einmal durchsehen und meine Lösungen hier veröffentlichen möchte.
Da man, zumindest laut dem Jahre alten Einführungsbuch, bereits nachdem Durcharbeiten des Buches alles weiß, was man benötigt um zu Programmieren, ist dieser Kurs im Vergleich zu vielem anderen auch nicht so eine Riesen-Zeitverschwendung. Natürlich hat das noch nichts mit Objektorientierung oder anderen modernen (teilweise gehypten) Programmierkonzepten zu tun, aber grundsätzlich stimmt die Aussage, dass man mit den vermittelten Konzepten theoretisch alles programmieren kann. Es ist halt nur umständlich und wird wahrscheinlich irgendwann zu Spaghetticode.
Warum man allerdings nicht irgendwann zumindest auf eine modernere Programmiersprache gewechselt ist und den Kurs immer noch mit PASCAL anbietet liegt wahrscheinlich nur daran, dass niemand Lust hat ein neues Buch zu erstellen 😀 Aber wie es bereits ein alter Arbeitskollege sagte: „Man kann in jeder Programmiersprache gut programmieren, man kann aber auch in jeder Programmiersprache absolut beschissen programmieren.“
Ein Probe-Exemplar des Kursbuches ist anscheinend sogar frei zugänglich, falls jemand der nicht über das Kursbuch verfügt sich dieses auszugsweise mal ansehen möchte um zu erfahren ob das Ganze etwas für ihn ist: https://www.fernuni-hagen.de/mi/studium/module/pdf/Leseprobe-komplett_01613.pdf
Mir persönlich hat das Programmieren anhand des Programmierens Spaß gemacht, allerdings hat es mir auch gezeigt, dass ich wohl wirklich eher „praktisch“ orientiert bin, auch wenn ich dachte, dass dies nicht unbedingt der Fall sei. Gerade im Vergleich zum Mathe-Kurs, wo es fast nur theoretisch mit Beweisen zu ging, lag mir der Programmierkurs schon eher. Allerdings muss man wirklich kein Genie sein und auch keine Informatik studieren wenn man Programmieren lernen möchte. Es gibt auch anderweitig genügend gute Tutorials, vor allen Dingen mit moderner Technologie.
Wie läuft das ganze bei der FernUni überhaupt ab?
Man bekommt das erwähnte Kursbuch sowohl in gedruckter Form, wie auch als PDF. Das Buch muss man dann, wie sollte es bei einem Fernstudium anders sein, eigenverantwortlich durcharbeiten. Ob man alle Aufgaben macht und programmiert ist einem selber überlassen.
Die Einsendeaufgaben bestehen aus „Multiple Choice“-Fragen, sowohl zu korrekter Syntax, zu Codeausschnitten wo z. B. der Ausschnitt der eine bestimmte Aufgabe erfüllt gewählt werden muss oder zu ähnlichen Dingen. Im späteren Verlauf auch zur Softwarequlaitätssicherung. Ein Thema was in wenigen Firmen Präsenz hat, das merkt man gerade bei der ein oder anderen Branchensoftware tagtäglich 😀
Des Weiteren gibt es natürlich bei diesen Aufgaben auch richtige Programmieraufgaben, wo man entweder bereits vorhandenen Code erweitern oder komplett neu etwas programmieren muss.
Im Gegensatz zum Mathe-Kurs, wo man die Lösungen wirklich per Post einschicken muss, ist dies beim Programmierkurs natürlich nicht so. Stattdessen gibt man seine Lösungen online im virtuellen Studienplatz ein. Den Code den man einreicht führt ein Compiler bei der FernUni aus und testet diesen mit vorgegebenen Eingaben auf erwartete Ergebnisse.
In den nächsten Artikeln folgen dann meine Lösungen zu den gestellten Programmieraufgaben und vielleicht auch zu denen aus dem Kurslehrbuch.