TY - JOUR
T1 - From Logic Programming to Programming in Logica
T2 - Workshop of the 40th International Conference on Logic Programming, ICLP-WS 2024
AU - Skvortsov, Evgeny
AU - Xia, Yilin
AU - Bowers, Shawn
AU - Ludäscher, Bertram
N1 - Publisher Copyright:
© 2024 Copyright for this paper by its authors.
PY - 2024
Y1 - 2024
N2 - While imperative programming is prevalent in software engineering and education, the declarative nature of logic programming can play a vital role in helping students further develop problem-solving and conceptual-modeling skills. Logica, an open-source logic programming language, extends Datalog by incorporating support for numerical computations, including aggregation. It serves as a comprehensive execution environment, compiling programs into iterative SQL queries that can be executed locally via DuckDB or SQLite, or in the cloud through PostgreSQL and Google BigQuery. Logica can also be accessed from within Python and Jupyter Notebooks, allowing it to be used seamlessly within typical data-science tool chains. These intuitive features make Logica an accessible and practical tool for students to learn logic programming. In this paper, we propose a new course, complete with lecture materials centered around Logica, aimed at teaching students declarative data science and engineering while covering topics such as knowledge representation and reasoning, database queries, and constraint-based programming.
AB - While imperative programming is prevalent in software engineering and education, the declarative nature of logic programming can play a vital role in helping students further develop problem-solving and conceptual-modeling skills. Logica, an open-source logic programming language, extends Datalog by incorporating support for numerical computations, including aggregation. It serves as a comprehensive execution environment, compiling programs into iterative SQL queries that can be executed locally via DuckDB or SQLite, or in the cloud through PostgreSQL and Google BigQuery. Logica can also be accessed from within Python and Jupyter Notebooks, allowing it to be used seamlessly within typical data-science tool chains. These intuitive features make Logica an accessible and practical tool for students to learn logic programming. In this paper, we propose a new course, complete with lecture materials centered around Logica, aimed at teaching students declarative data science and engineering while covering topics such as knowledge representation and reasoning, database queries, and constraint-based programming.
UR - http://www.scopus.com/inward/record.url?scp=85208595259&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85208595259&partnerID=8YFLogxK
M3 - Conference article
AN - SCOPUS:85208595259
SN - 1613-0073
VL - 3799
JO - CEUR Workshop Proceedings
JF - CEUR Workshop Proceedings
Y2 - 12 October 2024 through 13 October 2024
ER -