Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2022/2023

Applied Functional Programming

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

This course is presented 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:

BI-PPA is a suitable, not a necessary prerequisite.

Syllabus of lectures:

1. Introduction to the subject, functional programming and tools.

2. Functions and data types

3. Code structuring, evaluation and text types

4. Containers (data types), advanced functions and operators

5. Type classes

6. IO, exceptions and other type classes

7. Testing, documentation, performance

8. Web applications in Haskell

9. Introduction to Elm

10. The Elm Architecture

11. Web applications in Elm

12. Examples from practice, discussion and consultation

Syllabus of tutorials:

1. Introduction to the subject, functional programming and tools.

2. Functions and data types

3. Code structuring, evaluation and text types

4. Containers (data types), advanced functions and operators

5. Type classes

6. IO, exceptions and other type classes

7. Testing, documentation, performance

8. Web applications in Haskell

9. Introduction to Elm

10. The Elm Architecture

11. Web applications in Elm

12. Examples from practice, discussion and consultation

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. In the second half of the semester, students will also learn the Elm language.

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:
Further information:
https://courses.fit.cvut.cz/MI-AFP/
Time-table for winter semester 2022/2023:
Time-table is not available yet
Time-table for summer semester 2022/2023:
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
Wed
Thu
roomT9:348
Suchánek M.
08:15–10:45
(parallel nr.101)
Dejvice
NBFIT PC ucebna
Fri
The course is a part of the following study plans:
Data valid to 2023-02-07
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6157506.html