This course is complementary to the course Declarative Programming.
While Declarative Programming focuses on practical aspects of logic programming, we focus on a declarative semantics for them and how to model problem domains. Furthermore, we study search techniques that are used under the hood of modern logic programming systems, while in Declarative Programming, you learn how to write logic programs from a practical perspective.
These two courses can be taken in any order.
All detailed and official information about the course here >