Course detail
Functional Programming and the LISP Language
FSI-VFLAcad. year: 2015/2016
The course deals with the following topics: Principles of functional and logic programming. Lisp language: basic features, data types, program structures, evaluation of symbolic expressions, functions and macros. Examples of solving artificial intelligence problems in Lisp.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Luger, G.F. Artificial Intelligence. Structures and strategies for Complex Problem Solving. Harlow, Addison-Wesley 2002. (EN)
Luger, G.F.; Stubblefield, W.A. AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java. Addison-Wesley 2008. (EN)
Recommended reading
Luger, G.F. Artificial Intelligence. Structures and strategies for Complex Problem Solving. Harlow, Addison-Wesley 2002. (EN)
Molnár, L., Návrat, P. Programovanie v jazyku Lisp. Bratislava, Alfa 1988. (SK)
Seibel, P. Practical Common Lisp. Apress, 2005. http://www.gigamonkeys.com/book/ (EN)
Classification of course in study plans
Type of course unit
Computer-assisted exercise
Teacher / Lecturer
Syllabus
2. Miranda and F# languages.
3. Introduction to the use of Lisp interpreters, basic functions, definition of functions.
4. Functions for list and number processing, predicate and evaluating functions.
5. Definition of recursive functions.
6. Tail recursion and iteration.
7. Lambda expressions, mapping functions, definition of macros.
8. Modification of structures, representation of atoms.
9. Input and output functions.
10. Strategies for state space search.
11. Knowledge representation, machine learning.
12. Implementation of an expert system in Lisp.
13. Evaluating of semester projects.