Leonidas de Oliveira Brandao
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
Research Subjects
Leonidas de Oliveira Brandao has a total of 72 co-authors. Here are the top co-authors by number of shared publications:
- Anarosa Alves Franco Brandao
Universidade de São Paulo
29 shared publications - Seiji Isotani
University of Pennsylvania
11 shared publications - Helena Macedo Reis
Universidade Federal do Paraná (UFPR) – Jandaia do Sul – PR – Brasil
5 shared publications Igor Moreira Felix
Universidade de São Paulo
5 shared publicationsDanilo L. Dalmon
Department of Computer Science, University of São Paulo
4 shared publications- Lucas Mendonca de Souza
Instituto de Matemática e Estatística (IME), Universidade de São Paulo (USP), São Paulo, Brazil
4 shared publications
Latest Publications
- Open Access
- 6 November 2023
- Published by Sociedade Brasileira de Computação
- p. 193-196
iVProg4All: uma abordagem de programação visual acessível para pessoas cegas
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.
- 6 November 2023
- Published by Sociedade Brasileira de Computação
- p. 193-196
Open AccessiVProg4All: uma abordagem de programação visual acessível para pessoas cegas
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.
- 22 November 2021
- Published by Sociedade Brasileira de Computação
- p. 909-920
I know what you coded last summer
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.
- 22 November 2021
- Published by Sociedade Brasileira de Computação
- p. 909-920
I know what you coded last summer
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
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 AccessCatalogs of C and Python Antipatterns by CS1 Students
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
- 21 November 2019
- Published by Sociedade Brasileira de Computação
- Vol. 8 (1) , 1164
iVProg: Programação Interativa Visual e Textual na Internet
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.
- 21 November 2019
- Published by Sociedade Brasileira de Computação
- Vol. 8 (1) , 1164
Open AccessiVProg: Programação Interativa Visual e Textual na Internet
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.
- 4 November 2019
- Published by Springer Nature
- p. 417-421
Presenting the Key Ideas of Fractions Through MathFractions: A Game Based Learning
- 4 November 2019
- Published by Springer Nature
- p. 417-421
Presenting the Key Ideas of Fractions Through MathFractions: A Game Based Learning
- 1 October 2019
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-3
Workshop: Visual programming as a bridge to textual programming: managing an integrated Web course with automatic assessment
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.
- 1 October 2019
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-3
Workshop: Visual programming as a bridge to textual programming: managing an integrated Web course with automatic assessment
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.
- 1 March 2019
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-6
Which visual programming language best suits each school level? A look at Alice, iVProg, and Scratch
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.
- 1 March 2019
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-6
Which visual programming language best suits each school level? A look at Alice, iVProg, and Scratch
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.
- 1 March 2019
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-5
Mathematics and programming: marriage or divorce?
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.
- 1 March 2019
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-5
Mathematics and programming: marriage or divorce?
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.
- 1 October 2018
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 436-443
Evolving Technology to Better Support Teaching Introductory Programming Inside Moodle
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.
- 1 October 2018
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 436-443
Evolving Technology to Better Support Teaching Introductory Programming Inside Moodle
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.
- 1 October 2018
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-9
A Framework to Foster Diversity in Collaborative Activities
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.
- 1 October 2018
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-9
A Framework to Foster Diversity in Collaborative Activities
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.