FI:IB015 Intro to Func.Programming - Course Information
IB015 Introduction to Functional ProgrammingFaculty of Informatics
- Extent and Intensity
- 2/1. 3 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- RNDr. Libor Škarvada (lecturer)
Mgr. Eva Mráková, Ph.D. (seminar tutor)
Mgr. Lukáš Másilko (assistant)
Mgr. et Mgr. Tomáš Sklenák (assistant)
- Guaranteed by
- prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science - Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Supplier department: Department of Computer Science - Faculty of Informatics
- Mon 18:00–19:50 D2
- Timetable of Seminar Groups:
IB015/T01AA: Wed 19. 9. to Fri 21. 12. Wed 12:00–13:55 Učebna S3 (37), E. Mráková
IB015/01: each even Tuesday 12:00–13:50 B130, L. Škarvada
IB015/02: each odd Tuesday 12:00–13:50 B130, L. Škarvada
IB015/03: each even Wednesday 10:00–11:50 B130, L. Škarvada
IB015/04: each odd Wednesday 10:00–11:50 B130, L. Škarvada
- There are no special prerequisities apart from the basic math skills (on the secondary-school level), and certain aptitude for abstract reasoning.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- Fields of study the course is directly associated with
- there are 17 fields of study the course is directly associated with, display
- Course objectives
- The students get acquainted with functional programming paradigm. Haskell enforces purely functional programming style without side effects, which brings on programming habits, useful also in imperative languages.
- Basic notions: term, value, evaluation step.
- Lambda abstraction.
- Higher-order functions, partial application, currying.
- Simple types: ground types and type constructors, product types.
- Polymorfic types, typing.
- User defined type constructors, sum types, recursive types; definitions by patterns.
- List constructors, list enumeration and list comprehension.
- Evaluation order, strict vs. lazy reduction.
- Infinite data structures.
- Recursive functions, operations on lists and trees, time complexity.
- THOMPSON, Simon. Haskell :the craft of functional programming. Harlow: Addison-Wesley, 1996. xx, 500 s. ISBN 0-201-40357-9. info
- Teaching methods
- The course is organized as a series of lectures, plus a set of exercises, where the students get practice with solving various problems.
- Assessment methods
- The evaluation consists of one obligatory midterm written test (24%) and a final written exam (76%). The final grade can be further improved by additional "bonus points" which can be acquired for solving selected exercises.
- Language of instruction
- Follow-Up Courses
- Further Comments
- Study Materials
The course is taught each semester.
- Listed among pre-requisites of other courses