Architecture of Symbolic Computers
Code | Completion | Credits | Range |
---|---|---|---|
PI-ASP | ZK | 4 | 3C |
- Garant předmětu:
- Josef Kolář
- Lecturer:
- Tutor:
- Josef Kolář
- Supervisor:
- Department of Theoretical Computer Science
- Synopsis:
-
The course offers a deeper understanding of working principles and internal structure of functional and logical programming systems. A concrete insight is acquired concerning advantages and limits when using such systems as well as concerning specific issues related to their implementation as compared with common imperative programming systems.
- Requirements:
-
Basic knowledge of languages of functional (Lisp) and logical (Prolog) programming.
- Syllabus of lectures:
-
1. Lambda calculus.
2. Formal basis of abstract programs.
3. Self-interpretation, SECD abstract machine architecture.
4. Garbage collection in Lisp.
5. Lisp language variants and their implementations.
6. Predicate logic.
7. Horn clauses.
8. Theorem proving using resolution algorithm.
9. Warren abstract machine.
10. Prolog language variants and their implementations.
- Syllabus of tutorials:
- Study Objective:
-
To present theoretical background of abstract machines that represent computational models used when implementing functional and logical programming systems. When students get acquainted with these models, they are exposed to practical problems to be solved and to design alternatives to be selected when the real implementation is to be achieved.
- Study materials:
-
. Peter M. Kogge: The Architecture of Symbolic Computers. McGraw-Hill, Inc., 1990.
. Gopal Gupta, et al.: Parallel execution of prolog programs: A survey. July 2001, ACM Transactions on Programming Languages and Systems (TOPLAS)
. L.C.Paulson: Foundations of Functional Programming.\http://www.cl.cam.ac.uk/users/lcp/papers/Notes/Founds-FP.pdf
- Note:
- Further information:
- https://moodle.fit.cvut.cz/courses/PI-ASP/
- Time-table for winter semester 2024/2025:
- Time-table is not available yet
- Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Informatics (doctoral) (compulsory elective course)
- Informatics (compulsory elective course)