2020
Authors
Paiva, JC; Leal, JP; Queiros, R;
Publication
INFORMATION
Abstract
Loss of motivation is one of the most prominent concerns in programming education as it negatively impacts time dedicated to practice, which is crucial for novice programmers. Of the distinct techniques introduced in the literature to engage students, gamification, is likely the most widely explored and fruitful. Game elements that intrinsically motivate students, such as graphical feedback and game-thinking, reveal more reliable long-term positive effects, but those involve significant development effort. This paper proposes a game-based assessment environment for programming challenges, built on top of a specialized framework, in which students develop a program to control the player, henceforth called Software Agent (SA). During the coding phase, students can resort to the graphical feedback demonstrating how the game unfolds to improve their programs and complete the proposed tasks. This environment also promotes competition through competitive evaluation and tournaments among SAs, optionally organized at the end by the teacher. Moreover, the validation of the effectiveness of Asura in increasing undergraduate students' motivation and, consequently, the practice of programming is reported.
2020
Authors
Queirós, R; Pinto, M; Terroso, T;
Publication
First International Computer Programming Education Conference, ICPEC 2020, June 25-26, 2020, ESMAD, Vila do Conde, Portugal (Virtual Conference).
Abstract
Computer programming plays a relevant role in the digital age as a key competency for project leverage and a driver of innovation for today's modern societies. Despite its importance, this domain is also well known for their higher learning failure rates. In this context, the study of how computer programming is taught is fundamental to clarify the teaching-learning process and to ensure the sharing of the best practices. This paper presents a survey on computer programming teaching in the first-year courses of Portuguese Universities, more precisely, what is taught and how it is taught. The study focuses essentially on the following facets: The class characterization, the methodologies used and the languages/technologies taught. Based on these criteria, a survey was done which gathers information of 59 courses included in a wide range of Universities spread across Portugal. The results were collected and analyzed. Based on this analysis a set of conclusions were taken revealing some interesting results on the teaching methods and languages used which can be useful to support a discussion on this subject and, consequently, to find new paths to shape the future of programming teaching. 2012 ACM Subject Classification Social and professional topics ! Computer science education.
2020
Authors
Queirós, R;
Publication
Trends and Innovations in Information Systems and Technologies - Volume 3, WorldCIST 2020, Budva, Montenegro, 7-10 April 2020.
Abstract
With the advent of cloud platforms and the IoT paradigm, the concept of micro-services has gained even more strength, making crucial the process of selection, manipulation, and deployment. However, this whole process is time-consuming and error pruning. In this paper, we present the design of a framework that allows the chaining of several microservices as a composite service in order to solve a single problem. The framework includes a client that will allow the orchestration f the composite service based on a straightforward API. The framework also includes a gamification engine to engage users not only to use the framework, by contributing with new microservices. We expect to have briefly a functional prototype of the framework so we can prove this concept. © 2020, The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG.
2021
Authors
Paiva, JC; Haraszczuk, A; Queirós, R; Leal, JP; Swacha, J; Kosta, S;
Publication
TRENDS AND APPLICATIONS IN INFORMATION SYSTEMS AND TECHNOLOGIES, VOL 4
Abstract
Keeping students engaged while learning programming is becoming more and more imperative. Of the several proposed techniques, gamification is presumably the most widely studied and has already proven as an effective means to engage students. However, there is a complete lack of public and customizable solutions to gamified programming education that can be reused with personalized rules and learning material. FGPE Gamification Service (FGPE GS) is an open-source GraphQL service that transforms a package containing the gamification layer – adhering to a dedicated open-source language, GEdIL – into a game. The game provides students with a gamified experience leveraging on the automatically-assessable activities referenced by the challenges. This paper presents FGPE GS, its architecture, data model, and validation. © 2021, The Author(s), under exclusive license to Springer Nature Switzerland AG.
2021
Authors
Paiva, JC; Queirós, R; Leal, JP; Swacha, J; Miernik, F;
Publication
Second International Computer Programming Education Conference, ICPEC 2021, May 27-28, 2021, University of Minho, Braga, Portugal.
Abstract
The importance of e-learning tools facilitating the process of learning to program is growing, especially as the pandemic-caused lockdown enforced distance learning in many countries. The key success factor in this process is the provision of an instant and relevant feedback to students. In this paper, we describe a novel open-source programming learning environment featuring automatic assessment of students' solutions and customized gamification. This environment has been developed as a part of the FGPE framework. © José Carlos Paiva, Ricardo Queirós, José Paulo Leal, Jakub Swacha, and Filip Miernik; licensed under Creative Commons License CC-BY 4.0 Second International Computer Programming Education Conference (ICPEC 2021).
2021
Authors
Queirós, R; Paiva, JC; Leal, JP;
Publication
10th Symposium on Languages, Applications and Technologies, SLATE 2021, July 1-2, 2021, Vila do Conde/Póvoa de Varzim, Portugal.
Abstract
Problem-solving is considered one of the most important skills to retain in the coming decades for building a modern and proactive society. In this realm, computer programming learning is vital to enrich those skills. Practicing in this area boils down to solve programming exercises. In order to foster this practice, it is necessary to provide students with the best of the breed automated tools and a good set of exercises in a fair quantity covering the curricula of a typical programming course. Despite the increasing appearance of automated tools such as program evaluators, gamification engines and sophisticated web environments, access to exercises remains problematic. In fact, although the existence of several code repositories (most for feed computer programming contests), the majority of them store the exercises in proprietary formats and without any access facilities hindering their use. This leaves no other option to teachers but to manually create programming exercises which is time-consuming and error prone, or simply, reuse the same exercises, from previous years, which is considered as a detrimental and limiting approach to enhance multi-faceted and creative programmers. The article surveys the current interoperability efforts on programming exercises, more precisely, in terms of serialization formats and communication protocols. This study will sustain the selection of an API to feed a code playground called LearnJS with random programming exercises.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.