ALP 1: Unterschied zwischen den Versionen

Aus Wiki - FSI Mathe/Info
K (typo)
K (update hugs documentation link)
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 30: Zeile 30:


==Folien==
==Folien==
'''Manche Materialien sind nur aus dem FU-Netzwerk zu erreichen!
'''
*[http://www.inf.fu-berlin.de/lehre/WS08/alpi/folien.html WiSe 08/09 Raúl Rojas]
*[http://www.inf.fu-berlin.de/lehre/WS08/alpi/folien.html WiSe 08/09 Raúl Rojas]
*[http://www.esponda.de/ALPI_09_10/lectures.html WiSe 09/10 Margarita Esponda]
*[http://www.inf.fu-berlin.de/lehre/WS10/ALP1/material.html WiSe 10/11 Heinz Schweppe]
*[http://www.inf.fu-berlin.de/lehre/WS10/ALP1/material.html WiSe 10/11 Heinz Schweppe]


Zeile 38: Zeile 39:
*[http://www.inf.fu-berlin.de/lehre/WS07/ALPI/Material.html Übungsblätter und Programmierbeispiele WiSe07/08]
*[http://www.inf.fu-berlin.de/lehre/WS07/ALPI/Material.html Übungsblätter und Programmierbeispiele WiSe07/08]
*[http://www.inf.fu-berlin.de/lehre/WS08/alpi/tutorien.html Übungsblätter WiSe08/09]
*[http://www.inf.fu-berlin.de/lehre/WS08/alpi/tutorien.html Übungsblätter WiSe08/09]
*[http://www.esponda.de/ALPI_09_10/homeworks.html Übungsblätter WiSe09/10]
*[http://www.inf.fu-berlin.de/lehre/WS10/ALP1/uebungen.html Übungsblätter WiSe10/11]
*[http://www.inf.fu-berlin.de/lehre/WS10/ALP1/uebungen.html Übungsblätter WiSe10/11]


Zeile 47: Zeile 47:
*[http://learnyouahaskell.com/ Haskell-Tutorial]
*[http://learnyouahaskell.com/ Haskell-Tutorial]
*[http://www.zvon.org/other/haskell/Outputglobal/index.html Haskell-Referenz]
*[http://www.zvon.org/other/haskell/Outputglobal/index.html Haskell-Referenz]
*[http://cvs.haskell.org/Hugs/pages/documentation.htm Hugs-Dokumentation]
*[https://www.haskell.org/hugs/pages/documentation.htm Hugs-Dokumentation]
*[http://benpico.spline.de/studium/Alp/I/ gelöste Übungen]
*[http://benpico.spline.de/studium/Alp/I/ gelöste Übungen]


[[Category:Informatik|ALP 1]]
[[Category:Informatik|ALP 1]]
[[Kategorie:Studienmodule/Informatik]]
[[Kategorie:Studienmodule/Informatik]]

Version vom 29. Dezember 2014, 21:15 Uhr

Diese Seite bezieht sich auf das Modul "Funktionale Programmierung" nach der Studien- und Prüfungsordnung vom 8.2.2007.

Qualifikationsziele

Die Studentinnen und Studenten sind in der Lage, elementare Algorithmen funktional zu entwerfen, Anforderungen an funktionale Programme formal zu spezifizieren, gut strukturierte funktionale Programme zu entwickeln, funktionale Programme hinsichtlich ihres Aufwandes zu untersuchen und Eigenschaften funktionaler Programme formal zu beweisen. Sie haben ein grundlegendes Verständnis der Berechenbarkeit.

Stoff

Grundlagen der Berechenbarkeit

  • Lambda-Kalkül
  • primitive Rekursion
  • µ-Rekursion

Einführung in die Funktionale Programmierung (Haskell)

  • Syntax (Backus-Naur-Form)
  • primitive Datentypen, Listen, Tupel, Zeichenketten
  • Ausdrücke, Funktionsdefinitionen, Rekursion und Iteration
  • Funktionen höherer Ordnung, Polymorphie
  • Typsystem, Typherleitung und –überprüfung
  • Algebraische und abstrakte Datentypen
  • Ein- und Ausgabe
  • Such- und Sortieralgorithmen

Beweisen von Programmeigenschaften

  • Termersetzung
  • strukturelle Induktion
  • Terminierung

Implementierung und Programmiertechnik

  • Auswertungsstrategien für funktionale Programme
  • Modularer Programmentwurf

Folien

Manche Materialien sind nur aus dem FU-Netzwerk zu erreichen!

Alte Übungen

Klausuren

Klausur-WiSe07/08 und Lösung

nützliche Links