193
Teilnahmepflicht

Wenn eine Veranstaltungsinstanz aus einer Schablone erstellt wird, befindet sie sich in diesem Zustand.

  • Die Daten sind in der Regel noch nicht vollständig und es kann noch alles bearbeitet werden.
  • Dozenten und Sekretariate können den Zuständ auf Bearbeitet setzen.

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.

Contents: 

Introduction to Functional Programming (Haskell): 

  • Syntax (Backus-Naur Form) 
  • primitive data types, lists, tuples, strings 
  • expressions, function definitions, recursion and iteration 
    • evaluation strategies of functional programs
    • higher-order functions
    • polymorphism 
    • type system and verification 
  • Algebraic and abstract data types 
  • input, output and Monads
  • searching and sorting algorithms 

Introduction of computability: 

  • Lambda calculus 
  • Primitive Recursion 
  • μ-Recursion 

Proofs of program properties: 

  • Term Rewriting 
  • Structural induction 
  • Termination 

Implementation and programming technique: 

  • Modular program design

Sprachübergreifend

193 076
Teilnahmepflicht

Werdende Mütter

Keine Gefährdungen vorliegend
Teilweise Gefährdungen vorliegend
Alternative Lehrveranstaltung
Gefährdungen vorliegend

Stillende Mütter

Keine Gefährdungen vorliegend
Teilweise Gefährdungen vorliegend
Alternative Lehrveranstaltung
Gefährdungen vorliegend

Begleitveranstaltungen

Übung zu ProInformatik II: Funktionale Programmierung

Werdende Mütter

Keine Gefährdungen vorliegend
Teilweise Gefährdungen vorliegend
Alternative Lehrveranstaltung
Gefährdungen vorliegend

Stillende Mütter

Keine Gefährdungen vorliegend
Teilweise Gefährdungen vorliegend
Alternative Lehrveranstaltung
Gefährdungen vorliegend