Teaching logic programming: a review - Serhiy O. Semerikov; Iryna S. Mintii; Natalia V. Moiseienko (CTE Workshop Proceedings)
Logic programming constitutes a significant paradigm within computer science, offering a unique approach to programming based on formal logic rather than conventional imperative instructions. This review examines contemporary methodologies for teaching logic programming, spanning various paradigms including Prolog, Answer Set Programming (ASP), Datalog, and Constraint Logic Programming (CLP). Through a comprehensive analysis of literature, we identify effective pedagogical strategies, common obstacles faced by educators and students, and emerging trends in instructional techniques. Our findings reveal that visualization tools, problem-based learning, integration with other programming paradigms, and contextual application-based approaches demonstrate the most promise for enhancing student comprehension and engagement. Additionally, we explore cognitive challenges specific to declarative thinking, educational challenges related to curriculum integration, and motivational issues that affect student learning outcomes. This review offers evidence-based recommendations for practitioners and identifies promising directions for future research in logic programming education.