UINA520 Functional Programming

Faculty of Philosophy and Science in Opava
Summer 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
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
The course is also listed under the following terms Summer 2022, Summer 2023, Summer 2024.
  • Enrolment Statistics (Summer 2025, recent)
  • Permalink: https://is.slu.cz/course/fpf/summer2025/UINA520