19300001        
        
          Lecture        
      
      WiSe 22/23: 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
31 Class schedule
Additional appointments
Tue, 2023-02-21 10:00 - 13:00Klausur
    
    
    
          
          
            
              Fri, 2023-03-03 10:00 - 12:00            
                Klausureinsicht
    
    
    
          
          
            
              Tue, 2023-03-14 14:00 - 16:00            
                Klausureinsicht
    
    
    
          
          
            
              Thu, 2023-04-06 14:00 - 16:30            
                Nachklausur
    
    
    
          
          
            
              Thu, 2023-04-06 14:00 - 16:30            
                Nachklausur
    
              
                Location:
                
              
                  T9/Gr. Hörsaal (Takustr. 9)                              
Regular appointments
                  
                    
                      Wed, 2022-10-19 10:00 - 12:00                    
                        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
              Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-10-26 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-11-02 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-11-09 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-11-16 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-11-23 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-11-30 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-12-07 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2022-12-14 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2023-01-04 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2023-01-11 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2023-01-18 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2023-01-25 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2023-02-01 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2023-02-08 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                  
                    
                      Wed, 2023-02-15 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 1)
    
    
    
                  
                
                  
                    
                      Mon, 2022-10-24 10:00 - 12:00                    
                        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
              Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-10-31 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-11-07 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-11-14 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-11-21 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-11-28 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-12-05 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2022-12-12 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2023-01-02 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2023-01-09 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2023-01-16 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2023-01-23 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2023-01-30 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2023-02-06 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                  
                    
                      Mon, 2023-02-13 10:00 - 12:00                    
                        Funktionale Programmierung (Serientermin 2)
    
    
    
                  
                