Illustrationsbild für den Virtuellen Studienplatz

Lehrveranstaltung 63618 (SoSe 24)

 
63618 Objekt-funktionale Programmierung im Sommersemester 2024
grundlegende Überarbeitung: Sommersemester 2024 Umfang: 10.0 ECTS
nächster geplanter Einsatz: -keine Angaben vorhanden- Versionen
Autorinnen und Autoren Teilnahmevoraussetzungen
Beschreibung
Schließen
Beschreibung
KursbeschreibungDer Streit um die richtige Programmiersprache ist so alt wie Programmiersprachen selbst. Dabei erhitzen sich die Gemüter leider viel zu oft an Oberflächlichem: Wie ist die Syntax der Sprache, sind geschweifte Klammern besser als begin/end, ist eine Zuweisung eine Anweisung oder ein Ausdruck, braucht es das Semikolon etc. Was Programmiersprachen aber wirklich unterscheidet sind die Konzepte, die sich in ihnen materialisieren.
In dieser Lehrveranstaltung werden die zentralen Konzepte der beiden Hauptströmungen der Programmierung der letzten 30 Jahre, der objektorientierten und der funktionalen Programmierung, vermittelt. Die Vermittlung erfolgt anhand einer Reihe von Programmiersprachen, die beide Strömungen in sich vereinen und die ich daher objekt-funktional nenne. Der Fokus liegt dabei nicht auf den Sprachen selbst, sondern den Konzepten, die sich mit ihnen am praktischen Beispiel vermitteln lassen; ihre Kombination in einem Lehrtext soll Ihnen ein möglichst umfassendes Bild vom Wesen der objekt-funktionalen Programmierung vermitteln. Dabei werden auch Grundlagen wie die Abbildung von Daten in den Speicher, der Lambda-Kalkül und der Ursprung von Typsystemen sowie grundsätzliche Fragestellungen wie die nach dem allgemeinen Unterschied zwischen Werten und Objekten nicht ausgespart.
Dieser Kurs richtet sich an Studierende, die Programmierung nicht als Mittel zum Zweck verstehen wollen (denen ist bereits mit ChatGPT ausreichend geholfen), sondern die sich für die Ideen hinter der Programmierung interessieren und die eine möglichst umfassende Übersicht über das Thema erlangen wollen. Er verlangt viel Nachdenken und Ausprobieren, was sich jedoch in dem vorgesehenen Workload von 300 Stunden (entsprechend siebeneinhalb 40-Stunden-Wochen Arbeitszeit) gut unterbringen lassen sollte.
Achtung: Es handelt sich bei dieser Lehrveranstaltung nicht um einen Programmierkurs. Wenn Sie auf Master-Niveau studieren, sollten Sie bereits in mindestens einer Sprache programmieren können; um auf dieser Basis weitere Sprachen zu erlernen bedarf es keiner universitären Lehre. Sie erhalten hier vielmehr Einblicke in die objekt-funktionalen Sprachen zugrundeliegenden Konzepte am Beispiel von JavaScript, TypeScript, Smalltalk, Scala und F#, mit dem Potential (und der Absicht), Ihren Blick auf diese Sprachen (so Sie diese bereits kennen) zu verändern. Ihre dadurch erlangten Einsichten sollen es Ihnen später erlauben, einzelne Programmiersprachen hinsichtlich ihrer Eignung für gegebene Problemstellungen zu bewerten und auszuwählen.
Termine
Veranstaltungsbeginn: 01.04.2024
Material
Hinweis Diese Lehrveranstaltung beinhaltet zugriffsgeschütztes Material, das nur nach dem Login eingesehen werden kann.
Einheiten Einstieg
Informations-Schreiben PDF-Datei (öffentlich) Leseprobe PDF-Datei (öffentlich)
Moodle Umgebungen
Betreuung
Betreuende Liste der Campus Standorte bzw. Studienzentren

Irrtümer und nachträgliche Datenänderungen vorbehalten.


Seite erstellt in 0,1s  |  15.5.24,12:25 im Sommersemester 2024  |  realisiert durch das LVU-System
FernUni-Logo FernUniversität in Hagen, 58084 Hagen, Telefon: +49 2331 987-01, E-Mail: fernuni@fernuni-hagen.de