FPF:UINA520 Functional Programming - Course Information
UINA520 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)
- RNDr. Jiří Martinů, Ph.D. (seminar tutor)
- Guaranteed by
- Ing. Jiří Blahuta, Ph.D.
Institute of Computer Science – Faculty of Philosophy and Science in Opava - Prerequisites
- Basic programming skills.
- 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
- Computer Science (programme FPF, CompSci-np)
- 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
- Programming skills in functional 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
- TOURETZKY, David S. Common LISP: A Gentle Introduction to Symbolic Computation. Mineola, NY: Dover Publications, 2013. ISBN 978-0-486-49820-1. Most pages available at books.google.com. Recommended sources: MUELLER, John. Functional programming for du
- Teaching methods
- Projects and exercises.
- Assessment methods
- 75% attendance in exercises, active participation. More thant 50% success rate in submitted tasks.
- Language of instruction
- Czech
- Teacher's information
- is.slu.cz
- Enrolment Statistics (Summer 2025, recent)
- Permalink: https://is.slu.cz/course/fpf/summer2025/UINA520