ALP 1: Unterschied zwischen den Versionen

Aus Wiki - FSI Mathe/Info
(Die Seite wurde neu angelegt: „=Stoff= In der Veranstaltung werden folgende Themen behandelt: ==Grundlagen der Berechenbarkeit== *Lambda-Kalkül *primitive Rekursion *µ-Rekursion ==Einführun...“)
 
K ({{Veraltet}})
 
(21 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Stoff=
{{Veraltet}}
In der Veranstaltung werden folgende Themen behandelt:
 
==Grundlagen der Berechenbarkeit==
'''Diese Seite bezieht sich auf das Modul "Funktionale Programmierung" nach der [http://www.fu-berlin.de/service/zuvdocs/amtsblatt/2007/ab062007.pdf 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
*Lambda-Kalkül
*primitive Rekursion
*primitive Rekursion
*µ-Rekursion
*µ-Rekursion


==Einführung in die Funktionale Programmierung (Haskell)==
===Einführung in die Funktionale Programmierung (Haskell)===
*Syntax (Backus-Naur-Form)
*Syntax (Backus-Naur-Form)
*primitive Datentypen, Listen, Tupel, Zeichenketten
*primitive Datentypen, Listen, Tupel, Zeichenketten
Zeile 16: Zeile 22:
*Such- und Sortieralgorithmen
*Such- und Sortieralgorithmen


==Beweisen von Programmeigenschaften==
===Beweisen von Programmeigenschaften===
*Termersetzung
*Termersetzung
*strukturelle Induktion
*strukturelle Induktion
*Terminierung
*Terminierung


==Implementierung und Programmiertechnik==
===Implementierung und Programmiertechnik===
*Auswertungsstrategien für funktionale Programme
*Auswertungsstrategien für funktionale Programme
*Modularer Programmentwurf
*Modularer Programmentwurf


=Klausuren=
==Folien==
to add
'''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/WS10/ALP1/material.html WiSe 10/11 Heinz Schweppe]
 
==Alte Übungen==
*[http://www.najavonschmude.de/downloads/alp1-zettel.zip Übungsblätter und Lösungen WiSe06/07]
*[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/WS10/ALP1/uebungen.html Übungsblätter WiSe10/11]


=nützliche Links=
==Klausuren==
[http://www.inf.fu-berlin.de/lehre/WS07/ALPI/nachklausur.pdf Klausur-WiSe07/08] und [http://www.inf.fu-berlin.de/lehre/WS07/ALPI/Haskell/NachKlausur.hs Lösung]
 
==nützliche Links==
*[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]
*[https://www.haskell.org/hugs/pages/documentation.htm Hugs-Dokumentation]
*[http://benpico.spline.de/studium/Alp/I/ gelöste Übungen]
[[Category:Informatik|ALP 1]]
[[Kategorie:Studienmodule/Informatik]]

Aktuelle Version vom 4. Oktober 2023, 15:03 Uhr

Dieser Artikel / Abschnitt ist veraltet!

Alle Seiten, in denen diese Vorlage verwendet wird, werden automatisch in die Kategorie:Veraltet einsortiert.

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

Qualifikationsziele[Bearbeiten]

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[Bearbeiten]

Grundlagen der Berechenbarkeit[Bearbeiten]

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

Einführung in die Funktionale Programmierung (Haskell)[Bearbeiten]

  • 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[Bearbeiten]

  • Termersetzung
  • strukturelle Induktion
  • Terminierung

Implementierung und Programmiertechnik[Bearbeiten]

  • Auswertungsstrategien für funktionale Programme
  • Modularer Programmentwurf

Folien[Bearbeiten]

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

Alte Übungen[Bearbeiten]

Klausuren[Bearbeiten]

Klausur-WiSe07/08 und Lösung

nützliche Links[Bearbeiten]