LBLeonidas de Oliveira Brandao

Leonidas de Oliveira Brandao

*This is an algorithmically generated author record based on publicly available information.

Current Organizations / Institutes

The organizations/institutes from the scholar's latest article

Previous Organizations / Institutes

The organizations / institutes from the scholar's other articles in the past ten years


Leonidas de Oliveira Brandao has a total of 72 co-authors. Here are the top co-authors by number of shared publications:


Latest Publications

  • Open Access

    iVProg4All: uma abordagem de programação visual acessível para pessoas cegas

    by Marcos D. Do Nascimento, Anarosa A. F. Brandão, Leonidas de O. Brandão, Tiago M. Casal

    The iVProg4All is a visual programming tool based on forms, designed for teaching and learning programming logic and computational thinking. With iVProg4All, algorithms are created using form elements such as menus, text fields, buttons, and more. Developed following web content accessibility guidelines (WCAG 2.1), iVProg4All also includes accessibility features for blind individuals. Thus, both blind and sighted people can use the tool without the need for adaptation, making the teaching and learning of programming logic and computational thinking more inclusive. O iVProg4All (no português, iVProg para todos) é um ferramenta de programação visual baseada em formulário, destinada para o ensino e aprendizado da lógica de programação e do pensamento computacional. Com iVProg4All os algoritmos são criados a partir de elementos de formulário como menus, campos de textos, botões entre outros. Desenvolvido com base nas diretrizes de acessibilidade para conteúdos na web (WCAG 2.1), o iVProg4All também possui recursos de acessibilidade para pessoas cegas. Assim, pessoas cegas e aquelas que enxergam podem usar a ferramenta sem necessidade de adaptação, tornando o ensino e aprendizado da lógica de programação e do pensamento computacional mais inclusivo.

  • I know what you coded last summer

    by Lucas Mendonça de Souza, Igor Moreira Felix, Bernardo Martins Ferreira, Anarosa Alves Franco Brandão, Leônidas de Oliveira Brandão

    The outbreak of the COVID-19 pandemic caused a surge in enrollments in online courses. Consequently, this boost in numbers of students affected teachers ability to evaluate exercises and resolve doubts. In this context, tools designed to evaluate and provide feedback on code solutions can be used in programming courses to reduce teachers workload. Nonetheless, even with using such tools, the literature shows that learning how to program is a challenging task. Programming is complex and the programming language employed can also affect students outcomes. Thus, designing good exercises can reduce students difficulties in identifying the problem and help reduce syntax challenges. This research employs learning analytics processes on automatic evaluation tools interaction logs and code solutions to find metrics capable of identifying problematic exercises and their difficulty. In this context, an exercise is considered problematic if students have problems interpreting its description or its solution requires complex programming structures like loops, conditionals and recursion. The data comes from online introductory programming courses. Results show that the computed metrics can identify problematic exercises, as well as those that are being challenging.


  • Open Access

    Catalogs of C and Python Antipatterns by CS1 Students

    by Yorah Bosse, Igor Scaliante Wiese, Marco Aurélio Graciotto Silva, Nelson Lago, Leônidas de Oliveira Brandão, David Redmiles, Fabio Kon, Marco A. Gerosa

    Understanding students' programming misconceptions is critical. Doing so depends on identifying the reasons why students make errors when learning a new programming language. Knowing the misconceptions can help students to improve their reflection about their mistakes and also help instructors to design better teaching strategies. In this technical report, we propose catalogs of antipatterns for two programming languages: C and Python. To accomplish this, we analyzed the codes of 166 CS1 engineering students when they were coding solutions to programming exercises. In our results, we catalog 41 CS1 antipatterns from 95 cataloged misconceptions in C and Python. These antipatterns were separated into three catalogs: C, Python, and antipatterns found in code using both programming languages. For each antipattern, we present code examples, students' solutions (if they are present), a possible solution to avoid the antipattern, among other information.

  • Open Access

    iVProg: Programação Interativa Visual e Textual na Internet

    by Igor Felix, Lucas Souza, Leônidas Brandão, Bernardo Ferreira, Anarosa Brandão

    Ensinar e aprender programação não é uma tarefa simples. Uma prova dessa dificuldade são os altos índices de reprovação em disciplinas que introduzem os conceitos de algoritmo ou de uma linguagem específica. Neste artigo, apresentamos o iVProg, uma ferramenta educacional com um ambiente visual e interativo, focado no aprendizado de algoritmos e programação. Seus principais recursos incluem avaliador automático, integração com o Moodle e uma série de elementos gráficos que dispensam a codificação textual para a criação de algoritmos, deixando os estudantes livres para praticarem seu raciocínio computacional.


  • Presenting the Key Ideas of Fractions Through MathFractions: A Game Based Learning

    by Manuel J. Ibarra, Wilber Jiménez, Carolina Soto, Eduardo Chavez, Edison Chiclla, Antonio Silva Sprock, Leônidas de Oliveira Brandão


  • Workshop: Visual programming as a bridge to textual programming: managing an integrated Web course with automatic assessment

    by Leonidas de Oliveira Brandao, Igor Moreira Felix, Lucas Mendonca de Souza, Anarosa Alves Franco Brandao

    The comprehension of algorithms is becoming essential and programming, not rarely, has being introduced since elementary school. Nevertheless, the acquisition of programming skills is not an easy task. This fact is corroborated by the literature that report alarming failure and dropout rates in CS0 (Introduction to Computer Science) courses. On the other hand, forecasts about the demand for software developers indicate exponential growth over the next decade.In this context, reducing the cognitive workload for learners is desirable. For instance, the integration of a web-based environment with some visual programming tool and automatic assessment could benefit learners.The adoption of a unique environment where the students could learn how to solve problems using algorithms and receive immediate feedback may reduce the slope of the learning curve. Moreover, the possibility of using the same tool to communicate with their teachers and colleagues can positively affect their learning.Also, the visual programming paradigm can reduce the need for memorization of a programming language syntax. It allows learners to focus their attention on solving the problem algorithmically.There are several tools that provide automated assessment evaluation. Some of these can be used with Web browsers, but very few of them can be integrated with a Learning Management System (LMS). In this workshop, we will discuss two of these systems that are distributed as free software: the Virtual Programming Laboratory (VPL) and the iVProgH/iAssign solutions. They can all be integrated with the Moodle platform.Since VPL demands an extra installation of the jail server (to run students solutions) and works with traditional programming languages, the focus will be over iVProgH/iAssign. The iVProgH/iAssign solution implements the Visual Programming Paradigm. iVProgH is implemented in HTML, CSS and JavaScript, sparing the use of a security environment to separated compilation, as VPL demands.

  • Which visual programming language best suits each school level? A look at Alice, iVProg, and Scratch

    by Marcos Devaner Do Nascimento, Igor Moreira Felix, Bernardo Martins Ferreira, Lucas Mendonca de Souza, Douglas Lima Dantas, Leonidas de Oliveira Brandao, Anarosa de Oliveira Brandao

    Studies show that visual programming languages (VPL) may favorably be used for introducing programming. Several tools to support VPL are available for teaching programming, but these diversity makes it difficult for teachers to know which one is better suited to a particular student profile. In addition, the adoption of VPL without a methodology, that suits the student's profile, might negatively impact their learning. In this work, we perform a comparative analysis between some existing VPL software, like Alice, Scratch and iVProg with the aim of presenting their main characteristics and making a comparative analysis of their specifications and suitable level schooling. The results show that, although existing VPL have common characteristics, in some cases, they have specificities in relation suitable users.


  • Mathematics and programming: marriage or divorce?

    by Lucas Mendonca de Souza, Bernardo Martins Ferreira, Igor Moreira Felix, Leonidas de Oliveira Brandao, Anarosa Alves Franco Brandao, Patricia Alves Pereira

    The literature about teaching programming usually reputes its learning as a difficult task. Some of them studied different aspects aiming to identify the reasons behind the high failure rates, such as students' mathematics background and text comprehension. This study is focused on identifying which mathematical knowledge positively correlates with programming skills acquisition. We claim that mathematical concepts related to induction, inference and logical reasoning are among such knowledge. To confirm it we conducted a quasi-experiment with students who were enrolled at a first programming course (CS1). We analysed their mathematical knowledge through a test and gathered information on their difficulties and strategies used to overcome their programming difficulties. The data sample was too small to allow for strong assertions. However, the results indicates a possible correlation between mathematical abilities and programming potential. Also, students repute the logic of programming and teaching methodology as the main sources of difficulties. Furthermore, many of them prefer to ask their teachers or look at websites to tackle their difficulties.


  • Evolving Technology to Better Support Teaching Introductory Programming Inside Moodle

    by Leonidas de Oliveira Brandao, Igor Moreira Felix, Patricia Alves Pereira, Anarosa Alves Franco Brandao

    Nowadays, it is increasing the importance of developing skills related to the computational thinking at earlier stages of education, and the adoption of tools that implement the visual programming paradigm has been well succeeded in presenting introductory notions of programming from kindergarten to college. Such tools allows the user to program while manipulating blocks that represent programming languages instructions. iVProg is among this class of tools and was firstly implemented in Java and could be integrated to Moodle using iAssign. Due to technological evolution, iVProg also evolved to iVProgH and its integration to Moodle is still possible by using the new version of iAssign that allow the integration of HTML stack packages to Moodle. In this paper we describe how this evolution takes place and presents iVProgH functionalities as well as iAssign extension to include HTML packages into Moodle. In addition, we give some teaching support whenever integrated using iVProgH with Moodle using iAssign.


  • A Framework to Foster Diversity in Collaborative Activities

    by Leandro Luque, Leonidas de Oliveira Brandao, Anarosa Alves Franco Brandao

    Dynamic lectures are collaborative settings in which learners and educators interact with each other and among them to produce, learn, and consolidate knowledge. To take part into collaborative settings, individuals must be able to communicate with others, be aware of the artifacts used and of the objects of interest, among others. On their foundation, these requirements depend on motor and cognitive-related abilities such as arm movement, perception, recognition, and memorization. Impairments may influence these abilities and consequently pose challenges to the participation in collaborative settings. To the best of our knowledge, there is not a guide, a method nor a framework to orient anyone who wants to analyze the scenario of collaborative settings in order to create conditions for the inclusion of individual in such activities. In this context, this paper presents the Colab4All - Collaboration for All, a framework created to support the analysis of collaborative settings involving people with impairments. The framework uses the well known Human Processor Model with two complementary objectives: first, to derive questions that must be asked to support the analysis previously mentioned, and then to combine these questions with a collaboration model in order to establish the way potential challenges can be addressed. In order to test the proposed framework, we used it to orient a research on the inclusion of individuals with blindness in a class activity based on graphical notations. The results of such research were tested in a real setting and presented promising results. We consider that the framework proposed in this work is a first step to orient research, derive collaborative and inclusive models, and to define requirements for technology that supports such collaborative settings involving people with impairments.