Lehrstuhl Informatik II   
Sprachen und Beschreibungsstrukturen      
   Home Lehre Wintersemester 18/19 Vorlesungen Functional Programming and Verification login

Functional Programming and Verification

Dozent:Prof. Dr. Helmut Seidl
Ort/Zeit:Friday, 08:15 - 09:45 / MW 2001 Rudolf-Diesel-Hörsaal
ModulNummer:IN0003
Beschreibung:    This lecture introduces the basic concepts of functional programming by the example of the OCaml language. Furthermore, techniques to prove properties of imperative and functional programs are taught.

(Hint: This site will be updated regularly. Last modification: August 30th, 2018)

News

  • We started the preparation of the upcoming lecture and are now looking for tutors. If you are interested, please apply here. Do not hesitate to contact Nico Hartmann if you have any questions about the lecture, the tutor positions or your eligibility.

Content

  • Correctness of imperative programs
  • Fundamentals of functional programming with OCaml
    • values, variables, functions
    • data structures, pattern matching
    • higher order functions
    • polymorphic types
    • queues
  • Programming on the whole: Modules and functors
  • Correctness of functional programs
  • Concurrency with channels and rendezvous

Lecture

The lecture takes place on friday from 08:15 to 09:45 in MW 2001 Rudolf-Diesel-Hörsaal. The first lecture is on October 19th, 2018.

 

The lecture will be given in English.

coming soon...

Exercises

Nico Hartmann and Ralf Vogler are responsible for the weekly exercises accompanying the lecture.

Solving the homework assignments is necessary to pass the exam and in order to be able to do so, active participation in the exercise sessions is highly recommended.

Exercises will be offered in German as well as English.

We offer the following tutorials:

Note: For incomprehensible reasons, TUMonline has an upper limit of 25 groups per lecture instance. Since this is no longer sufficient for the size of our lecture, we have been forced to use two instances for this year. Therefore, you will find two entries for exercises in TUMonline of which the first one contains the Monday, Tuesday and Wednesday groups and the second one the Thursday and Friday groups respectively. You will thus be registered in one of them only. If you find this uncomfortable, annoying or merely ridiculous, we invite you to let the responsible parties (here and here) know it, as we are doing for years now.

Group Date Room Tutor Lang
A.10.1 Mo. 10-12 00.08.059    
A.12.1 Mo. 12-14 00.13.054    
A.12.2 Mo. 12-14 00.08.059    
A.16.1 Mo. 16-18 00.08.059    
A.16.2 Mo. 16-18 02.07.014    
B.08.1 Tu. 08-10 01.11.018    
B.12.1 Tu. 12-14 03.09.012    
B.16.1 Tu. 16-18 02.13.010    
C.08.1 We. 08-10 00.13.008    
C.14.1 We. 14-16 00.08.059    
C.14.2 We. 14-16 02.07.014    
C.16.1 We. 16-18 00.08.059    
C.16.2 We. 16-18 00.13.008    
C.16.3 We. 16-18 01.11.018    
D.08.1 Th. 08-10 01.11.018    
D.10.1 Th. 10-12 01.11.018    
D.10.2 Th. 10-12 00.11.038    
D.12.1 Th. 12-14 00.08.059    
D.12.2 Th. 12-14 00.13.036    
D.14.1 Th. 14-16 00.08.059    
D.14.2 Th. 14-16 00.13.036    
D.16.1 Th. 16-18 00.13.036    
D.16.2 Th. 16-18 00.08.059    
E.10.1 Fr. 10-12 00.08.038    
E.10.2 Fr. 10-12 01.11.018    
E.12.1 Fr. 12-14 02.07.014    
E.12.2 Fr. 12-14 00.08.059    
E.14.1 Fr. 14-16 00.08.059    
E.14.2 Fr. 14-16 00.13.008    


Question Time

coming soon...

Participate

coming soon...

Exams

Exam: Wednesday, February 20th, 2019 from 16:00 to 18:00.

Repeat Exam: Tuesday, April 16th, 2019 from 10:30 to 12:30.

You will be allowed to bring a double-sided (hand- and/or machine-written) DIN A-4 sheet to the exam.

 

Additional Material

Literature

  • OCaml Documentation (esp. "The core language")
  • Guy Cousineau und Michel Mauny, The Functional Approach to Programming, Cambridge University Press, Cambridge, 1998
  • T. Ottmann, P. Widmayer: Algorithmen und Datenstrukturen. Spektrum 2002
 


angehängte Dateien:

    ws17_bundle.tar.gz

TUM - Lehrstuhl Informatik II (Sprachen und Beschreibungsstrukturen) Thanks: Tango and TinyMCE     Generationszeit: 10 ms