19300001        
        
          Lecture        
      
      WiSe 21/22: Functional Programming
Katharina Klost
Comments
Contents:
Introduction to Functional Programming (Haskell):
- Syntax (Backus-Naur Form)
- primitive data types, lists, tuples, strings
- 
 - expressions, function definitions, recursion and iteration evaluation strategies of functional programs
- higher-order functions
- polymorphism
- type system and verification
 
- Algebraic and abstract data types
- input, output and Monads
- searching and sorting algorithms
Introduction of computability:
- Lambda calculus
- Primitive Recursion
- μ-Recursion
Proofs of program properties:
- Term Rewriting
- Structural induction
- Termination
Implementation and programming technique:
- Modular program design
Suggested reading
- Simon Thompson: Haskell: The Craft of Functional Programming, 2nd Edition, Addison-Wesley, 1999
- Graham Hutton: Programming in Haskell, Cambridge University Press, 2007
- Bird, R./Wadler, Ph.: Einführung in Funktionale Programmierung, Hanser Verlag, 1982
- Hans Hermes: Aufzählbarkeit, Entscheidbarkeit, Berechenbarkeit, Springer-Verlag 1978
62 Class schedule
Additional appointments
Wed, 2022-03-02 10:00 - 12:30Klausur: Funktionale Programmierung
    
    
    
          
          
            
              Wed, 2022-03-02 10:00 - 12:30            
                Klausur: Funktionale Programmierung
    Klausur: Funktionale Programmierung
    Klausur: Funktionale Programmierung
    Klausur
    
              
                Location:
                
              
                  T9/046 Seminarraum (Takustr. 9)                              
Nachklausur
    
              
                Location:
                
              
                  T9/Gr. Hörsaal (Takustr. 9)                              
Nachklausur
    
    
    
          
          
            
              Mon, 2022-04-04 14:00 - 16:30            
                Nachklausur
    Klausur
    Nachklausur
    Klausureinsicht Funktionale Programmierung
    
    
    
          
          
            
              Thu, 2022-04-07 14:30 - 16:00            
                Klausureinsicht Funktionale Programmierung
    Regular appointments
                  
                    
                      Wed, 2021-10-20 10:00 - 12:00                    
                        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
              Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2021-10-27 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2021-11-03 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2021-11-10 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2021-11-17 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2021-11-24 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2021-12-01 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2021-12-08 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2021-12-15 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-01-05 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-01-12 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-01-19 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-01-26 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-02-02 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-02-09 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-02-16 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                
                  
                    
                      Wed, 2021-10-20 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2021-10-27 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2021-11-03 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2021-11-10 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2021-11-17 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2021-11-24 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2021-12-01 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2021-12-08 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2021-12-15 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2022-01-05 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2022-01-12 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2022-01-19 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2022-01-26 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2022-02-02 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2022-02-09 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Wed, 2022-02-16 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                
              Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    Funktionale Programmierung (Serientermin 1)
    
                  
                    
                      Mon, 2021-10-25 10:00 - 12:00                    
                        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
              Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2021-11-01 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2021-11-08 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2021-11-15 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2021-11-22 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2021-11-29 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2021-12-06 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2021-12-13 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-01-03 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-01-10 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-01-17 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-01-24 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-01-31 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-02-07 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-02-14 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                
                  
                    
                      Mon, 2021-10-25 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2021-11-01 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2021-11-08 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2021-11-15 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2021-11-22 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2021-11-29 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2021-12-06 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2021-12-13 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2022-01-03 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2022-01-10 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2022-01-17 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2022-01-24 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2022-01-31 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2022-02-07 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                  
                    
                      Mon, 2022-02-14 10:00 - 12:00                    
                        
    
          
    
        
        
    
    
    
    
                  
                
              Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    Funktionale Programmierung (Serientermin 2)
    