CRACS
Permanent URI for this community
This service develops its activity in the areas of programming languages, parallel and distributed computing, data mining, intelligent systems and software architecture, with emphasis on solving concrete problems in areas of multidisciplinary collaboration, such as Biology, Medicine and Chemistry.
Browse
Browsing CRACS by Author "5125"
Results Per Page
Sort Options
-
ItemAn architecture for the rapid development of XML-based web applications( 2009) José Paulo Leal ; 5125Our research goal is the generation of working web applications from high level specifications. Based on our experience in using XML transformations for that purpose, we applied this approach to the rapid development of database management applications. The result is an architecture that defines of a web application as a set of XML transformations, and generates these transformations using second order transformations from a database schema. We used the Model-View-Controller architectural pattern to assign different roles to transformations, and defined a pipeline of transformations to process an HTTP request. The definition of these transformations is based on a correspondence between data-oriented XML Schema definitions and the Entity-Relationship model. Using this correspondence we were able produce transformations that implement database operations, forms interfaces generators and application controllers, as well as the second order transformations that produce all of them. This paper includes also a description of a RAD system following this architecture that allowed us to perform a critical evaluation of this proposal.
-
ItemAsura: A Game-Based Assessment Environment for Mooshak (Short Paper)( 2018) José Paulo Leal ; José Carlos Paiva ; 5125 ; 6251Learning to program is hard. Students need to remain motivated to keep practicing and to overcome their difficulties. Several approaches have been proposed to foster students’ motivation. As most people enjoy playing games of some kind and play on a regular basis, the use of games is one of the most widely spread approaches. However, taking full advantage of games to teach specific concepts of programming requires much effort. This paper presents Asura, a game-based assessment environment built on top of Mooshak that challenges students to code Software Agents (SAs) to play a game, allowing them to test the SAs against each others’ SAs and watch a movie of the test. Once the challenge development stage ends, teachers are able to organize game-like tournaments among SAs. One of the key features of Asura is that it provides a means to reduce the required effort of building game-based challenges up to that of creating traditional programming exercises. © José Carlos Paiva and José Paulo Leal.
-
ItemAuthoring Game-Based Programming Challenges to Improve Students’ Motivation( 2020) José Paulo Leal ; José Carlos Paiva ; Ricardo Queirós ; 5125 ; 6251 ; 5695One of the great challenges in programming education is to keep students motivated while working on their programming assignments. Of the techniques proposed in the literature to engage students, gamification is arguably the most widely spread and effective method. Nevertheless, gamification is not a panacea and can be harmful to students. Challenges comprising intrinsic motivators of games, such as graphical feedback and game-thinking, are more prone to have longterm positive effects on students, but those are typically complex to create or adapt to slightly distinct contexts. This paper presents Asura, a game-based programming assessment environment providing means to minimize the hurdle of building game challenges. These challenges invite the student to code a Software Agent to solve a certain problem, in a way that can defeat every opponent. Moreover, the experiment conducted to assess the difficulty of authoring Asura challenges is described. © 2020, Springer Nature Switzerland AG.
-
ItemAutomated Assessment in Computer Science Education: A State-of-the-Art Review( 2022) Álvaro Figueira ; José Paulo Leal ; José Carlos Paiva ; 5088 ; 5125 ; 6251Practical programming competencies are critical to the success in computer science (CS) education and goto-market of fresh graduates. Acquiring the required level of skills is a long journey of discovery, trial and error, and optimization seeking through a broad range of programming activities that learners must perform themselves. It is not reasonable to consider that teachers could evaluate all attempts that the average learner should develop multiplied by the number of students enrolled in a course, much less in a timely, deep, and fair fashion. Unsurprisingly, exploring the formal structure of programs to automate the assessment of certain features has long been a hot topic among CS education practitioners. Assessing a program is considerably more complex than asserting its functional correctness, as the proliferation of tools and techniques in the literature over the past decades indicates. Program efficiency, behavior, and readability, among many other features, assessed either statically or dynamically, are now also relevant for automatic evaluation. The outcome of an evaluation evolved from the primordial Boolean values to information about errors and tips on how to advance, possibly taking into account similar solutions. This work surveys the state of the art in the automated assessment of CS assignments, focusing on the supported types of exercises, security measures adopted, testing techniques used, type of feedback produced, and the information they offer the teacher to understand and optimize learning. A new era of automated assessment, capitalizing on static analysis techniques and containerization, has been identified. Furthermore, this review presents several other findings from the conducted review, discusses the current challenges of the field, and proposes some future research directions.
-
ItemAutomated Assessment in Computer Science Education: A State-of-the-Art Review( 2022) Álvaro Figueira ; José Paulo Leal ; José Carlos Paiva ; 5088 ; 5125 ; 6251Practical programming competencies are critical to the success in computer science (CS) education and goto-market of fresh graduates. Acquiring the required level of skills is a long journey of discovery, trial and error, and optimization seeking through a broad range of programming activities that learners must perform themselves. It is not reasonable to consider that teachers could evaluate all attempts that the average learner should develop multiplied by the number of students enrolled in a course, much less in a timely, deep, and fair fashion. Unsurprisingly, exploring the formal structure of programs to automate the assessment of certain features has long been a hot topic among CS education practitioners. Assessing a program is considerably more complex than asserting its functional correctness, as the proliferation of tools and techniques in the literature over the past decades indicates. Program efficiency, behavior, and readability, among many other features, assessed either statically or dynamically, are now also relevant for automatic evaluation. The outcome of an evaluation evolved from the primordial Boolean values to information about errors and tips on how to advance, possibly taking into account similar solutions. This work surveys the state of the art in the automated assessment of CS assignments, focusing on the supported types of exercises, security measures adopted, testing techniques used, type of feedback produced, and the information they offer the teacher to understand and optimize learning. A new era of automated assessment, capitalizing on static analysis techniques and containerization, has been identified. Furthermore, this review presents several other findings from the conducted review, discusses the current challenges of the field, and proposes some future research directions.
-
ItemAutomated Assessment in Computer Science: A Bibliometric Analysis of the Literature( 2022) José Paulo Leal ; Álvaro Figueira ; 5125 ; 5088
-
ItemAutomated Assessment of Simple Web Applications (Short Paper)( 2023) José Paulo Leal ; 5125Web programming education is an important component of modern computer science curricula. Assessing students’ web programming skills can be time-consuming and challenging for educators. This paper introduces Webpal, an automated assessment tool for web programming exercises in entry-level courses. Webpal evaluates web applications coded in HTML, CSS, and Javascript, and provides feedback to students. This tool integrates with Virtual Learning Environments (VLEs) through an API, allowing the creation, storage, and access to exercises while assessing student attempts based on the created exercises. The evaluation process comprises various subcomponents: static assessment, interface matching, functional testing, and feedback management. This approach aims to provide feedback that helps students overcome their challenges in web programming assignments. This paper also presents a demo showcasing the tool’s features and functionality in a simulated VLE environment. © Luís Maia Costa, José Paulo Leal, and Ricardo Queirós; licensed under Creative Commons License CC-BY 4.0.
-
ItemAutomatic Generation and Delivery of Multiple-Choice Math Quizzes( 2013) José Paulo Leal ; 5125We present an application of constraint logic programming to create multiple-choice questions for math quizzes. Constraints are used for the configuration of the generator, giving the user some flexibility to customize the forms of the expressions arising in the exercises. Constraints are also used to control the application of the buggy rules in the derivation of plausible wrong solutions to the quiz questions. We developed a prototype based on the core system of AGILMAT [18]. For delivering math quizzes to students, we used an automatic evaluation feature of Mooshak [8] that was improved to handle math expressions. The communication between the two systems - AgilmatQuiz and Mooshak - relies on a specially designed LATEX based quiz format. This tool is being used at our institution to create quizzes to support assessment in a PreCalculus course for first year undergraduate students.
-
ItemBabeLO-An Extensible Converter of Programming Exercises Formats( 2013) Ricardo Queirós ; José Paulo Leal ; 5695 ; 5125In the last two decades, there was a proliferation of programming exercise formats that hinders interoperability in automatic assessment. In the lack of a widely accepted standard, a pragmatic solution is to convert content among the existing formats. BabeLO is a programming exercise converter providing services to a network of heterogeneous e-learning systems such as contest management systems, programming exercise authoring tools, evaluation engines and repositories of learning objects. Its main feature is the use of a pivotal format to achieve greater extensibility. This approach simplifies the extension to other formats, just requiring the conversion to and from the pivotal format. This paper starts with an analysis of programming exercise formats representative of the existing diversity. This analysis sets the context for the proposed approach to exercise conversion and to the description of the pivotal data format. The abstract service definition is the basis for the design of BabeLO, its components and web service interface. This paper includes a report on the use of BabeLO in two concrete scenarios: to relocate exercises to a different repository, and to use an evaluation engine in a network of heterogeneous systems.
-
ItemBibliometric Analysis of Automated Assessment in Programming Education: A Deeper Insight into Feedback( 2023) Álvaro Figueira ; José Paulo Leal ; 5088 ; 5125Learning to program requires diligent practice and creates room for discovery, trial and error, debugging, and concept mapping. Learners must walk this long road themselves, supported by appropriate and timely feedback. Providing such feedback in programming exercises is not a humanly feasible task. Therefore, the early and steadily growing interest of computer science educators in the automated assessment of programming exercises is not surprising. The automated assessment of programming assignments has been an active area of research for over a century, and interest in it continues to grow as it adapts to new developments in computer science and the resulting changes in educational requirements. It is therefore of paramount importance to understand the work that has been performed, who has performed it, its evolution over time, the relationships between publications, its hot topics, and open problems, among others. This paper presents a bibliometric study of the field, with a particular focus on the issue of automatic feedback generation, using literature data from the Web of Science Core Collection. It includes a descriptive analysis using various bibliometric measures and data visualizations on authors, affiliations, citations, and topics. In addition, we performed a complementary analysis focusing only on the subset of publications on the specific topic of automatic feedback generation. The results are highlighted and discussed.
-
ItemBibliometric Analysis of Automated Assessment in Programming Education: A Deeper Insight into Feedback( 2023) Álvaro Figueira ; José Paulo Leal ; 5088 ; 5125Learning to program requires diligent practice and creates room for discovery, trial and error, debugging, and concept mapping. Learners must walk this long road themselves, supported by appropriate and timely feedback. Providing such feedback in programming exercises is not a humanly feasible task. Therefore, the early and steadily growing interest of computer science educators in the automated assessment of programming exercises is not surprising. The automated assessment of programming assignments has been an active area of research for over a century, and interest in it continues to grow as it adapts to new developments in computer science and the resulting changes in educational requirements. It is therefore of paramount importance to understand the work that has been performed, who has performed it, its evolution over time, the relationships between publications, its hot topics, and open problems, among others. This paper presents a bibliometric study of the field, with a particular focus on the issue of automatic feedback generation, using literature data from the Web of Science Core Collection. It includes a descriptive analysis using various bibliometric measures and data visualizations on authors, affiliations, citations, and topics. In addition, we performed a complementary analysis focusing only on the subset of publications on the specific topic of automatic feedback generation. The results are highlighted and discussed.
-
ItemCan a Content Management System Provide a Good User Experience to Teachers? (Short Paper)( 2023) José Paulo Leal ; 5125The paper discusses an ongoing project that aims to enhance the UX of teachers while using e-learning systems. Specifically, the project focuses on developing the teacher’s user interface (UI) for Agni, a web-based code playground for learning JavaScript. The goal is to design an intuitive UI with valuable features that will encourage more teachers to use the system. To achieve this goal, the paper explores the use of a headless Content Management System (CMS) called Strapi. The primary research question the paper seeks to answer is whether a headless CMS, specifically Strapi, can provide a good UX to teachers. A usability evaluation of the built-in Strapi UI for content creation and management reveals it to be generally consistent and user-friendly but challenging and unintuitive to create courses with programming exercises. As a result, the decision was made to develop a new teacher’s UI based on the existing Agni UI for students in an editable version. Once the development is complete, a new usability evaluation of the fully developed teacher’s UI will be conducted with the Strapi UI evaluation as a baseline for comparison. © Yannik Bauer, José Paulo Leal, and Ricardo Queirós; licensed under Creative Commons License CC-BY 4.0.
-
ItemChallenges in Computing Semantic Relatedness for Large Semantic Graphs( 2014) José Paulo Leal ; 5125The research presented in this paper is part of an ongoing work to define semantic relatedness measures to any given semantic graph. These measures are based on a prior definition of a family of proximity algorithms that computes the semantic relatedness between pairs of concepts, and are parametrized by a semantic graph and a set of weighted properties. The distinctive feature of the proximity algorithms is that they consider all paths connecting two concepts in the semantic graph. These parameters must be tuned in order to maximize the quality of the semantic measure against a benchmark data set. From a previous work, the process of tuning the weight assignment is already developed and relies on a genetic algorithm. The weight tuning process, using all the properties in the semantic graph, was validated using WordNet 2.0 and the data set WordSim-353. The quality of the obtained semantic measure is better than those in the literature. However, this approach did not produce equally good results in larger semantic graphs such as WordNet 3.0, DBPedia and Freebase. This was in part due to the size of these graphs. The current approach is to select a sub-graph of the original semantic graph, small enough to enable processing and large enough to include all the relevant paths. This paper provides an overview of the ongoing work and presents a strategy to overcome the challenges raise by large semantic graphs.
-
ItemA CLP-based tool for computer aided generation and solving of maths exercises( 2003) José Paulo Leal ; 5125We propose an interesting application of Constraint Logic Programming to automatic generation and explanation of mathematics exercises. A particular topic in mathematics is considered to investigate and illustrate the advantages of using the CLP paradigm. The goal is to develop software components that make the formulation and explanation of exercise's easier. We describe exercises by grammars which enables us to get specialized forms almost for free, by imposing further conditions through constraints. To define the grammars we concentrate on the solving procedures that are taught instead of trying to abstract an exercise template from a sample of similar exercises. Prototype programs indicate that Constraint Logic Programming frameworks may be adequate to implement such a tool. These languages have the right expressiveness to encode control on the system in an elegant and declarative way.
-
ItemA CLP-based tool for computer aided generation and solving of maths exercises( 2003) José Paulo Leal ; 5125We propose an interesting application of Constraint Logic Programming to automatic generation and explanation of mathematics exercises. A particular topic in mathematics is considered to investigate and illustrate the advantages of using the CLP paradigm. The goal is to develop software components that make the formulation and explanation of exercise's easier. We describe exercises by grammars which enables us to get specialized forms almost for free, by imposing further conditions through constraints. To define the grammars we concentrate on the solving procedures that are taught instead of trying to abstract an exercise template from a sample of similar exercises. Prototype programs indicate that Constraint Logic Programming frameworks may be adequate to implement such a tool. These languages have the right expressiveness to encode control on the system in an elegant and declarative way.
-
ItemComparing and Benchmarking Semantic Measures Using SMComp( 2016) José Paulo Leal ; 5125The goal of the semantic measures is to compare pairs of concepts, words, sentences or named entities. Their categorization depends on what they measure. If a measure only considers taxonomy relationships is a similarity measure; if it considers all type of relationships it is a relatedness measure. The evaluation process of these measures usually relies on semantic gold standards. These datasets, with several pairs of words with a rating assigned by persons, are used to assess how well a semantic measure performs. There are a few frameworks that provide tools to compute and analyze several well-known measures. This paper presents a novel tool - SMComp - a testbed designed for path-based semantic measures. At its current state, it is a domain-specific tool using three different versions of WordNet. SMComp has two views: one to compute semantic measures of a pair of words and another to assess a semantic measure using a dataset. On the first view, it offers several measures described in the literature as well as the possibility of creating a new measure, by introducing Java code snippets on the GUI. The other view offers a large set of semantic benchmarks to use in the assessment process. It also offers the possibility of uploading a custom dataset to be used in the assessment. © Teresa Costa and José Paulo Leal;licensed under Creative Commons License CC-BY.
-
ItemComputing Semantic Relatedness using DBPedia( 2012) José Paulo Leal ; Ricardo Queirós ; 5125 ; 5695Extracting the semantic relatedness of terms is an important topic in several areas, including data mining, information retrieval and web recommendation. This paper presents an approach for computing the semantic relatedness of terms using the knowledge base of DBpedia - a community effort to extract structured information from Wikipedia. Several approaches to extract semantic relatedness from Wikipedia using bag-of-words vector models are already available in the literature. The research presented in this paper explores a novel approach using paths on an ontological graph extracted from DBpedia. It is based on an algorithm for finding and weighting a collection of paths connecting concept nodes. This algorithm was implemented on a tool called Shakti that extract relevant ontological data for a given domain from DBpedia using its SPARQL endpoint. To validate the proposed approach Shakti was used to recommend web pages on a Portuguese social site related to alternative music and the results of that experiment are reported in this paper.
-
ItemcrimsonHex: a learning objects repository for programming exercises( 2013) José Paulo Leal ; Ricardo Queirós ; 5125 ; 5695A repository of learning objects is a system that stores electronic resources in a technology-mediated learning process. The need for this kind of repository is growing as more educators become eager to use digital educational contents and more of it becomes available. The sharing and use of these resources relies on the use of content and communication standards as a means to describe and exchange educational resources, commonly known as learning objects. This paper presents the design and implementation of a service-oriented repository of learning objects called crimsonHex. This repository supports new definitions of learning objects for specialized domains and we illustrate this feature with the definition of programming exercises as learning objects and its validation by the repository. The repository is also fully compliant with existing communication standards and we propose extensions by adding new functions, formalizing message interchange and providing a REST interface. To validate the interoperability features of the repository, we developed a repository plug-in for Moodle that is expected to be included in the next release of this popular learning management system. Copyright (c) 2012 John Wiley & Sons, Ltd.
-
ItemCrimsonHex: A Service Oriented Repository of Specialised Learning Objects( 2009) Ricardo Queirós ; José Paulo Leal ; 5695 ; 5125The corner stone of the interoperability of eLearning systems is the standard definition of learning objects. Nevertheless, for some domains this standard is insufficient to fully describe all the assets, especially when they are used as input for other eLearning services. On the other hand, a standard definition of learning objects in not enough to ensure interoperability among eLearning systems; they must also use a standard API to exchange learning objects. This paper presents the design and implementation of a service oriented repository of learning objects called crimsonHex. This repository is fully compliant with the existing interoperability standards and supports new definitions of learning objects for specialized domains. We illustrate this feature with the definition of programming problems as learning objects and its validation by the repository. This repository is also prepared to store usage data on learning objects to tailor the presentation order and adapt it to learner profiles.
-
ItemCrimsonHex: A Service Oriented Repository of Specialised Learning Objects( 2009) Ricardo Queirós ; José Paulo Leal ; 5695 ; 5125The corner stone of the interoperability of eLearning systems is the standard definition of learning objects. Nevertheless, for some domains this standard is insufficient to fully describe all the assets, especially when they are used as input for other eLearning services. On the other hand, a standard definition of learning objects in not enough to ensure interoperability among eLearning systems; they must also use a standard API to exchange learning objects. This paper presents the design and implementation of a service oriented repository of learning objects called crimsonHex. This repository is fully compliant with the existing interoperability standards and supports new definitions of learning objects for specialized domains. We illustrate this feature with the definition of programming problems as learning objects and its validation by the repository. This repository is also prepared to store usage data on learning objects to tailor the presentation order and adapt it to learner profiles.