Funktionale Programmierung
Funktionale Programmierung | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Organisationseinheit Freie Universität Berlin/Mathematik und Informatik/Informatik |
|||||||||||
Ursprung Dies ist ein Verweis auf den Eintrag in inf_bsc_2014 (Funktionale Programmierung) |
|||||||||||
Bereich
|
|||||||||||
Zugangsvoraussetzungen Keine |
|||||||||||
Qualifikationsziele Die Studentinnen und Studenten kennen die Grundbegriffe zu Algorithmen und der funktionalen Programmierung. Sie können am Ende des Moduls Beschreibungen und Quelltexte elementarer Algorithmen lesen und verstehen, elementare Algorithmen funktional entwerfen, Anforderungen an funktionale Programme spezifizieren, Beschreibungen von Programmkomponenten verstehen und diese in eigenen Programmen benutzen, einfache Programme an geänderte Anforderungen anpassen, strukturierte Programme entwickeln, Eigenschaften von funktionalen Programmen formal beweisen. Sie verstehen die Begriffe Laufzeit und Korrektheit und können diese Begriffe einsetzen. Sie haben ein grundlegendes Verständnis der Berechenbarkeit. |
|||||||||||
Inhalte Studentinnen und Studenten erlernen die Grundlagen des Programmierens im Kleinen. Es werden die Grundlagen der Berechenbarkeit (Lambda-Kalkül, primitive Rekursion, Fixpunkte), eine Einführung in die Theorie der Programmiersprachen (Syntax [Backus-Naur-Form], operationale Semantik, Daten und Programm) gegeben. Es werden Konzepte funktionaler Programmierung (z. B. elementare Datentypen, Ausdrücke, Funktionsdefinition, Rekursion, Funktionsabstraktion, Closure, Funktionen höherer Ordnung, universelle Polymorphie) und deren Ausführung (Auswertungsstrategien) eingeführt. Es werden Techniken zum Beweisen von Programmeigenschaften (Termersetzung, strukturelle Induktion, Terminierung, Church-Rosser-Theorem) und deren Anwendungen (Typsysteme, Typherleitung und Typüberprüfung) eingeführt. Grundlegende Abstraktionen wie algebraische und abstrakte Datentypen und modularer Programmentwurf, sowie Nebenwirkungen (z. B. durch Monaden) anhand von Ein- und Ausgabe werden behandelt. |
|||||||||||
Lehr- und Lernformen | Aktive Teilnahme | ||||||||||
Vorlesung 4 SWS Teilnahme empfohlen |
- |
||||||||||
Seminar am PC 2 SWS verpflichtete Teilnahme |
Schriftliche Bearbeitung von Übungsblättern; mündliche Präsentationen von Übungsaufgaben |
||||||||||
Aufwand
|
|||||||||||
Modulprüfung Klausur (120 Minuten); die Klausur kann auch in Form einer elektronischen Prüfungsleistung (120 Minuten) durchgeführt werden. |
|||||||||||
Differenzierte Bewertung differenzierte Bewertung |
|||||||||||
Modulsprache Deutsch |
|||||||||||
Arbeitsaufwand (Stunden) 270 |
|||||||||||
Leistungspunkte (LP) 9 |
|||||||||||
Dauer des Moduls Ein Semester |
|||||||||||
Häufigkeit des Angebots Jedes Wintersemester |
|||||||||||
Verwendbarkeit Bachelorstudiengang Informatik, Bachelorstudiengang Informatik für das Lehramt |
|||||||||||
Querverweis zu anderen Studien/Prüfungsordnungen mit dem gleichen Titel |