The students gain a comprehensive theoretical and practicalunderstanding of the foundations, principles, and concepts offunctional programming, learn to valuate their eligibility for thesolution of programming tasks, and to apply them adequately andmeaningfully in the functional programming style.
The course introduces the principles and concepts of functionalprogramming, where it stretches from the foundations to theapplication. Using concrete problems as examples it will bedemonstrated and discussed how to use them for solving problems in thecomplementary plenary tutorial Haskell Live. Own proposals to solvespecific problems can be presented and put up fordiscussion. Practical assignments as part of the lab tutorial offerthe opportunity to independently apply and practice the functionalprogramming style, and to gain a deep practical understanding of theconcepts and principles of functional programming. For demonstrationand implementation in course and tutorials the state-of-the-artfunctional programming language Haskell is used.
Part I: Introduction
Part II: Applicative Programming
Part III: Functional Programming
Part IV: Foundations of Functional Programming
Part V: Extensions and Advanced Concepts
Part VI: Conclusions and Prospectives
ECTS Break Down:
The course is assigned 3.0 ECTS points. This corresponds to an averageworkload of 75 hours. This average workload is divided among thevarious parts of the course as follows:
Assessment of the programming assignments and the written examinationon the lecture and tutorial material. Further information on theexamination modalities are given on the homepage of the course.