Background: Approaches to documenting the software patterns of a system can support intentionally and manually documenting them or automatically extracting them from the source code. Some of the approaches that we review do not maintain proximity between code and documentation. Others do not update the documentation after the code is changed. All of them present a low level of liveness. Approach: This work proposes an approach to improve the understandability of a software system by documenting the design patterns it uses. We regard the creation and the documentation of software as part of the same process and attempt to streamline the two activities. We achieve this by increasing the feedback about the pattern instances present in the code, during development—i.e., by increasing liveness. Moreover, our approach maintains proximity between code and documentation and allows us to visualize the pattern instances under the same environment. We developed a prototype—DesignPatternDoc—for IntelliJ IDEA that continuously identifies pattern instances in the code, suggests them to the developer, generates the respective pattern-instance documentation, and enables live editing and visualization of that documentation. Results: To evaluate this approach, we conducted a controlled experiment with 21 novice developers. We asked participants to complete three tasks that involved understanding and evolving small software systems—up to six classes and 100 lines of code—and recorded the duration and the number of context switches. The results show that our approach helps developers spend less time understanding and documenting a software system when compared to using tools with a lower degree of liveness. Additionally, embedding documentation in the IDE and maintaining it close to the source code reduces context switching significantly.
25 April 2024 in Revista Brasileira de Informática na Educação
Este trabalho apresenta um Mapeamento Sistemático da Literatura sobre a evasão estudantil, a partir do qual buscou-se responder à seguinte questão de pesquisa: quais ferramentas, técnicas de aprendizado de máquina, fatores indutores, bases de dados abertas e métricas de avaliação de algoritmos têm sido utilizados para identificar as causas da evasão estudantil? O protocolo do mapeamento foi elaborado com base nas diretrizes apresentadas por Petersen (2008) e Kitchenham (2004). Portanto, ele consistiu na definição de questões de pesquisa, critérios de seleção, definição de strings de busca, definição das fontes de busca, entre outros elementos. Entre os resultados ressalta-se que a ferramenta R foi a mais utilizada, a classificação obteve destaque entre as técnicas de aprendizagem de máquina e os principais trabalhos da área se concentraram em estudar fatores relacionados às características individuais do aluno. Adicionalmente, foram encontradas 15 bases bases de dados abertas. Por fim, às métricas de avaliação de algoritmos que se destacaram são: Recall, Accuracy e Precision. Os resultados deste mapeamento fornecem uma visão abrangente do estado da arte da pesquisa em evasão estudantil, incluindo as ferramentas e técnicas mais populares e os fatores indutores mais investigados. Pesquisadores podem utilizar os resultados deste trabalho para direcionar esforços de pesquisa para a criação de modelos utilizando os três tipos de fatores indutores e disponibilização de bases abertas.
O ensino de conteúdos de matemática na educação básica apresenta alguns desafios. Muitos desses vêm sendo superados com a utilização de tecnologias da informação e comunicação. Nesse contexto, a robótica educacional vem ganhando espaço, estando cada vez mais presente em ambientes escolares. Porém, há escassez de materiais que auxiliem os professores no uso dessa tecnologia em sala de aula. Para começar a suplantar esse problema, neste artigo, apresenta-se o desenvolvimento de uma ontologia capaz de auxiliar o ensino e aprendizagem da disciplina de matemática utilizando robótica educacional. A ontologia denominada Ontologia de Conteúdo de Matemática Combinada com Robótica Educacional (Onto-ENSINARE) foi construída com base na metodologia Ontology Development 101 com os aspectos de completude, consistência e concisão. Para validar a ontologia foram utilizadas consultas SPARQL para obtenção de respostas úteis aos professores de matemática da educação básica.
A Evasão Escolar no Ensino Superior: Um Estudo de Caso do Curso de Ciência da Computação da UFERSA / School Evasion in Higher Education: A Case Study of the Computer Science Course at UFERSA