185.A05 Advanced Functional Programming
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2013S, VU, 2.0h, 3.0EC, to be held in blocked form

Properties

  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise

Aim of course

The participants shall conceive in theory and practice advanced
concepts and principles of functional programming and their
applications, and be able to use and apply them competently and
adequately in known as well as in new application scenarios.

Subject of course

The course is concerned with advanced concepts and principles of
functional programming and their applications. The lecture part of the
course stretches from functional programming principles to quality
assurance, advanced languages concepts, and applications. Regularly
assigned exercises of the tutorial part of the course give a hands-on
experience of applying the concepts and principles to problems of
suitable kind, size and complexity to get to a profound understanding
of them in theory and practice.

Part I: Motivation

  • Why Functional Programming Matters

Part II: Programming Principles

  • Programming with Streams
  • Programming with Higher-Order Functions
  • Equational Reasoning

Part III: Quality Assurance

  • Testing
  • Verification

Part IV: Advanced Language Concepts

  • Functional Arrays
  • Abstract Data Types
  • Monoids
  • Functors
  • Monads
  • Arrows

Part V: Applications

  • Parsing
  • Logical Programming Functionally
  • Pretty Printing
  • Functional Reactive Programming

Part VI: Extensions and Prospectives

  • Extensions for Parallelism and Real World Programming
  • Conclusions and Prospectives

 

 

Additional information

A joint pre-meeting for all courses offered by the Compilers and
Languages group takes place on Wednesday, 6 March 2013, 1.00pm
-2.00pm, in the lecture room EI4, 2nd floor, Gußhausstr. 25-29.

A specific pre-meeting for the lecture course LVA "Advanced functional
Programming" and the first lecture take place on Thursday, 7 March
2013, at 4.15pm in the "Seminarraum Argentinierstr.".

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Thu16:00 - 18:0007.03.2013 - 04.07.2013Seminarraum Argentinierstrasse Advanced Functional Programming
Advanced Functional Programming - Single appointments
DayDateTimeLocationDescription
Thu07.03.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu14.03.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu21.03.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu28.03.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu04.04.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu11.04.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu18.04.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu25.04.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu02.05.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu09.05.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu16.05.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu23.05.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu30.05.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu06.06.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu13.06.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu20.06.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu27.06.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Thu04.07.201316:00 - 18:00Seminarraum Argentinierstrasse Advanced Functional Programming
Course is held blocked

Examination modalities

Grading of assignments and an oral examination. The final grade is
composed of the grades of the regular assignments (50%) and the grade
of the final oral examination (50%). Further information on the
examination modalities are given on the homepage of the course.

Course registration

Curricula

Literature

No lecture notes are available.

Previous knowledge

Basic knowledge of the functional programming paradigm as
e.g. imparted in the course LVA 185.A03 "Funktionale Programmierung"
is mandatory.

Preceding courses

Accompanying courses

Miscellaneous

Language

German