Course title | Special Programming Languages |
---|---|
Course code | KI/SPL |
Organizational form of instruction | Seminary |
Level of course | Bachelor |
Year of study | not specified |
Semester | Winter and summer |
Number of ECTS credits | 2 |
Language of instruction | Czech |
Status of course | Compulsory-optional |
Form of instruction | unspecified |
Work placements | unspecified |
Recommended optional programme components | None |
Lecturer(s) |
---|
|
Course content |
1. Scheme - data structures (s-expressions) 2. Scheme - functions and special forms 3. Scheme - recursion and list operations 4. Scheme - lambda function, currying, closures 5. Scheme - high-order functions (map, zip, fold) 6. Scheme - macros and lazy evaluations (streams) 7. Scheme - continuations and corutines 8. Haskell - pattern matching 9. Haskell - static type system 10. Haskell - comprehensions and non strict evaluation 11. Haskell - algebraic data types 12. Haskell - type classes 13. Haskell - IO monads 14. Haskell - monads (principles)
|
Learning activities and teaching methods |
unspecified |
Learning outcomes |
Basic principles and tools of functional programming in the Scheme and F# or Haskell programming language are introduced. The main objective of the course is to gain a practical knowledge of functional programming approaches (recursion, high-order functions, closures, lazy evaluation) and its application in main-stream OOP languages (C# or Python), which contain increasing number of functional constructs.
|
Prerequisites |
unspecified
|
Assessment methods and criteria |
unspecified
|
Recommended literature |
|
Study plans that include the course |
Faculty | Study plan (Version) | Category of Branch/Specialization | Recommended semester | |
---|---|---|---|---|
Faculty: Faculty of Science | Study plan (Version): Information Sciences (double subject) (A14) | Category: Informatics courses | - | Recommended year of study:-, Recommended semester: - |
Faculty: Faculty of Science | Study plan (Version): Information Sciences (double subject) (A14) | Category: Informatics courses | - | Recommended year of study:-, Recommended semester: - |