Notice

This page is located in a preparation section till 14.02.2022.

Due to pandemic situation the lectures and labs will be organized online via Big Blue Button integrated into BRUTE system.
I will regularly update the covid-19 information on this page.

This course introduces students into the techniques of functional programming, the advantages and disadvantages of this programming paradigm, and its use in practice. This approach is declarative in the sense that the programmer symbolically describes the problem to be solved, rather than specifying the exact sequence of operations required to solve it. It allows focusing on the essence of the solved problem and implementing even more complex algorithms compactly. Functional programming has notable advantages for parallelization and automated verification of algorithms, and the most useful functional programming concepts are increasingly often introduced to standard programming languages. Because of the focus of functional programming on symbols, rather than numbers, functional programming has been heavily used in artificial intelligence fields, such as agent systems or symbolic machine learning.

Homework assignments **50 points**

- 2 assignments in Scheme
- 2 assignments in Haskell

*At least 1 point from each assignment is necessary to pass and at least 25 points altogether.*

Final programming exam for **30 points**. *At least 15 points is necessary to pass.*
The programming exam consists of 2 Scheme assignments and 2 Haskell assignments which you have to finish in 3 hours.
One Scheme assignment and one Haskell assignment are actually the same task but implemented in both programming languages.

Final theoretical oral exam for **20 points**. *It is not obligatory if you have enough points to get at least the E grade.*

The grading is the standard one, i.e.,

Grade | Points |
---|---|

A | 91-100 |

B | 81-90 |

C | 71-80 |

D | 61-70 |

E | 51-60 |

F | 0-50 |

In order to come to the exam, the student should have fulfilled the conditions for passing the labs. *It means having at least 1 point from each home assignment and at least 25 points in total.*

The exams will be online. Detailed instructions regarding their organization can be found here (Czech) and here (English).
In case you cannot join an online exam, contact me by email and we will find an alternative solution based on your conditions.

Assignments from the first three exams are published below. I suggest not looking at the text of the assignments before you have time to attempt to solve it. You should be able to solve each of them in roughly 45 minutes to get a perfect score in the exam.

Consulting hours | Room | Role | ||
---|---|---|---|---|

Rostislav Horčík | appointment by email | xhorcik@fel.cvut.cz | KN:E-322 | Lecturer |

Miloš Prágr | appointment by email | pragrmi1@fel.cvut.cz | KN:E-331 | Instructor |

Niklas Heim | appointment by email | niklas.heim@aic.fel.cvut.cz | Instructor | |

Antonio Bellon | appointment by email | belloant@fel.cvut.cz | Instructor | |

Dominik Seitz | appointment by email | seitzdom@fel.cvut.cz | Instructor |

courses/fup/start.txt · Last modified: 2022/01/03 08:00 (external edit)