Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2018/2019

Applied Functional Programming

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
MI-AFP KZ 5 2+1 Czech
Lecturer:
Robert Pergl (guarantor), Jan Slifka, Marek Suchánek
Tutor:
Robert Pergl (guarantor), Jan Slifka, Marek Suchánek
Supervisor:
Department of Software Engineering
Synopsis:

This course is prezented in Czech.

Functional programming represents one of the traditional programming paradigms. Traditional and novel functional programming languages are on the rise nowadays and the functional paradigm becomes an important construct of traditionally imperative languages (C++, C#, Java). As such, mastering this paradigm becomes a necessary competence of a software engineer: the theory and especially the practice.

Requirements:
Syllabus of lectures:

1. Introduction to the subject and functional programming and tools

2. Functions and data types basics

3. Branching and structuring of code

4. Other important data types; dealing with errors; lazy evaluation

5. More advanced constructs of functions and operators

6. Type classes 1

7. Type classes 2

8. Type classes 3

9. Documentation and testing

10. Web frameworks

11. GUI applications

12. Discussion and consultations.

Syllabus of tutorials:

1. Introduction to the subject and functional programming and tools

2. Functions and data types basics

3. Branching and structuring of code

4. Other important data types; dealing with errors; lazy evaluation

5. More advanced constructs of functions and operators

6. Type classes 1

7. Type classes 2

8. Type classes 3

9. Documentation and testing

10. Web frameworks

11. GUI applications

12. Discussion and consultations.

Study Objective:

We demonstrate the concepts using the pure functional language Haskell, however students will be able to apply the knowledge in other languages, as well; an overview of contemporary functional languages and their characteristics will be provided.

Study materials:

Textbooks:

The Haskelll Book

Learn you a Haskell for Great Good

Papers:

Why functional programming matters

How functional programming mattered

Additional materials:

https://wiki.ccmi.fit.cvut.cz/doku.php?id=programming:haskell

Note:
Time-table for winter semester 2018/2019:
Time-table is not available yet
Time-table for summer semester 2018/2019:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
Tue
Fri
Thu
Fri
roomT9:348
Pergl R.
Slifka J.

09:15–10:45
(lecture parallel1)
Dejvice
NBFIT PC ucebna
roomT9:348
Pergl R.
Slifka J.

11:00–11:45
(lecture parallel1
parallel nr.101)

Dejvice
NBFIT PC ucebna
roomT9:348
Pergl R.
Suchánek M.

11:45–13:30
(lecture parallel2)
Dejvice
NBFIT PC ucebna
roomT9:348
Pergl R.
Suchánek M.

13:30–14:15
(lecture parallel2
parallel nr.201)

Dejvice
NBFIT PC ucebna
The course is a part of the following study plans:
Data valid to 2019-03-21
For updated information see http://bilakniha.cvut.cz/en/predmet5429206.html