Fortgeschrittene funktionale Programmierung
LVA 185.A05, VU 2.0, ECTS 3.0, 2016 S
(zweistündige Vorlesung mit Übung; siehe auch
TISS/185.A05)
Are you interested in studying abroad and getting funding for this?
Information on funding opportunities is available
here.
Course Meetings
- Thursday, June 23, 2016, 4.15 p.m. - 5.45 p.m.,
lecture room on the ground floor of the building Argentinierstr. 8.
- Thursday, June 16, 2016: No lecture to allow attending the
epilog (moved to March 18, 2016).
- Friday, June 10, 2016: 4.15 p.m. - 5.45 p.m.,
EI 4 Reithoffer HS, Elektrot.Institutsg., Gußhausstr. 25-29, 2nd floor.
- Thursday, June 9, 2016: No lecture to allow attending the
Gödel-Lecture with Jeannette Wing.
- Thursday, June 2, 2016, 4.15 p.m. - 5.45 p.m.,
lecture room on the ground floor of the building Argentinierstr. 8.
- Thursday, May 26, 2016: No lecture (Public holiday)
- Thursday, May 19, 2016, 4.15 p.m. - 5.45 p.m.,
lecture room on the ground floor of the building Argentinierstr. 8.
- Thursday, May 12, 2016, 4.15 p.m. - 5.45 p.m.,
lecture room on the ground floor of the building Argentinierstr. 8.
- Thursday, May 5, 2016: No lecture (Public holiday)
- Thursday, April 28, 2016, 4.15 p.m. - 5.45 p.m.,
lecture room on the ground floor of the building Argentinierstr. 8.
- Thursday, April 21, 2016, 4.15 p.m. - 5.45 p.m.,
lecture room on the ground floor of the building Argentinierstr. 8.
- Friday, April 15, 2016: Invitation to a Research Talk on
Functional Reactive Programming for Real-Time and
Cyber-Physical Systems: Response Time Analysis, Scheduling,
and Verification
by Prof. Dr. Albert M.K. Cheng, University of Houston, TX, at 2.15pm in
Lecture Hall EI5 Hochenegg.
You are cordially invited to attend this presentation!
- Thursday, April 14, 2016: No lecture (moved to March 11, 2016)
- Thursday, April 7, 2016: No lecture (moved to March 4, 2016)
- Thursday, March 31, 2016: No lecture (Easter holiday)
- Thursday, March 24, 2016: No lecture (Easter holiday)
- Friday, March 18, 2016: 4.15 p.m. - 5.45 p.m.,
EI 4 Reithoffer HS, Elektrot.Institutsg., Gußhausstr. 25-29, 2nd floor.
- Thursday, March 17, 2016, 4.15 p.m. - 5.45 p.m.,
lecture room on the ground floor of the building Argentinierstr. 8.
- Friday, March 11, 2016: 4.15 p.m. - 5.45 p.m.,
EI 4 Reithoffer HS, Elektrot.Institutsg., Gußhausstr. 25-29, 2nd floor.
- Thursday, March 10, 2016, 4.15 p.m. - 5.45 p.m.,
lecture room on the ground floor of the building Argentinierstr. 8.
- Friday, March 4, 2016: 4.15 p.m. - 5.45 p.m.,
EI 4 Reithoffer HS, Elektrot.Institutsg., Gußhausstr. 25-29, 2nd floor.
- Thursday, March 3, 2016, 4.15 p.m. - 5.45 p.m., specific pre-meeting
and first lecture, lecture room on the ground floor of the building Argentinierstr. 8.
Course Pre-Meeting
A specific pre-meeting for the course takes place on
Thursday, 3 March 2016, 4 p.m.,
in the lecture room Seminarraum, Argentinierstraße 8.
Registration
The electronic course management system for registration is
open
until 11 March 2016.
Subject and Aim
The course is concerned with advanced concepts and principles of
functional programming and their applications, which the participants
shall learn and conceive in depth and to use and apply competently and
adequately in known as well as in new application scenarios. 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 an hands-on experience of applying the concepts and
principles to problems of suitable kind, size and complexity to deepen
their understanding 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
- 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 to Parallelism and Real World Programming
- Conclusions and Prospectives
Related Course:
A perfect add-on this term is to attend also the complementary course on:
Previous Knowledge
Basic knowledge of the functional programming style
as imparted e.g. in the course
LVA
185.A03 Funktionale Programmierung is mandatory.
Examination and Final Grade
The final grade is composed of the grades of the weekly assignments
(50%) and the grade of the final oral examination (50%). The final
oral examinations will be by appointment.
Please make an appointment by e-mail or phone.
Course Materials
Documents for the lecture and tutorial part of the course will be provided
on time.
Lecture
|
Topic
|
Slides
|
Hints and remarks
|
Lecture Notes
| Chap. 1 thru Chap. 18, Bibliography, Appendix
| pdf
| Latest update: 06/23/2016.
|
Pre-Meeting
(03/03/2016)
| Motivation,
organizational issues
| pdf
| Latest update: 03/01/2016.
|
Tutorial
|
Due date/2nd due date
|
Assignments
|
Hints and remarks
|
Thu, 23.06.2016
|
|
|
Zweitabgaben bislang ausgestandener Abgaben bis zum 15.07.2016, 12:00 Uhr, möglich.
|
Tue, 24.05.2016
|
|
Assignment 9
| Keine Abgabe; freies Üben.
|
Tue, 17.05.2016
| Wed, 01.06.2016 (12:00) /
Wed, 08.06.2016 (12:00)
|
Assignment 8
| Submission period two weeks; final assignment.
|
Thu, 28.04.2016
| Wed, 11.05.2016 (12:00) /
Wed, 18.05.2016 (12:00)
|
Assignment 7
| None.
|
Wed, 27.04.2016
| Wed, 04.05.2016 (12:00) /
Wed, 11.05.2016 (12:00)
|
Assignment 6
| None.
|
Wed, 20.04.2016
| Wed, 27.04.2016 (12:00) /
Wed, 04.05.2016 (12:00)
|
Assignment 5
| None.
|
Fri, 01.04.2016
| Wed, 20.04.2016 (12:00) /
Wed, 27.04.2016 (12:00)
|
Assignment 4
| None.
|
Fri, 01.04.2016
| Wed, 13.04.2016 (12:00) /
Wed, 20.04.2016 (12:00)
|
Assignment 3
| None.
|
Wed, 16.03.2016
| Wed, 06.04.2016 (12:00) /
Wed, 13.04.2016 (12:00)
|
Assignment 2
| The head element of the stream ddps
is 3, not 2 since the binary representation
of 2 contains one 1, which is not a prime
number of 1s (March 18, 2016).
The value of the expression ddps!!20 is
31, not 28 (March 21, 2016).
|
Wed, 09.03.2016
| Wed, 16.03.2016 (12:00) /
Wed, 06.04.2016 (12:00)
|
Assignment 1
| Submitting assignments: home directory of your group account.
|
Lecturer
Jens Knoop, Tel.: 58801-18510, E-mail:
knoop@complang.tuwien.ac.at