FPF:UIINFNP017 Functional Programming - Course Information
UIINFNP017 Functional Programming
Faculty of Philosophy and Science in OpavaSummer 2025
- Extent and Intensity
- 0/2/0. 4 credit(s). Type of Completion: z (credit).
- Teacher(s)
- Ing. Jiří Blahuta, Ph.D. (seminar tutor)
- Guaranteed by
- Ing. Jiří Blahuta, Ph.D.
Institute of Computer Science – Faculty of Philosophy and Science in Opava - Prerequisites
- Basic knowledge of programming and the use of editing tools and the MS environment.
- 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 / plans the course is directly associated with
- Informatics (programme FPF, INFOR-nav)
- Course objectives
- History of Lisp and its perspective. Dialects of Lisp, Common Lisp. Basic data types, atoms, lists and their processing. Symbols and functions, principles of functional programming. Using recursion and iteration. Lambda calculus, anonymous functions, higher order functions. Lisp and artificial intelligencet. Macros. Structures and object oriented programming in Lisp.
- Learning outcomes
- After completing the course, the student will be able to create recursive functions and work with lists, use structures, and object-oriented programming in the LISP language.
- Syllabus
- 1. Lisp and its development, present and perspective. Dialects, relatives and descendants of Lisp. Common Lisp as standard, compared with other languages. Prescriptive, procedural, object-oriented , modular, logic and functional programming and support for Lisp.
- 2. First look at Lisp. Basic data types. Atoms and lists their evaluation. Symbols and links; functions; the principles of functional programming.
- 3. Macintosh Common Lisp. Editor, the listener, the inspector and debugger. IDE integration and Lisp. Lisp as a dynamic language.
- 4. The second view of Lisp. Lambda calculus in Lisp, anonymous functions, higher order functions, lexical environment. Lisp and artificial intelligence.
- 5. A third view of Lisp. Cycle Read-eval-print. Basic data types for the second time. Macros. Optimization program.
- 6. Object-oriented programming in Lisp. Classes and instances, multiple inheritance. Generic functions, methods and multimethods. A combination of methods. Metaobject protocol.
- Literature
- Povinná: TOURETZKY, David S. Common LISP: A Gentle Introduction to Symbolic Computation. Mineola, NY: Dover Publications, 2013. ISBN 978-0-486-49820-1. Doporučená: MUELLER, John. Functional programming for dummies. Hoboken, New Jersey: John Wiley, [2
- Teaching methods
- 75% attendance in exercises, active participation. More thant 50% success rate in submitted tasks.
- Assessment methods
- Elaboration of assigned tasks. Earning more than half of the points for completing the assigned tasks. Mandatory participation in exercises min. 75%.
- Language of instruction
- Czech
- Teacher's information
- http://is.slu.cz
Exercises with the teacher, solving tasks
- Enrolment Statistics (Summer 2025, recent)
- Permalink: https://is.slu.cz/course/fpf/summer2025/UIINFNP017