Logic programming and Prolog 1000-2M10PLO
1. SLD-resolution (unification, resolution rule).
2. Soundness and completeness of SLD-resolution.
3. Negation in logic programming: SLNDF-resolution, completion semantics of normal programs (2-valued and 3-valued).
4. Alternative logic programming schemes (Constraint Logic Programming, concurrency, declarative debugging).
5. Verification of logic programs.
Requirements:
Elementary knowledge of logic programming (Programming Languages and Paradigms).
Assumptions:
Logic programimng or at least Programming Languages and Paradigms
Logic for computer scientists.
Type of course
Mode
Prerequisites
Prerequisites (description)
Course coordinators
Learning outcomes
Knowledge
1. Well-organized knowledge about declarative and operational semantics of logic programs (K_W01, K_W02).
2. Knowledge about basic properties of proof system used in logic programming (correctness and completeness) (K_W09).
3. Knowledge about advanced logic programming techniques (K_W01, K_W02).
4. General knowledge about selected fields of logic programming (e.g. constraint logic programming, parallel logic programming, metaprogramming) (K_W01).
Skills
1. Is able to write and test programs in Prolog (K_U05).
2. Is able to write metainterpreters in Prolog (e.g. debugger) (K_U05).
3. Is able to choose the right technique to solve a given problem (K_U20).
Competences
1. Is aware of the limitations of own knowledge and understands the need of further education, in particular outside of own domain (K_K01).
2. Is able to work individually (K_K05).
Assessment criteria
Final grade is based on the sum of points from the colloquium (20 points), two programming laboratory assignments (2*10 points) and the exam (60 points).
Bibliography
1. U.Nilsson, J.Małuszyński ,"Logic Programming and Prolog", wyd. 2, John Wiley, 1995,. http://www.ida.liu.se/~ulfni/lpp/
2. K.R.Apt ,"From Logic Programming to Prolog". 1997.
3. L.Sterling, E.Shapiro, The Art of Prolog. MIT, 1994.
4. W.F.Clocksin, C.S.Mellish, Programming in Prolog. Springer, 1994.
Additional information
Information on level of this course, year of study and semester when the course unit is delivered, types and amount of class hours - can be found in course structure diagrams of apropriate study programmes. This course is related to the following study programmes:
- Bachelor's degree, first cycle programme, Computer Science
- Master's degree, second cycle programme, Computer Science
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: