Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
Last revision Both sides next revision
courses:fup:start [2019/05/29 18:00]
courses:fup:start [2024/02/09 14:05]
heimnikl
Line 1: Line 1:
 +====== FUP – Functional Programming ======
  
 +/*
 +
 +<note important>​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.</​note>​
 +
 +
 +===== Remote teaching =====
 +For the moment lectures and labs will be organized via Google Meet application. You will receive invitations by email. Recorded versions of lectures will be published in [[courses:​fup:​lectures:​start|here]].
 +
 +Note that the deadlines for homework assignments were shifted! The first assignment should be submitted by midnight of **March 24** for Czech course and by **March 26** for English course. The deadline for the second assignment is respectively **April 1** and **April 3** for Czech and English course.
 +*/
 +
 +===== Anotation =====
 +
 +This course introduces students to 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.
 +
 +===== Organization =====
 +
 +Weekly [[courses:​fup:​lectures:​|lectures]] and [[courses:​fup:​tutorials:​|labs]].
 +
 +/* [[courses:​fup:​homework:​|Homework assignments]] every 2 weeks worth 50% of the grade. */
 +
 +Homework assignments **50 points**
 +  * 2 assignments in Racket
 +  * 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 16 points is necessary to pass.//
 +The programming exam consists of 2 Racket assignments and 2 Haskell assignments,​ which you have to finish in 3 hours.
 +One Racket and one Haskell assignment are actually the same 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|
 +
 +===== Exams =====
 +
 +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 homework assignment and at least 25 points in total.//
 +
 +<note important>​ Please make sure You know your lab password. You can [[https://​www.felk.cvut.cz/​labpass/​|change it here]]. </​note>​
 +
 +/*
 +<note important>​
 +The exams will be online. Detailed instructions regarding their organization can be found [[https://​docs.google.com/​document/​d/​1EViiQvcoKUrNEe04yMED5n-6epUv9aJrbC_esdhRa0A/​edit?​usp=sharing|here]] (Czech) and [[https://​docs.google.com/​document/​d/​1rRTP1blQl1oABa-xrp8cpJchouhoTcBZvs5V14HDENU/​edit?​usp=sharing|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.
 +</​note>​
 +*/
 +
 +The exam will consist of solving two of the tasks that are published [[https://​xhorcik.gitlab.io/​fup-lecture-notes/#​exam | here]] - without access to their solutions. We 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 90 minutes to get a perfect score in the exam.
 +
 +/*
 +{{ :​courses:​fup:​examrk.zip |ExamRK}}
 +{{ :​courses:​fup:​exam2.zip |Exam2}}
 +{{ :​courses:​fup:​exam3.zip |Exam3}}
 +*/
 +
 +/*
 +
 +The exam will be at the lab computers without internet access. The students will have access to slides and notes from the labs. In order to pass the implementation exam, the students must obtain more than 50% of the points for this exam. 
 +
 +
 +==== Exams ====
 +
 +03.06.2020 9:00 - 13:00, the first exam will be online
 +
 +28.07.2020 9:30 - 12:30, online implementation exam
 +
 +*/
 +
 +/*
 +==== Exam Dates ====
 +
 +All exams will be on the Karlovo namesti campus.
 +
 +28.05.2019 13:00-17:00
 +
 +05.06.2019 ​ 13:00-17:00
 +
 +24.06.2019 ​ 13:00-17:00
 +
 +04.09.2019 9:​00-13:​00 ​
 +(test might be after the implementation,​ if anyone is interested in writing it, let me know)
 +
 +All the exams will be in KN-E308 and the surrounding labs.
 +*/
 +
 +
 +===== Teachers =====
 +
 +|                 ^ Consulting hours  ^ E-mail ​         ^ Room ^ Role ^
 +^ Rostislav Horčík ​ | appointment by email  | <​xhorcik@fel.cvut.cz> ​    | KN:E-322 | Lecturer |
 +^ Niklas Heim  | appointment by email  | <​niklas.heim@aic.fel.cvut.cz> ​    ​| ​ | Lecturer & Instructor |
 +^ Tomáš Votroubek ​ | appointment by email  | <​votroto1@fel.cvut.cz> ​    ​| ​ | Instructor |
 +^ Matěj Zorek  | appointment by email  | <​zorekmat@fel.cvut.cz> ​    ​| ​ | Instructor |
 +^ Jiří Němeček ​ | appointment by email  | <​nemecj38@fel.cvut.cz> ​    ​| ​ | Instructor |
 +
 +
 +/* Old teachers
 +^ Vojtěch Štěpančík ​ | appointment by email  | <​stepavo2@fel.cvut.cz> ​    ​| ​ | Instructor |
 +^ Miloš Prágr ​  | appointment by email  | <​pragrmi1@fel.cvut.cz> ​    | KN:E-331 | Instructor |
 +^ Viliam Lisý  | appointment by email | <​lisyvili@fel.cvut.cz> ​  | KN:E-407 | Lecturer |
 +^ Michal Sustr |  appointment by email | <​michal.sustr@aic.fel.cvut.cz>​ | KN:E-316 | Instructor |
 +*/
courses/fup/start.txt · Last modified: 2024/02/20 19:52 by heimnikl