<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Democratising Access to Logic Programming: A Web Application Design Tool for Querying Prolog Code</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Santiago</forename><surname>Andrés Villarroel</surname></persName>
							<email>santiago.villarroel@fi.uncoma.edu.ar</email>
							<affiliation key="aff0">
								<orgName type="department">Facultad de Informática</orgName>
								<orgName type="laboratory">Grupo de Investigación en Lenguajes e Inteligencia Artificial (G.I.L.I.A.)</orgName>
								<orgName type="institution">Universidad Nacional del Comahue Neuquén</orgName>
								<address>
									<country key="AR">Argentina</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Christian</forename><surname>Nelson Gimenez</surname></persName>
							<email>christian.gimenez@fi.uncoma.edu.ar</email>
							<affiliation key="aff0">
								<orgName type="department">Facultad de Informática</orgName>
								<orgName type="laboratory">Grupo de Investigación en Lenguajes e Inteligencia Artificial (G.I.L.I.A.)</orgName>
								<orgName type="institution">Universidad Nacional del Comahue Neuquén</orgName>
								<address>
									<country key="AR">Argentina</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jorge</forename><forename type="middle">Pablo</forename><surname>Rodríguez</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Facultad de Informática</orgName>
								<orgName type="laboratory">Grupo de Investigación en Lenguajes e Inteligencia Artificial (G.I.L.I.A.)</orgName>
								<orgName type="institution">Universidad Nacional del Comahue Neuquén</orgName>
								<address>
									<country key="AR">Argentina</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Laura</forename><forename type="middle">Andrea</forename><surname>Cecchi</surname></persName>
							<email>lcecchi@fi.uncoma.edu.ar</email>
							<affiliation key="aff0">
								<orgName type="department">Facultad de Informática</orgName>
								<orgName type="laboratory">Grupo de Investigación en Lenguajes e Inteligencia Artificial (G.I.L.I.A.)</orgName>
								<orgName type="institution">Universidad Nacional del Comahue Neuquén</orgName>
								<address>
									<country key="AR">Argentina</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="department">𝑛𝑑 Workshop on Prolog Education</orgName>
								<address>
									<postCode>2024</postCode>
									<settlement>October, Dallas</settlement>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Democratising Access to Logic Programming: A Web Application Design Tool for Querying Prolog Code</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">5557D059C8960766FD72FDFD0F1CC112</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T19:51+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Logic Programming Education</term>
					<term>Prolog</term>
					<term>Web technology</term>
					<term>Web application</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Logic Programming (LP) is a powerful paradigm for gaining fundamental knowledge and skills in Computer Science. LP facilitates the development of Computational Thinking skills, which are relevant for problem-solving, and also strengthens Logical Thinking abilities. To teach LP effectively, specialised educational resources are necessary. While students develop their programs in Prolog, they often struggle to showcase their running applications to classmates, friends, and family.</p><p>Providing educational resources that support the creation of Web applications with Prolog querying functionality will motivate students to learn.</p><p>This work presents Prolog Web App Creator, an integrated development environment for students to design and create Web applications. Ease of use, collaboration, and publication of the result are also relevant aspects of the environment, allowing the students to share the design and the product with their social circles.</p><p>The proposed solution implements an educational resource to consolidate LP teaching while fomenting collaboration, democratisation, and strengthening current initiatives. Prolog Web App Creator empowers creative individuals to develop solutions using LP and encourages their shift from the role of technology consumers to that of technology creators.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction and Motivation</head><p>Recently, there has been a great interest in the early incorporation of Computer Science (CS) into mandatory education. The worldwide scientific community recognises learning CS to be an effective means to develop Computational Thinking (CT) and Logical Thinking (LT) in children <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b1">2,</ref><ref type="bibr" target="#b2">3,</ref><ref type="bibr" target="#b3">4,</ref><ref type="bibr" target="#b4">5]</ref>.</p><p>In this direction, Logic Programming (LP) is a useful paradigm for acquiring fundamental knowledge and skills in CS. Furthermore, LP facilitates the exploration and development of CT skills, including abstraction, decomposition, pattern recognition, and generalisation, which are crucial for problemsolving. Additionally, LP fosters LT abilities, aiding in the differentiation of valid arguments from fallacies and contradictions, and in forming connections between arguments via reasoning, among other skills <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b6">7,</ref><ref type="bibr" target="#b7">8,</ref><ref type="bibr" target="#b8">9,</ref><ref type="bibr" target="#b9">10,</ref><ref type="bibr" target="#b10">11]</ref>.</p><p>To facilitate the effective teaching of LP, appropriate educational resources are necessary. In this regard, it is essential to not only visually make programs in Prolog, which avoids the need to teach and handle the textual syntax of this language, but also to query these programs in a user-friendly manner. However, this alone is not sufficient.</p><p>Students develop their programs in Prolog; nevertheless, they frequently lack the means to effectively show their running applications to their classmates, friends, and family. A step forward would be to allow any person to access and query the program. Providing educational resources that enable the creation of Web applications with Prolog program querying functionality would motivate students to learn.</p><p>Computational devices like smartphones and personal computers have become integral to our daily lives. They are not merely tools for communication; they are now extensively utilised across various domains, including navigation, personal identification, gaming, and social networking. Their powerful computing capabilities, compact size, internet connectivity, affordability, and wide range of user-friendly apps make them highly usable.</p><p>Children and young people are keen technology consumers, especially when it comes to mobile technologies. The education sector is increasingly integrating these technologies, emphasising the importance of understanding their mechanisms to foster the development of technology creators. In this regard, it is crucial to make continuous efforts to develop new technological environments that enable the consolidation of LP in primary and secondary schools, increasing and strengthening existing initiatives.</p><p>In this context, our proposed solution consists of a Web-based educational resource that allows the creation of a user-customised Web application to query an already-built Prolog program. Prolog Web App Creator is the name of this tool and it is designed for novice users and non-programmers.</p><p>In the design and implementation of this resource, priority is given to ensuring that the user interface is highly intuitive so that its use does not require prior knowledge.</p><p>By using this tool, we aim to reach a wider range of students in LP education, providing an intuitive design environment that allows any user, especially children, to build situated Web applications. In this way, the goal is to democratise software development, empowering everyone, particularly school-aged children and youth, and facilitating their transition from the role of technology consumers to that of technology creators.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Related Works</head><p>In this section, we outline the tools and software that are relevant to the proposed work.</p><p>MIT App Inventor is a visual and intuitive programming environment that facilitates the development of mobile applications for everyone. The user interface consists of a Designer to select the components of the designed application and their properties, and a Blocks Editor to define the behaviour of the application <ref type="bibr" target="#b11">[12]</ref>.</p><p>The original design of Scratch was motivated by the needs and interests of young people. Scratch is a visual programming environment that allows users to learn programming by creating personally meaningful projects (i.e. motivated by the needs and interests of young people), such as games or stories <ref type="bibr" target="#b12">[13]</ref>.</p><p>Its main objective is to facilitate and promote self-directed learning through exploration, collaboration, and sharing with peers.</p><p>Snap! (formerly known as BYOB) is a visual, drag-and-drop programming language based on blocks <ref type="bibr" target="#b13">[14]</ref>. It is an extended implementation of Scratch that allows managing more complex data structures and has a more youthful design. This extended functionality makes the tool suitable for a more in-depth introduction to computer science for secondary and university-level students.</p><p>Ciao Playground <ref type="bibr" target="#b14">[15]</ref> is a platform that allows access to a Prolog engine embedded in the Web browser, without any need for prior software installation. Additionally, existing Prolog tutorials can be adapted for the Playground, or new ones can be created, to achieve a higher level of interactivity by allowing the user to test and manipulate code on the Web. Similarly, other Prolog implementations also have Web tools that allow interaction with a Prolog engine, such as SWI-Prolog with the SWISH<ref type="foot" target="#foot_0">1</ref> platform and Tau Prolog Sandbox 2 . However, unlike our proposal, these tools do not generate an application nor include an educational visual component. Blockly Prolog<ref type="foot" target="#foot_2">3</ref> is a Web-based visual educational resource that facilitates the creation of a Prolog program using blocks. The tool allows inserting blocks corresponding to concepts such as facts, constants, and variables, into a Canvas to construct a Prolog program. This functionality achieves a higher level of accessibility by not requiring the handling of Prolog textual syntax. Although this tool has a strong visual component, it is not focused on creating an application that interacts with a given Prolog program, nor can it be shared with an audience unfamiliar with LP.</p><p>MIT App Inventor, Scratch, and Snap! are powerful tools that enable non-programmers to build and share their applications, which is the core functionality that Prolog Web App Creator aims to achieve. These platforms, however, are rooted in the Imperative Programming Paradigm, which differs from the LP approach that the proposed tool adopts. While the paradigms vary, the overarching objective remains the same, that is, to further democratise access to programming, expanding the reach of this discipline to a broader audience.</p><p>In contrast, tools like Blockly Prolog, SWISH, Tau Prolog Sandbox and Ciao Playground also contribute to the goal of increasing the accessibility of the knowledge area of programming, especially LP. However, their focus differs from that of the previously mentioned tools, as they do not aim to design, build, and share executable Web applications. Instead, these tools emphasise providing interactive environments for learning and exploring LP concepts.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">How Prolog Web App Creator works</head><p>Prolog Web App Creator is an integrated development environment (IDE) designed for beginners and non-programmers to create Web applications with features like querying Prolog programs. These Web applications, which we will refer to as the Resulting Artefact, can be used and shared by anyone in the students' social circles, such as family and friends.</p><p>Children and teenagers can develop software using their own Prolog code or by remixing code from their peers, thus embracing the role of creators rather than merely being technology consumers.</p><p>Figure <ref type="figure" target="#fig_0">1</ref> illustrates the Resulting Artefact life cycle, which begins with a Prolog program. The program, created by the student or another person, is used as input for the IDE. The students create When the design is finished, the application is saved, and a Resulting Artefact that becomes accessible from the Internet is generated, allowing students to share it with other people.</p><p>Figure <ref type="figure" target="#fig_1">2</ref> illustrates the typical flow, along with the Prolog Web App Creator interface structure. The interface consists of two views: the design view and the resulting artefact view. The design view allows the student to create the application by providing a Prolog program as input (1) and inserting buttons (2) and images on a canvas <ref type="bibr" target="#b2">(3)</ref>. In this view, students produce their artefact and test the logic program before generating the final application. The resulting artefact view (4) shows the designed interface and executes the code by pressing the buttons placed by the student.</p><p>Figure <ref type="figure" target="#fig_2">3</ref> illustrates a project in the design view, where the input Prolog program is displayed in the right panel, representing a knowledge base about people and their respective hobbies. To create a Web application, first, the code is uploaded to the interface (see code panel on the right side in Figure <ref type="figure" target="#fig_2">3</ref>). This action creates buttons automatically: one for each predicate in the uploaded logic program (see Predicados in Figure <ref type="figure" target="#fig_2">3</ref>). To facilitate the design and configuration of the queries to the Prolog program, each button corresponding to a predicate not only includes its name but also indicates its arity. Note that a small square appears for each argument in the predicate. For example, the relation persona is unary and the relation hobby is binary. These buttons are associated with pre-defined elements called Widgets.</p><p>Then, the student can press these buttons associated with various types of Widgets, such as images, text, or queries. This action will result in these elements being inserted into the canvas, creating their personalised application. The Toolbox (see Figure <ref type="figure" target="#fig_1">2</ref>; left panel in Figure <ref type="figure" target="#fig_2">3</ref>) contains Query Widgets, which were generated based on the predicates present in the input program. On the Canvas, a Title, two Images, and two Query Widgets have been inserted. The Query Widgets consist of a title, an optional tag, parameter type selectors, and the parameters themselves. Interacting with these Widgets by pressing the Consultar (Query) button will display the results in the lower right panel. Once the student is satisfied with their design, they generate the Resulting Artefact (see Exportar button in Figure <ref type="figure" target="#fig_2">3</ref>).</p><p>The tool structure consists of three main components: Client, Prolog Engine, and Server. The Client component will handle all the aspects related to the GUI (Graphical User Interface), and the interaction with the Prolog Engine. In particular, the Client holds the primary responsibility for managing the views explained before, and the design and editing process of the Resulting Artefact. In addition, it is equipped to communicate user-generated queries via Widgets to the Prolog engine, ensuring seamless interaction and retrieval of the results. The Server, on the other hand, handles the persistent storage of user-generated projects. It is designed to save these projects consistently and can retrieve them upon request from the Client. It is important to note that the Client component is equipped with a Prolog Engine, specifically the WebAssembly implementation of the Ciao Prolog engine <ref type="bibr" target="#b14">[15]</ref>. This means that the Client does not rely on a network connection to the engine, thus achieving a higher level of availability.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Prolog Web App Creator in Primary and Secondary School</head><p>We aim to make LP accessible to students without a deep disciplinary background. Thus, we seek to broaden the representation of CS in primary and secondary education. There is a significant disparity and a lack of a clear definition of how CS is integrated into the curriculum at different educational levels. Furthermore, CS is entirely absent from the curriculum at several of these educational levels <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b15">16]</ref>.</p><p>The purpose of this work is to democratise access to computing and LP in primary and secondary education, rather than limiting it to higher education. LP is not a common topic in schools despite its relevance. Usually, teachers do not have the necessary training to teach LP without the aid of a specialised tool. Therefore, textual codification should not be a starting requirement. Thus, Prolog Web App Creator opens up paths to a first contact with LP not focused on textual programming. This is particularly relevant for teachers who need to develop content knowledge and pedagogical content knowledge for effectively teaching LP. Teachers dealing with teaching LP need tools and strategies specifically designed for this purpose.</p><p>A constructionist approach, where individuals focus on building tangible and public artefacts, is particularly effective in giving learners a sense of purpose when engaging with LP. This approach encourages students to create meaningful projects, making abstract concepts in LP more concrete and applicable. From a constructionist perspective, there is a strong emphasis on interaction, where the student consciously participates in the construction of a public entity <ref type="bibr" target="#b16">[17,</ref><ref type="bibr" target="#b17">18]</ref>. Within the scope of this work, a public entity refers to the Resulting Artefact, which is a computational artefact that performs queries on a Prolog-based knowledge base.</p><p>We identify two primary ways in which students can interact with this paradigm using the tool. The first option entails working with a Prolog program that is not of our authorship. In this scenario, the student learns to read and interpret an existing knowledge base to build an application. The student can then deepen their understanding by modifying and extending the existing program, allowing them to apply their knowledge of LP and Prolog concepts in a hands-on manner <ref type="bibr" target="#b18">[19]</ref>.</p><p>The second option involves the student building an application based on their own Prolog program. This approach provides the learner with a meaningful resource that can be interacted with by others, reinforcing the practical application of LP principles.</p><p>Under this scenario, teachers and students select a problem on the curriculum, conduct research, and define its scope. For example, environmental problems. In this direction, they could identify environmental issues and determine pollutants and their effects on the environment and health. Teachers and students could collaboratively work to create a text on the topic (an example in Spanish is available at this link). They start by defining and coding facts about this topic and then create rules that describe relationships between facts and a possible solution. Students in primary school could make the program Similarly, a primary school music teacher, Juan Matías Fernández, who teaches at Escuela Primaria 125 "Rosalía Núñez de Alcaraz" in Neuquén, Patagonia, Argentina, design a class for his students who are 8 or 9 years old. He presents a classification for instruments: string, percussion and wind (the block-based logic program can be accessed in this link and the textual logic program is available in this link to Ciao Prolog Playground). Figure <ref type="figure">5</ref> shows the Design View and the Resulting Artefact created.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Design View</head><note type="other">Resulting Artefact</note><p>Prolog Web App Creator was designed to easily create a personalised Web application using a Prolog code as input, by inserting graphical pieces on a canvas. This allows children and young students to quickly build prototypes for their ideas, test them, and make improvements. Furthermore, the created public entity can be shared with their family and friends.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Conclusions and Future Work</head><p>In this work, we propose Prolog Web App Creator, an integrated environment that enables users to create their own Web applications for querying an input logic program using specified widgets and related functionality. It allows the created Web application to be exported to a final view (referred to as the Resulting Artefact), which can be shared via a link and access it with a Web browser. Prolog Web App Creator facilitates the practice of basic LP and Prolog concepts while encouraging creativity that results in a meaningful and personalised final product for the user.</p><p>The alpha version of the Prolog Web App Creator is available at https://prologforkids.fi.uncoma.edu. ar/.</p><p>Overall, the proposed solution implements a visual and Web-based educational resource, to use as a new technological environment to consolidate LP while increasing participation. The path taken by environments, such as Scratch, provides consistent evidence that these types of tools play an important role in empowering people, democratising CS and improving learning. Within this framework, it is expected that Prolog Web App Creator has ample opportunities to contribute to expanding the presence of LP in primary and secondary education.</p><p>Based on this work, the following lines for further research and development are proposed:</p><p>• Expand aspects related to creativity and customisation in the design process of the Resulting Artefact. • Translate the tool into other languages, increasing its target audience.</p><p>• Incorporate several examples of pre-designed Prolog applications, as supporting guides or as starting points, to illustrate the various functionalities of the tool. • Extend the tool to support block-based Prolog programs, in order to avoid contact with textual syntax.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Resulting Artefact life cycle.</figDesc><graphic coords="3,94.57,65.61,406.15,242.46" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: Prolog Web App Creator interface structure</figDesc><graphic coords="4,117.13,65.60,361.03,335.33" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: Prolog Web App Creator interface in the editing view.</figDesc><graphic coords="5,94.57,65.60,406.15,228.44" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 4 :Figure 5 :</head><label>45</label><figDesc>Figure 4: Designing a Web app for environmental problems.</figDesc><graphic coords="6,228.18,570.87,270.76,134.27" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">https://swish.swi-prolog.org/ visited onAugust 17,  </note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2024" xml:id="foot_1">2 http://tau-prolog.org/sandbox/ visited onAugust 17, 2024   </note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">http://www.programmierkurs-java.de/blocklyprolog/editor/index.html visited onAugust 17, 2024   </note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Learning programming through games and contests: overview, characterisation and discussion</title>
		<author>
			<persName><forename type="first">S</forename><surname>Combéfis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Beresnevičius</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Dagienė</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Olympiads in Informatics</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="page" from="39" to="60" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">On computational thinking as a universal skill: A review of the latest research on this ability</title>
		<author>
			<persName><forename type="first">J</forename><surname>Moreno-León</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Román-González</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Robles</surname></persName>
		</author>
		<idno type="DOI">10.1109/EDUCON.2018.8363437</idno>
	</analytic>
	<monogr>
		<title level="m">IEEE Global Engineering Education Conference (EDUCON)</title>
				<imprint>
			<date type="published" when="2018">2018. 2018</date>
			<biblScope unit="page" from="1684" to="1689" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><forename type="first">S</forename><surname>Bocconi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Chioccariello</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Kampylis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Dagienė</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Wastiau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Engelhardt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Earp</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">A</forename><surname>Horvath</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Jasutė</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Malagoli</surname></persName>
		</author>
		<title level="m">Reviewing Computational Thinking in Compulsory Education</title>
				<imprint>
			<date type="published" when="2022">2022</date>
		</imprint>
		<respStmt>
			<orgName>Joint Research Centre (Seville site</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<author>
			<persName><forename type="first">R</forename><surname>Society</surname></persName>
		</author>
		<title level="m">After the reboot: Computing education in uk schools</title>
				<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
	<note type="report_type">Policy Report</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Integrating computational thinking into primary and lower secondary education</title>
		<author>
			<persName><forename type="first">P</forename><surname>Kampylis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Dagienė</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bocconi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Chioccariello</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Engelhardt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Stupurienė</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Masiulionytė-Dagienė</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Jasutė</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Malagoli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Horvath</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Educational Technology &amp; Society</title>
		<imprint>
			<biblScope unit="volume">26</biblScope>
			<biblScope unit="page" from="99" to="117" />
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Computational thinking for beginners: A successful experience using prolog</title>
		<author>
			<persName><forename type="first">S</forename><surname>Beux</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Briola</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Corradi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Delzanno</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ferrando</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Frassetto</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Guerrini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Mascardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Oreggia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Pozzi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">CILC</title>
		<imprint>
			<biblScope unit="page" from="31" to="45" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Prolog education in selected high schools in bulgaria</title>
		<author>
			<persName><forename type="first">V</forename><surname>Tabakova-Komsalova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Stoyanov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Stoyanova-Doycheva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Doukovska</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Prolog -The Next 50 Years, number 13900 in LNCS</title>
				<editor>
			<persName><forename type="first">D</forename><forename type="middle">S</forename><surname>Warren</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">V</forename><surname>Dahl</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Hermenegildo</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><surname>Kowalski</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">F</forename><surname>Rossi</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">LP based integration of computing and science education in middle schools</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Bolduc</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">G</forename><surname>Murray</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM Conference on Global Computing Education</title>
				<meeting>the ACM Conference on Global Computing Education</meeting>
		<imprint>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="44" to="50" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Introducing computer science to high school students through logic programming</title>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">T</forename><surname>Yuen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Reyes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theory and Practice of Logic Programming</title>
		<imprint>
			<biblScope unit="volume">19</biblScope>
			<biblScope unit="page" from="204" to="228" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Logic programming at elementary school: Why, what and how should we teach logic programming to children?</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">A</forename><surname>Cecchi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Rodríguez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Dahl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Prolog -The Next 50 Years, number 13900</title>
				<editor>
			<persName><forename type="first">D</forename><forename type="middle">S</forename><surname>Warren</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">V</forename><surname>Dahl</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Hermenegildo</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><surname>Kowalski</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">F</forename><surname>Rossi</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Logic programming in primary school: Facing computer science at an early age</title>
		<author>
			<persName><forename type="first">J</forename><surname>Rodriguez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Cecchi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of 50 Conferencia Latinoamericana de Informática</title>
				<meeting>50 Conferencia Latinoamericana de Informática</meeting>
		<imprint>
			<publisher>CLEI</publisher>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">C</forename><surname>Pokress</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">J D</forename><surname>Veiga</surname></persName>
		</author>
		<idno type="arXiv">arXiv:1310.2830</idno>
		<title level="m">Mit app inventor: Enabling personal mobile computing</title>
				<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
	<note type="report_type">arXiv preprint</note>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">The scratch programming language and environment</title>
		<author>
			<persName><forename type="first">J</forename><surname>Maloney</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Resnick</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Rusk</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Silverman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Eastmond</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Computing Education (TOCE)</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="page" from="1" to="15" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">U</forename><surname>California</surname></persName>
		</author>
		<ptr target="https://snap.berkeley.edu/about,???" />
		<title level="m">Snap!</title>
				<imprint>
			<date type="published" when="2024-04-04">April 04, 2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title level="m" type="main">Monaco playground for ciao prolog</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">García</forename><surname>Pradales</surname></persName>
		</author>
		<ptr target="https://oa.upm.es/71073/,trabajoFinaldeGrado" />
		<imprint>
			<date type="published" when="2022">2022</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Exploration of the place of computer science knowledge areas in the argentine secondary school: A systematic review</title>
		<author>
			<persName><forename type="first">J</forename><surname>Rodríguez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">M</forename><surname>Cortez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Boari</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Electronic Journal of SADIO</title>
		<imprint>
			<biblScope unit="volume">21</biblScope>
			<date type="published" when="2022">2022</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">E</forename><surname>Harel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">E</forename><surname>Papert</surname></persName>
		</author>
		<title level="m">Constructionism</title>
				<imprint>
			<publisher>Ablex Publishing</publisher>
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Situating constructionism</title>
		<author>
			<persName><forename type="first">S</forename><surname>Papert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Harel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">constructionism</title>
		<imprint>
			<biblScope unit="volume">36</biblScope>
			<biblScope unit="page" from="1" to="11" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Teaching computer programming with primm: a sociocultural perspective</title>
		<author>
			<persName><forename type="first">S</forename><surname>Sentance</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Waite</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Kallia</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Science Education</title>
		<imprint>
			<biblScope unit="volume">29</biblScope>
			<biblScope unit="page" from="136" to="176" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
