• Martin Thoma
  • Home
  • Categories
  • Tags
  • Archives
  • Support me

Programmierparadigmen Klausur

Contents

  • Programmierparadigmen Klausur
    • Behandelter Stoff
      • Vorlesung
      • Übungsblätter
      • Tutorium
    • Material
    • Klausurvorbereitung
    • Übungsbetrieb
    • Termine und Klausurablauf
    • Ergebnisse
    • Kritik
Dieser Artikel beschäftigt sich mit der Vorlesung „Programmierparadigmen“ am KIT. Er dient als Prüfungsvorbereitung. Ich habe die Vorlesungen bei Herrn Prof. Dr. Snelting im Wintersemester 2013/2014 gehört.

Behandelter Stoff

Vorlesung

Datum Kapitel Inhalt
23.10.2013 Funktionale Programmierung 10 Haskell: Quicksort, Listen, Filter, Cons-Operator
25.10.2013 Funktionale Programmierung 11 Haskell: filter, map, iter, foldr, foldl, Currying, Extensionalitätsprinzip, Kombinatoren (Summe, Produkt), flatten, cons, zip
30.10.2013 Funktionale Programmierung 12 Haskell: zipWith, short circuit evaluation, foldl, foldr, Unendliche Listen, Typen, Polymorphie
06.11.2013 Backtracking, Algebraische und rekursive Datentypen, map for trees, Typklassen
08.11.2013   Typklassen, Monaden
13.11.2013   Sichtbarkeitsbereich $\subseteq$ Gültigkeitsbereich; $\alpha$ / $\eta$-Äqivalenz, Redex; Funktion, die sich als eigenes Argument nimmt; $\lambda$-Klakül ist Turing-Mächtig
29.11.2013 Logische Programmierung Prolog
10.01.2014 Scala Kein `;`, weniger verbose als Java, ...
15.01.2014 Scala Concurrency in Scala: Actors, react; MPI, OpenMP
22.01.2014 - X10: async, val, var
24.01.2014 - C (volatile)

Übungsblätter

Übungsblatt Inhalt
ÜB 0: Haskell Haskell installieren (siehe UbuntuUsers), Maximum dreier Zahlen berechnen
ÜB 1: Rekursive Funktionen in Haskell Potenzen, Primzahlen, Sortieren

Tutorium

16.12.2013

let f = \ x.plus x x in f (f c_2)    ^= (\ f. f (f c_2)) (\x. plus x x)

let wird wegen dem Typsystem benötigt (let ist polymorph, \(\lambda\)-Term nicht).

let f = \x.1 in (f 7) + (f["a"])    ^= (\ f.   ) (\ x. 1)
    f: \alpha_5 -> int
    f: \forall \alpha_5. \alpha_5 \rightarrow int

Material

  • Inoffizielles Skript in A5 (LaTeX-Quellen): Wer das gerne für ca. 10 Euro in SW gedruckt mit Ringbindung hätte, soll mir eine E-Mail schreiben
  • Vorlesungswebsite und Übungsblätter
  • Ein Anki-Deck (NICHT meines!)
  • Stackexchange:
  • What is the meaning of M ⊨ φ?
  • How can I compile the x10 example?
  • What is the difference of 'async' before or after 'for' in X10?
  • How do I generate and print Fibonacci numbers in X10?
  • What is the difference between ifne and ifnonnull?
  • Haskell list comprehension - list of all list splits
  • How can I ask questions on a family tree in Prolog?

Klausurvorbereitung

  • H-99: Ninety-Nine Haskell Problems
  • P-99: Ninety-Nine Prolog Problems
  • Scala
  • S-99: Ninety-Nine Scala Problems
  • Learning Scala by Joel Abrahamsson

Übungsbetrieb

  • Wo sind die Übungsblätter: Link
  • Abgabeform: auf Papier und via E-Mail
  • Abgabe: Datum steht auf den Übungsblättern; Ort: Kasten im Keller des Infobaus
  • Rücknahme: im Tutorium
  • Turnus: wöchentlich, erscheint am Donnerstag.
  • Übungsschein verpflichtend: Es gibt keinen Übungsschein.
  • Bonus durch Übungsschein: Es gibt keinen Klausurbonus.

Termine und Klausurablauf

Siehe Klausurtermine-Seite für zukünftige Termine (z.B. Programmierparadigmen am 23.09.2014)

Datum: Donnerstag, den 10. April 2014 von 14:00 bis 16:00 Uhr (Quelle)
Ort: Audimax (Quelle)
Punkte: 120
Punkteverteilung: Vermutlich etwas in dieser Richtung:

  • 25 Punkte: Haskell / Scala
  • 20 Punkte: Logische Programmierung
  • 25 Punkte: Typinferenz / Lambda-Kalkül
  • 10 Punkte: C
  • 10 Punkte: MPI
  • 10 Punkte: X10
  • 20 Punkte: Compilerbau

Bestehensgrenze: ?
Übungsschein: Gibt es nicht.
Bonuspunkte: Gibt es nicht.
Ergebnisse: stehen seit dem 17.04.2014 fest
Einsicht: am Mittwoch den 30.04.2014, 14:00 Uhr - 16:00 in Raum 010, Informatik Gebäude (Geb. 50.34) (bekanntgegeben über Vorlesungswebsite am 17.04.2014)
Erlaubte Hilfsmittel: (siehe Website)

Erlaubte Hilfsmittel für die Klausur sind alle Quellen in Papierform, insbesondere
  • Vorlesungsfolien der Veranstaltung Programmierparadigmen
  • Übungszettel und Beispiellösungen der Veranstaltung Programmierparadigmen
  • Bücher, Ausdrucke und beliebige eigenen Aufzeichnungen

Ergebnisse

Stehen seit dem 17.04.2014 fest.

Kritik

In der Vorlesung werden zu viele Inhalte behandelt. Eine Folge ist, dass nichts richtig behandelt wird. Außerdem erscheinen mir einige der Inhalte weder in der Wissenschaft noch in der Wirtschaft relevant zu sein (Prolog, X10). Ich würde vorschlagen diese Inhalte zu entfernen. Wenn man der Meinung ist, dass man Parallelität mehr behandeln sollte, dann wäre vermutlich CUDA deutlich wichtiger als X10.


Published

Okt 24, 2013
by Martin Thoma

Category

German posts

Tags

  • Haskell 1
  • Klausur 34
  • Programmierparadigmen 1

Contact

  • Martin Thoma - A blog about Code, the Web and Cyberculture
  • E-mail subscription
  • RSS-Feed
  • Privacy/Datenschutzerklärung
  • Impressum
  • Powered by Pelican. Theme: Elegant by Talha Mansoor