Aperfeiçoamento das competências de resolução de problemas na aprendizagem introdutória de programação de computadores usando um jogo sério digital

Palavras-chave: Jogos sérios,Serious games,Ensino de programação,Programming teaching,Programação baseada em blocos,Block based programming,Jogos casuais,Casual games,Motor de jogos,Game engine

Os investigadores que se dedicam à área do ensino e aprendizagem inicial de programação continuam a classificar e identificar as dificuldades dos estudantes, e a tentar desenvolver metodologias e ferramentas que os possam ajudar, especialmente aqueles que apresentam mais dificuldades para alcançar as competências necessárias.   Neste trabalho investigamos o uso de jogos sérios para suportar estudantes que iniciam a aprendizagem de programação. Foi desenvolvido um jogo sério, chamado NoBug’s SnackBar, com elementos de diversão que normalmente não são encontrados em outros jogos de mesma natureza, com intuito de atrair e motivar os alunos nas fases iniciais de aprendizagem para que tomem gosto pelo jogo, e com isso, desenvolvam suas competências de programação. A mecânica e as regras do jogo são simples, de modo a que seja fácil aprender como o jogo, facilitando a sua introdução e integração como ferramenta nas disciplinas introdutórias de programação. O jogo inclui um conjunto de missões, que se podem cumprir através de pequenos programas. É usada uma abordagem baseada em blocos, para tornar o jogo independente da linguagem de programação, permitindo aos estudantes focar-se nos problemas a resolver e não na sintaxe de alguma linguagem de programação. O jogo é executado num navegador, não requerendo grandes requisitos de hardware e nem a instalação de software adicional. O professor conta com uma área administrativa que destaca os alunos com maior dificuldade em progredir, e assim permite que ele(a) monitore a evolução de cada aluno, em cada uma de suas tentativas.   O projeto seguiu a metodologia de investigação Design-Based Research, tendo sido realizados quatro ciclos, o primeiro foi um piloto para validar a ideia, e os três seguintes de maior duração, cada um deles cobrindo praticamente um semestre inteiro, para que fosse possível verificar mudanças significativas na aprendizagem e na adesão ao jogo, bem como identificar alterações e/ou melhorias que era necessário incluir no jogo ou na sua forma de utilização. Os alunos tiveram a liberdade de usar o jogo quando e quanto queriam, e assim acreditamos ter uma avaliação mais verídica sobre a sua utilidade pedagógica. No final de cada ciclo, foram identificadas algumas ideias a serem testadas no ciclo seguinte, levando mudanças no jogo. Em cada um dos três ciclos foram testadas formas distintas de organização e disponibilização das tarefas de aprendizagem, bem como de integração do jogo com as aulas.   Como produto dessa tese, além do jogo, todas as observações efetuadas durante os ciclos de avaliação e desenvolvimento nos permitiram formular um conjunto de ideias e recomendações para o desenvolvimento e utilização de jogos para o suporte à aprendizagem de programação.   O jogo foi desenvolvido seguindo os princípios de motores de jogos. Esta opção foi tomada para permitir que o jogo suportasse as distintas formas de organização e disponibilização das tarefas de aprendizagem experimentada durante os ciclos. Igualmente foi objetivo permitir que os professores que venham a usar o jogo em suas aulas possam definir a sua própria organização e tarefas de aprendizagem. Com isso, como um terceiro produto da tese, definimos um modelo de arquitetura construcionista de jogos sérios para aprendizagem de programação, que procura orientar e inspirar outros projetistas no desenvolvimento dos seus jogos.  ABSTRACT: Researchers who focus on introductory programming teaching and learning  continue to classify and identify students' difficulties, and to try to develop  methodologies and tools that can help them, especially those who are struggling to  develop the required competencies.  In this work, we investigate the use of serious games to support students who  begin computer programming learning. We developed a serious game, called NoBug's  SnackBar, with fun elements that are not usually found in other games of a similar  nature. The idea is to attract and motivate the students in the early learning stages to  use the game and with that develop their programming skills. The mechanics and rules  of the game are simple; therefore, it is easy to learn how it works, facilitating its  introduction and integration as a tool in the introductory computer programming  courses. The game includes a set of missions that can be fulfilled through small  programs. A block-based approach is used to make the game independent of the  computer programming language, allowing students to focus on the problems to be  solved and not on the syntax of any computer programming language. The game runs  in a browser, requiring no major hardware requirements or installing additional  software. The teacher has an administrative area that highlights the students with more  difficulties in progressing, and thus allows the teacher to monitor the evolution of each  student in each of his or her attempts.  The project followed the Design-Based Research methodology, with four cycles  being performed. The first one was a pilot to validate the idea. The next three were  longer, each covering almost a whole semester, thus it was possible to verify significant  learning changes and adherence to the game, as well as identifying changes and / or  improvements that needed to be included in the game or its use. Students had the  freedom to use the game when and how much they wanted. Therefore, we believe we  have a more truthful assessment of the fun and its pedagogical usefulness. At the end  of each cycle, some ideas were identified to be tested in the following cycle, leading to  changes in the game. In each of the three cycles, we used different forms of organizing  and making available the learning tasks, as well as integrating the game with the  classes.   As a product of this thesis, in addition to the game, all the observations in the  development cycles allowed us to formulate a set of ideas and recommendations for  the development and use of games to support programming learning.  The game was developed following the principles of game engines. This option  was taken to allow the game to support the different forms of organization and  availability of the learning tasks experienced during the cycles. It was also intended to  allow teachers who use the game in their courses to define their own organization and  learning tasks. Therefore, as a third product of the thesis, we define a constructionist  serious games architecture model for programming learning, which seeks to guide and  inspire other designers in the development of their games.

Área científica: Ciências da Engenharia e Tecnologias