Software developers use metrics to evaluate code quality and productivity, but these practices are still rare in programming education. This project bridges the gap by collecting real-time learning analytics from individual student and whole-class code development logs. This granular, quantitative data provides educators with qualitative insights into the learning process. It allows them to evaluate student comprehension, identify common challenges, and critically assess whether the allocated time for exercises and algorithms is sufficient for mastery. Unlike traditional Learning Management Systems, we propose a novel approach: a plugin for a widely used code editor that captures granular interactions during programming and documentation. The resulting dataset logs coding behaviors, errors, and progress, enabling evidence-based analysis of learning patterns and educational benchmarking. By structuring this real-time programming trail, we support research on teaching methodologies, learner challenges, and skill acquisition. Quantitative metrics complement qualitative assessment by evaluating code, exercise progress, and timestamp logs. Our goal is to provide an open-access database for educators and researchers, fostering data-driven insights to enhance instruction and personalize learning experiences. This work aligns industrial best practices with pedagogical innovation, advancing measurable, empirical approaches to programming education.
Context: Students of computer science and related courses (including those who have already graduated) often have knowledge gaps on software testing and low levels of motivation and interest in learning this subject. Functional testing technique criteria, for example, are usually required and used in industry, but their teaching still needs support. Faced with the problems caused by such gaps and a historical shortage of qualified testing professionals, improvements in testing education are demanded by the industry for the academy. Dojos may contribute in this context since positive results are usually reported regarding their impact on the motivation and perception of learning of students. However, their use is still little explored in the testing area. Objective: In this study we aimed to define and evaluate an approach supported by testing dojo to teaching and learning functional testing technique criteria in higher education. Methods: We defined the approach (named ADoTe) iteratively, supported by literature data and by quali-quantitative analysis of the results of two executions of a controlled experiment that evaluated the impact of ADoTe (compared to a traditional teaching approach) on the learning (measured by knowledge tests) and motivation (measured by a questionnaire named Intrinsic Motivation Inventory (IMI)) of students. Results: From the analysis of data collected from 44 participants we noticed that, although the averages for learning and general motivation of the groups submitted to ADoTe were greater than those of the groups submitted to a traditional teaching approach, it was not possible to state that, for these variables, there was a statistically significant difference between the approaches evaluated. However, the results of the IMI subscale related to intrinsic motivation were statistically significant, indicating that students feel more interest/enjoyment in learning functional testing technique criteria through ADoTe (the averages of the groups submitted to ADoTe were 15.80% and 19.71% higher than those of the control groups). Additionally, the results of thematic analyses carried out on the answers to a retrospective questionnaire showed that ADoTe was well accepted by students and reinforced the importance of its steps and guidelines. Conclusion: ADoTe positively impacts the learning and motivation of students and, compared to traditional teaching, tends to lead to greater levels of interest/enjoyment in learning functional testing technique criteria.
In December 2023, security agencies from five countries in North America, Europe, and the south Pacific produced a document encouraging senior executives in all software producing organizations to take responsibility for and oversight of the security of the software their organizations produce. In February 2024, the White House released a cybersecurity outline, highlighting the December document. In this work we review the safe languages listed in these documents, and compare the safety of those languages with Erlang and Elixir, two BEAM languages. These security agencies' declaration of some languages as safe is necessary but insufficient to make wise decisions regarding what language to use when creating code. We propose an additional way of looking at languages and the ease with which unsafe code can be written and used. We call this new perspective unsafe impedance. We then go on to use unsafe impedance to examine nine languages that are considered to be safe. Finally, we suggest that business processes include what we refer to as an Unsafe Acceptance Process. This Unsafe Acceptance Process can be used as part of the memory safe roadmaps suggested by these agencies. Unsafe Acceptance Processes can aid organizations in their production of safe by design software.
Requirements Engineering (RE) is one of the prime areas in software development. Since agile software development englobes several emerging techniques and advocates for continuous improvement, it urges the question of which agile RE practices are currently most used, their characteristics, and the challenges in their employment. The aim of this work is to investigate and categorize the collection and specification of agile requirements practices based on how professionals perceive their importance for a software project that applies agile methodologies. Thus, a survey was carried out with forty-six (46) Brazilian software development professionals, inquiring which methods are used for the collection and specification of agile requirements, as well as the features, benefits, and difficulties when employing the methods. The responses allowed us to perform data analysis and identify the relationships between the respondents' experience and the viewpoints on the collection methods and the agile requirements specification. In addition, it was noted that the adoption of these methods is still very recent. They have mainly been used for less than five years. Moreover, it was noted that, for most respondents, there are yet significant challenges and advances to be made for better efficiency in applying the informed methods.
Estimar esforço de software é crítico para as organizações. Uma das principais práticas é o Planning Poker, porém seus dados não são salvos para estimativas futuras. O uso de aprendizado de máquina (AM) vem crescendo e assim propomos uma combinação do Planning Poker e AM, denominada ML Planning Poker. Consiste em utilizar o Planning Poker e uma ferramenta desenvolvida contendo um modelo de AM embutido. Avaliamos a proposta em ambiente acadêmico e com profissionais de TI. Em ambos os cenários, relatos foram favoráveis ao uso da ML Planning Poker. A combinação apresentou menos erros se comparada ao Planning Poker original, mais segurança trazendo tarefas similares e reduzindo a incerteza nas estimativas.
The Agile Manifesto describes that the most efficient and effective method of conveying information to and within a development team is through face-to-face conversation. However that is not always possible when teams are working in a Global Software Development (GSD) environment. Based on this scenario, this study presents an exploratory data analysis using survey results to explore agile practices and challenges of a global software development team that uses Scaled Agile Framework (SAFe), which is designed for the need of larger organizations. The goal of this study is to understand the team’s level of knowledge in some agile practices and which types of communication are usually prioritized. As in GSD environments team members are geographically spread across multiple regions and time zones, we aim to identify challenges this environment can present. As a result of this exploratory analysis, it has been identified that communication is one of main challenges in GSD environment and that phone calls are considered to be the most efficient type of communication. Additionally, we have also identified that professionals have different levels of confidence in Agile practices and concluded that knowledge transfers among the professionals could help those team members that are not confident in some agile practices to increase their overall confidence and knowledge.
Understanding the major fraud problems in the world and interpreting the data available for analysis is a current challenge that requires interdisciplinary knowledge to complement the knowledge of computer professionals. Collaborative events (called Hackathons, Datathons, Codefests, Hack Days, etc.) have become relevant in several fields. Examples of fields which are explored in these events include startup development, open civic innovation, corporate innovation, and social issues. These events have features that favor knowledge exchange to solve challenges. In this paper, we present an event format called Short Datathon, a Hackathon for the development of exploratory data analysis and visualization skills. Our goal is to evaluate if participating in a Short Datathon can help participants learn basic data analysis and visualization concepts. We evaluated the Short Datathon in two case studies, with a total of 20 participants, carried out at the Federal University of Technology - Paraná. In both case studies we addressed the issue of tax evasion using real world data. We describe, as a result of this work, the qualitative aspects of the case studies and the perception of the participants obtained through questionnaires. Participants stated that the event helped them understand more about data analysis and visualization and that the experience with people from other areas during the event made data analysis more efficient. Further studies are necessary to evolve the format of the event and to evaluate its effectiveness.
This year, the Agile Manifesto completes seventeen years and, throughout the world, companies and researchers seek to understand their adoption stage, as well as the benefits, barriers, and limitations of agile methods. Although we have some studies and questionnaire data at the global level, we know little about how the Paraguayan software community is adopting agile methods. The present work conducted a research to set up the current stage of adoption, initial concerns and barriers of implementation of agile methods in software development companies in Paraguay. An online survey was sent to representatives of 53 Paraguayan companies. Of these, 9 (17%) companies responded. The concern about adopting more agile methods (44.44% of respondents) was the lack of reliability in product quality if developed using agile methods. The main barrier was the lack of experience (66.66%) of the companies.
Although Agile Software Development (ASD) has proven to be an important set of methods that promotes simplicity issues, there are difficulties in defining simplicity. In order to develop a conceptual model of simplicity from the agile teams perspective, a literature review was conducted covering models related to simplicity in different research areas. Based on that, a conceptual model was developed, which was then triangulated through a focus group with six ASD experts. Five simplicity perspectives in the context of ASD were identified. From the agile teams perspective, simplicity is defined as the theoretical virtue disposing the team towards an analytic attitude that leads agile projects to be successful. The conceptual model of simplicity in agile software development is an invitation to practitioners to do what they already do, but to do so more consciously. This consciousness can make a substantial difference in real situations.
Papers on Agile Software Development methods are often focused on their applicability in commercial projects or organizations. There are no current studies that we know about addressing the application of these methods in research projects. The objective of this work is to describe the perception of researchers on the application of agile software development practices and principles for research projects. A study was conducted by constructing and applying a questionnaire to Brazilian researchers of different affiliations, formation and research areas in order to obtain information about their knowledge and openness to follow agile software development principles and practices.
The teaching of the object-oriented paradigm has become a very common practice in the introduction of computer courses and the difficulties in the teaching-learning process of this paradigm are well known. This paper presents the results obtained from analyzes on the process of constructing UML Class Diagrams, through experiments. For this, a tool was developed to support the teaching-learning process of the object-oriented paradigm, during the construction of Class Diagrams. The main objective of the tool is to collect and analyze the data generated by the students during the construction of Class Diagrams, not only evaluating the final model constructed by the students, but the whole course to obtain this model. With the results generated, the teacher had the possibility to individually assist students with their main difficulties in understanding the object-oriented paradigm. It was observed that after the intervention of the teacher, several students were able to become sufficient in the understanding of the concepts of object orientation, reaching the proposed objectives.
Context: Test Driven Development (TDD) is an agile practice that has gained popularity when it was defined as a fundamental part in eXtreme Programming (XP).Objective: This study analyzed the conclusions of previously published articles on the effects of TDD on internal and external software quality and productivity, comparing TDD with Test Last Development (TLD).Method: In this study, a systematic literature review has been conducted considering articles published between 1999 and 2014.Results: In about 57% of the analyzed studies, the results were validated through experiments and in 32% of them, validation was performed through a case study. The results of this analysis show that 76% of the studies have identified a significant increase in internal software quality while 88% of the studies identified a meaningful increase in external software quality. There was an increase in productivity in the academic environment, while in the industrial scenario there was a decrease in productivity. Overall, about 44% of the studies indicated lower productivity when using TDD compared to TLD.Conclusion: According to our findings, TDD yields more benefits than TLD for internal and external software quality, but it results in lower developer productivity than TLD. (C) 2016 Elsevier B.V. All rights reserved.
A investigação por experimentação no contexto da engenharia de software não é algo recente, mas ainda carece de novos estudos de qualidade. Em estudos que adotam o experimento como método de pesquisa, uma avaliação completa e detalhada das ameaças à validade interna, externa, de construção e de conclusão é um fator de qualidade importantíssimo. A partir de uma análise detalhada de dois estudos empíricos, este trabalho apresenta uma lista de 21 possíveis ameaças à validade de um experimento envolvendo a prática ágil programação em par, proporcionando a exemplificação de 17 possíveis ameaças.
The high competitiveness between business organizations demands a constant innovation and evolution in their productive processes, requiring information systems to be produced and modified with the same swiftness.However, the software requirements elicitation, considered a critical step to the success of the software development, many times it is still done without an effective warranty of its alignment with the problems and needs inherent to the business.This work proposes the development of an approach for software requirements elicitation through the Model and Notation Business Process (BPMN).From the approach point of view of this problem, will be used a qualitative research, because focuses on conceptual issues, patterns, opinions expressed and their respectives analyzes and, from the point of view of technical procedures, it is based on case studies.The preliminary results of the studies indicate that its use is viable and can assist the result effectiveness of the software requirements elicitation.
Coding Dojo is a dynamic and collaborative activity inspired in martial arts that follows a discipline in a cheerful and pleasant environment. Several agile development techniques are used during the Coding Dojo, such as test driven development, pair programming and baby steps. This article presents some Coding Dojo characteristics that help teaching agile development techniques. Some experienced practitioners were interviewed to get qualitative information about their perception of the Coding Dojo practice. An electronic survey was answered by Coding Dojo participants from several Coding Dojo groups in Brazil, which provided quantitative data. This article presents Coding Dojo as a teaching technique to help developers create software with higher test coverage rates.
Dojo de programacao e uma atividade dinâmica e colaborativa inspirada em artes marciais que segue uma disciplina num ambiente de ensino agradavel e divertido. Tecnicas de desenvolvimento agil sao utilizadas durante o dojo de programacao, dentre elas o desenvolvimento guiado por testes, programacao em pares, passos de bebe que serao explicadas neste artigo. Apresentamos nesse artigo caracteristicas do dojo de programacao que favorecem o ensino de tecnicas de desenvolvimento agil para grupos heterogenicos.
In the literature, there are not many theorem provers that treat strategies as first-class citizens, allowing one to prove the same problem with several different strategies and to compare the proofs obtained. In theorem proving, the use of different proof strategies when solving a problem yields proofs of different sizes. And the size of a proof has an impact on the time spent to obtain a proof. We succeeded in developing a multi-strategy theorem prover where we can vary the strategy without modifying the core of the implementation. KEMS allows us to describe several proof strategies for the same logical system, and to implement different logical systems. PhD. Thesis defended on January 30th, 2007. Full text avaliable at http://www. teses.usp.br/teses/disponiveis/45/45134/tde-04052007-175943.
The KE inference system is a tableau method developed by Marco Mondadori which was presented as an improvement, in the computational efficiency sense, over Analytic Tableaux. In the literature, there is no description of a theorem prover based on the KE method for the C1 paraconsistent logic. Paraconsistent logics have several applications, such as in robot control and medicine. These applications could benefit from the existence of such a prover. We present a sound and complete KE system for C1, an informal specification of a strategy for the C1 prover as well as problem families that can be used to evaluate provers for C1. The C1 KE system and the strategy described in this paper will be used to implement a KE based prover for C1, which will be useful for those who study and apply paraconsistent logics.
In this paper we describe a KE tableau system for a Logic of Formal Inconsistency (LFI) called mCi. The family of LFIs is a family of paraconsistent logics with philosophical relevance and applications in computer science. We prove that the KE System for mCi is correct and complete, and describe the implementation of such a system, presenting the strategies designed for the actual implementation within the KEMS framework; KEMS is a multi-strategy theorem prover based on the KE refutation method for propositional logics. We conclude by presenting some problems we have developed to evaluate theorem provers for mCi, as well as the evaluation results obtained with KEMS.