Deskriptive Programmierung, Sommersemester 2016
Organisatorisches:
Die drei wöchentlichen Termine (zweimal Vorlesung, einmal Übung) sind:
- Montag, 10:15-11:45
- Freitag, 10:15-11:45
- Freitag, 12:15-13:45
Materialien:
Folien bis zur 9. VorlesungAktuelle Informationen und fortlaufende Materialien zur Lehrveranstaltung befinden sich nun auf der Vorlesungsseite im eCampus-System der Uni Bonn (Link; Uni-ID nötig).
Voraussetzungen:
Die Lehrveranstaltung richtet sich in erster Linie an Bachelor-Studierende der Informatik. Sie gehört zum Wahlpflichtbereich, kann jedoch auch bereits im 2. Fachsemester belegt werden. Regelmäßig nehmen auch Studierende der Mathematik teil. Vorausgesetzt werden die Beherrschung des Programmierens in einer beliebigen Programmiersprache sowie mathematische und logische Grundlagen wie etwa in der Lehrveranstaltung Logik und diskrete Strukturen (insbesondere Kapitel 2 und 5 und der allgemeine Teil von Abschnitt 4.3) vermittelt.Studentische Sicht auf die Lehrveranstaltung:
Durch die Fachschaft durchgeführte Lehrevaluationen:- Sommersemester 2016
- Sommersemester 2015
- Sommersemester 2014
- Sommersemester 2013
- Sommersemester 2012
- Sommersemester 2011
- Sommersemester 2010
Kann man funktionale Programmierung denn auch in der "echten Welt" einsetzen?
Ja, absolut, siehe zum Beispiel Commercial Users of Functional Programming.Ergebnisse studentischer Projekte:
Aus dem aktuellen Semester:- Sudoku (source)
- ELMion (source)
- Magic-Bibliothek (source)
- Mensch-ärger-dich-nicht (source)
- Spotlight (source)
- Rätselspiel (source)
- Rocket (source)
- Digit-Recognizer (source)
- Gold Miner (source)
- Don't fall (source)
- Physics game (source)
- LoL Champions (source)
- Nonograms (source)
- Schiffe versenken (source)
- 2048 clone (source)
- Sudoku (source)
- Flood It clone (source)
- Asteroids clone (source)
- Tiny jump & run game (source)
- Chess Board (source)
- Duotris clone (source)
- Game of Life (source)
- Mühle (source)
- Ultimate Tic Tac Toe (source)
- Minesweeper clone (source)
- Breakout clone (source)
- Das verrückte Labyrinth (source)
- Geometry App (source)
Einige Lehrbücher:
- Thinking Functionally with Haskell, book by Richard Bird
- Haskell-Intensivkurs, Buch von Marco Block und Adrian Neumann
- Programming in Haskell, book by Graham Hutton
- Learn You a Haskell for Great Good!, book by Miran Lipovaca (freely available online)
- Beginning Haskell, book by Alejandro Serrano Mena
- Haskell: the Craft of Functional Programming, book by Simon Thompson
Online-Ressourcen:
- various Haskell Cheatsheets, by different people
- Haskell Kurs, deutsch, von Ralf Hinze
- Haskell homepage
- Functional Programming Fundamentals, online lectures by Erik Meijer (based on Graham Hutton's book): chapter 1, chapter 2, chapter 3, chapter 4, chapter 5, chapter 6, chapter 7, chapter 8, chapter 9, chapter 10, chapter 11, chapter 12, chapter 13
Weiterführendes Material:
- Deutschsprachiger Blog zur Funktionalen Programmierung, diverse Autoren
- A History of Haskell: Being Lazy with Class, article by Paul Hudak, John Hughes, Simon Peyton Jones, and Philip Wadler
- Real World Haskell, book by Bryan O'Sullivan, Don Stewart, and John Goerzen (freely available online)
- Parallel and Concurrent Programming in Haskell, book by Simon Marlow (freely available online)
- Advanced Functional Programming, online lectures by Ralf Lämmel: lecture 1, lecture 2, lecture 3, lecture 4, lecture 5
- Curry homepage
- Functional Logic Programming, article by Sergio Antoy and Michael Hanus