Codemon Ensino Dos Fundamentos Da Programação Com Jogo RPG

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 10

Codemon: Ensino dos Fundamentos da Programação com

Jogo RPG
André F. Spindola1, Marcello Thiry1
1
Escola do Mar, Ciência & Computação
Universidade do Vale do Itajaí (UNIVALI) – São José/SC – Brazil

{uniaodk, marcello.thiry}@gmail.com

Abstract. This paper presents a game of the RPG (Role Playing Game) genre
as a pedagogical strategy in the teaching process of the fundamentals of
programming for students beginning in the Computer Science course. The
strategies used for the development and the data collected on different
perceptions and assessments of students on the play the game with an
instructional unit through the MEEGA+ model are presented. Most students
positively accept the method used, as well as provide feedback for future
improvements.

Resumo. Este artigo apresenta um jogo do gênero RPG (Role Playing Game)
como estratégia pedagógica no processo de ensino dos fundamentos da
programação para alunos iniciantes no curso da Ciência da Computação. São
apresentadas as estratégias utilizadas para o desenvolvimento e os dados
coletados sobre diferentes percepções e avaliações dos alunos sobre o uso do
jogo com uma unidade instrucional por meio do modelo MEEGA+. A maioria
dos alunos aceitam positivamente o método utilizado, assim como fornecem
feedbacks para futuras melhorias.

1. Introdução
A maioria dos ingressos na universidade tem como base de ensino do conhecimento, o
método baseado em leitura e escuta, que é um meio eficiente para lembrar de fatos e
conceitos de baixo nível de memorização. Porém, para conceitos mais complexos que
necessitam um alto nível de motivação e concentração, tem demonstrado resultados
ineficientes como a capacidade de associação do conteúdo e o ganho de habilidade
profissional. (RANDI; CARVALHO, 2013)
Os estudantes do curso da Ciência da Computação têm enfrentado grandes
problemas com a motivação, pouca participação, individualismo, pouco compromisso
com as atividades propostos pelos professores, baixa taxa de aprovação ao pouco
conhecimento adquirido, devido ao sistema tradicional de ensino que é considerado
pelos alunos complexo e desmotivador, principalmente pelo fato de que a atual geração
de alunos passa mais tempo jogando do que as gerações anteriores. (SHABALINA et
al., 2017)
Levando em consideração a teoria da aprendizagem significativa, que é um
processo por meio do qual uma nova informação relaciona-se, de maneira substantiva
(não-literal) e não-arbitrária a um aspecto relevante da estrutura de conhecimento do
indivíduo, em outras palavras, novos conhecimentos são adquiridos por meio do
conhecimento já obtido pelo aluno (MOREIRA, 2010). Nesse sentido, o uso de um jogo
RPG como método educacional é relevante, já que é um gênero de jogo que possui
como características forte o planejamento, estudo e prática. Que tem como mecanismo
de jogo a interpretação de um papel dentro de um ambiente controlado, possibilitando
assim o desenvolvimento da imaginação, criatividade, cooperação em grupo e superação
de obstáculos. (SILVA, 2020)
Com a evolução da informática nos últimos anos, tem mostrado a necessidade de
profissionais qualificados, saindo do papel de consumidores de tecnologia para
produtores. Diante desse fato, no Reino Unido, o ensino de programação na educação
básica é obrigatório, por ser uma forma de diminuir os índices de desistência nos cursos
superiores, despertar interesse dos alunos pela área da computação e aumentar o
potencial de aprendizagem das demais disciplinas por meio da lógica de programação.
(GARLET et al., 2016)
Neste sentido, espera-se que o uso de um jogo RPG possa contribuir para a
melhoria no aprendizado dos conceitos de programação, pois permite a simulação de
cenários fictícios que ampliam a criatividade, além disso, o fato de jogos serem
ferramentas de entretenimento tornam o aprendizado mais divertido, sendo assim, um
forte fator motivacional. (MEDEIROS et al., 2013; MOREIRA, 2010; SILVA, 2020)
Este trabalho apresenta um jogo educacional para apoiar de forma lúdica os
fundamentos da programação para estudantes iniciantes no curso de Ciência da
Computação assim como alunos do ensino médio, motivando e aprimorando a
habilidade lógica computacional. O jogo contém aspectos de RPG para facilitar e
agilizar a progressão do jogador devido a familiaridade atualmente com o gênero. Os
detalhes deste experimento são apresentados neste artigo.

2. Fundamentação Teórica
Para a aprendizagem é imprescindível o desenvolvimento de suas capacidades:
cognitiva, como a informação é armazenada e organizada na mente do ser que aprende;
afetiva, quais os sinais emotivos apresentados pelos indivíduos no processo de
aprendizagem, como prazer ou dor, motivação ou tédio, satisfação ou
descontentamento; e psicomotora, quais são as habilidades musculares adquiridas por
meio de treino e prática. (MOREIRA, 1999; PRITCHARD, 2017)
Com isso, o papel do professor na aprendizagem seria criar meios que facilitem
o desenvolvimento de experiências, despertando a curiosidade e a motivação de cada
aluno em um ambiente confortável e livre de conflitos em grupo, permitindo que cada
um possa expressar livremente o que deseja fazer, mas para isso, é necessário que o
professor ofereça um conjunto de possibilidades quanto aos recursos didáticos.
(MOREIRA, 1999; SOUZA, LOPES, SILVA, 2013)

2.1. ADDIE
É um modelo de design instrucional, que auxilia instrutores e especialistas a planejar e
desenvolver material que visam aprendizagem. Usado para criar qualquer tipo de
instrução de ensino, ou seja, um processo genérico de ensino, empregado para
identificar as necessidades do público-alvo, projetar a solução e avaliar os resultados. A
maioria dos modelos de design instrucional atuais são variações do modelo ADDIE, que
utilizam como processo as cinco fases – análise, projeto, desenvolvimento, execução e
avaliação – representando um guia dinâmico e flexível, que cada fase tem um produto
que se encaixa na fase subsequente. (BATTISTELLA, 2016; BRANCH, 2009; SAVI,
2011)

2.2. Taxonomia de Bloom


Para categorização das possíveis lacunas de desempenho dos alunos com o objetivo
disciplinar da unidade instrucional na fase de análise do ADDIE, a Taxonomia de
Bloom foi desenvolvida para categorizar os objetivos de ensino no desenvolvimento
cognitivo, afetivo e psicomotor do aluno. Consiste em seis categorias a serem
completadas, sendo uma base para a outra. (ARMSTRONG, 2016)

2.3. MEEGA+
Evolução da versão inicial do modelo MEEGA (Model for the Evaluation of
Educational Games), avalia jogos educativos em termos de motivação, experiência do
usuário e aprendizagem na percepção da qualidade, por meio do ponto de vista dos
alunos de cursos de Computação no ensino superior. Composto por fatores de
qualidade, sendo medidas as dimensões com os itens do questionário com o formato de
resposta na escala Likert de 5 pontos, com alternativas de resposta que variam de
discordo totalmente a concordo totalmente, além de permitir que o indivíduo use uma
resposta neutra, tornando mais confortável para expressar sua opinião.
(BATTISTELLA, 2016; BRANCH, 2009, SAVI, 2011) A Figura 1 ilustra as dimensões
avaliadas pelo MEEGA+.

Figura 1. Conceito de ADDIE

2.4. Metodologias de Desenvolvimento de Jogos


Foram avaliadas e analisadas metodologias que possam ser aplicadas no
desenvolvimento de jogos educacionais. Tendo como objetivo, conduzir um processo
organizado, evitar retrabalho, agilizar a produção e principalmente orientar no
desenvolvimento de um ambiente de ensino efetivo. Sendo os modelos utilizados:
• Input Process Out-come: que consiste na aplicação do conteúdo instrucional
juntamente com as características do jogo (fantasia, regras, objetivos, desafios,
mistério e controle); acionando assim o ciclo do jogo, levando ao usuário criar
certos julgamentos sobre o game, se este é divertido, interessante ou envolvente,
esses julgamentos levam a determinados comportamentos, como maior
persistência ou tempo na tarefa, consequentemente esses comportamentos
resultam um feedback do sistema sobre o desempenho do jogador no contexto
do jogo.
• ENgAGED: o Educational Games Development consiste em um processo de
desenvolvimento para estratégias de ensino, com base em jogos educacionais
com aplicação em cursos de Computação no ensino superior, voltado
principalmente para professores e alunos que necessitam realizar o
desenvolvimento de um jogo educacional, porém não possuem conhecimento de
design instrucional ou suporte essencial para sua implementação.

3. Trabalhos Relacionados
Nesta seção são apresentados os jogos Code Hunt e Silent Teacher, ambos são jogos
educacionais para o ensino dos fundamentos da programação.

3.1. Code Hunt


Esse projeto, foi desenvolvido pela equipe da Microsoft Research (BISHOP et al.,
2015), que consiste em solucionar um conjunto de valores de entradas e esperados,
sendo responsabilidade do jogador desenvolver um algoritmo que, conforme o valor de
entrada retorne o valor esperado como resposta, compilando o algoritmo é analisado as
respostas geradas, classificando como correta ou incorreta, além de mostrar qual era o
resultado esperado.
A mecânica de jogo do Code Hunt são os quebra-cabeças, o que é necessário um
banco extenso de desafios além de atualizações periódicas, mas dependendo da
aplicação e duração de um evento, a elaboração de 6 a 24 problemas já é considerado
satisfatório. O armazenamento dos quebra-cabeças, consiste na anotação das seguintes
informações, (i) id, (ii) categoria do problema, (iii) descrição do problema, (iv) designer
inicial do algoritmo e (v) dificuldade do quebra-cabeça. Para um nivelamento e
progressão das habilidades de programação, o jogo está divido em seção e subseções, as
seções estão classificadas como, treinamento, operações aritméticas, laços de repetição,
condicionais, etc. E em cada seção, consiste em subseções que classificam a dificuldade
da seção atual.

3.2. Silent Teacher


Projeto desenvolvido pela empresa francesa Toxicode (TOXICODE, 2020), com nicho
em soluções para web e jogos didáticos minimalista. O principal objetivo do Silent
Teacher é introduzir os conceitos utilizados na programação sobre uma visão geral do
que é um algoritmo, operador aritméticas e lógicas, variáveis, tipos de variáveis,
funções e condicionais. A mecânica de jogo do Silent Teacher é, não apresentar
nenhuma instrução, nenhum texto, mas uma simples operação aritmética para solucionar
na primeira interação do jogador, que conforme a sua progressão no jogo é aumentado a
complexidade do problema. Simulando uma situação que o jogador está por conta
própria para resolução do enigma, sem ninguém para explicar nada, porque o professor
é silencioso.
4. O Jogo Desenvolvido
Para auxiliar o ensino dos fundamentos da programação foi desenvolvido o jogo
chamado “Codemon”, cujo o objetivo é introduzir de forma lúdica para estudantes
iniciantes no curso de Ciência da Computação assim como alunos do ensino médio,
motivando e aprimorando a habilidade lógica computacional. O jogo contém aspectos
de RPG para facilitar e agilizar a progressão do jogador devido a familiaridade
atualmente com o gênero.
O jogo foi desenvolvido na linguagem de programação própria do motor gráfico
Godot1, o GDScript, possibilitando a criação de um mundo gráfico topdown 2D estilo
pixel art. Que por meio dessa ferramenta, foi desenvolvido um ambiente que o usuário
poderá interagir com os fundamentos da programação enquanto se movimenta
normalmente com seu personagem em um mundo aberto repleto de monstros de códigos
a serem resolvidos. Como desafio, os jogadores deverão conhecer os conceitos básicos
das variáveis e seus tipos, portas lógicas, compreender o uso dos operadores aritméticos
e lógicos, assim como alguns comandos de controle existente na programação, como
for, if, else e while. E como último desafio a compreensão do algoritmo de ordenação
bubble sort.
Conta a história de Jimmy, um calouro na Academia de Códigos, que possui o
desejo em capturar todos os codemons conhecidos. Em sua primeira aula Jimmy chega
atrasado, estando somente na sala ele e o Drº Compilador que compreende o atraso de
Jimmy e explica como está a atual situação do Mundo dos Códigos, e conta que o
bubble, o codemon capaz de manter a ordem no mundo; foi atacado por algum vírus
que afetou o seu algoritmo causando a desordem entre os codemons. Com isso, Drº
Compilador está mandando para campo todos os seus acadêmicos para desafiar os
codemons e trazer a ordem novamente ao mundo, porém como Jimmy é calouro, Drº
Compilador dará maior atenção em sua aventura, orientando e explicando cada
codemon.
Após a aplicação da unidade instrucional dos fundamentos da programação,
espera-se que os alunos adquiram competências nos níveis cognitivos de conhecimento,
compreensão e aplicação de acordo com a taxonomia Bloom de objetivos de
aprendizado. A Figura 2 representa o objetivo de ensino que o jogo desenvolvido
propõe atingir.

Figura 2. Nível de aprendizado com base na Taxonomia de Bloom

1
Disponível em: https://godotengine.org/ (Acesso em: 07 jun 2020).
4.1. Interface do Jogo
Para maior feedback e facilidade de localização, os objetos de interação ficarão visíveis
ao jogador na maioria do tempo, sendo ocultado somente em cenários de desafios ou
nos tutoriais do jogo. O personagem fica posicionado no centro da tela, sendo possível a
movimentação do mesmo somente por meio da utilização do teclado em um mundo
aberto. Na Figura 3 é possível visualizar a interface principal do jogo.

Figura 3. Interface do jogo

4.2. Desafio de Perguntas e Respostas


Como primeiro desafio, o jogador terá que responder as perguntas dos codemons do tipo
variável na Floresta das Variáveis para possibilitar a sua captura. As perguntas
consistem na possibilidade de 3 respostas, ficando a critério do jogador saber qual delas
é a correta, caso a resposta escolhida seja incorreta, o jogo fornecerá um feedback ao
jogador. Para variabilidade e aumento do desafio, cada codemon do tipo variável terá 3
perguntas distintas, e a sequência das alternativas serão fornecidas de forma aleatória.

4.3. Desafio de Análise de Algoritmo


O segundo desafio que o jogador terá que realizar é compreender os algoritmos
fornecidos pelos codemons dos tipos operadores aritméticos, operadores lógicos e
comandos de controle, sendo dividido em 3 níveis de dificuldade. O desafio consiste em
utilizar corretamente os codemons e seus valores para resultar o valor correto da função
fornecida, podendo utilizar variáveis que representam os triângulos, operadores
aritméticos que representam os quadrados e operadores lógicos que representam os
hexágonos. Conforme a Figura 4.

Figura 4. Interface do desafio de análise de algoritmo


4.4. Desafio Final
Como último desafio o jogador interage com os swaps do algoritmo bolha, sendo
dividido em duas etapas com a seguinte sequência, a ordenação de variáveis do tipo int
e a ordenação de variáveis do tipo string. O desafio consiste em apresentar para o
jogador 5 codemons dentro de bolhas com seus valores descritos, tendo como objetivo
ordenar de forma crescente os valores apresentados. No último swap de cada iteração a
bolha que prendia o último codemon é estourada, com isso o jogador não poderá
realizar o swap novamente com o aquele valor. No total serão 4 iterações de swaps, na
última iteração todos os codemons estarão com as bolhas estouradas e será apresentado
um feedback para o jogador se a sequência foi realizada corretamente. A Figura 5 ilustra
a interface do desafio final.

Figura 5. Interface do desafio final

4.5. Desafio das Portas Lógicas


O desafio não gera nenhuma punição caso o usuário erre, consiste no modelo de
tentativa e erro em acertar os valores da entrada para que transmita 1 como saída para
carregar a bateria do notebook, com isso toda vez que o jogador conseguir acertar os
valores de entrada é recuperado 10% de sua energia, sendo possível continuar
carregando a barra de energia ou retornar para interface do jogo.

4.6. Estruturas do Desafio


Para facilitar o processo de geração dos desafios de perguntas e respostas assim como o
de análise de algoritmo, foi desenvolvido estruturas no formato JSON (JavaScript
Object Notation), agilizando o processo de população dos desafios. No modelo de
análise de algoritmo foi criado uma lista de objetos conforme a Figura 6.

Figura 6. Estrutura no formato JSON


5. Avaliação
A eficácia do jogo foi avaliada como não experimental com pós-teste com três tipos de
grupo de usuários baseado na sua experiência com programação: nenhuma, menos de
um ano e mais de um ano. Na qual, os dados são coletados apenas uma vez após a
aplicação do jogo educacional por meio do questionário respondido sobre suas
percepções sobre o jogo. Foi adotado o modelo MEEGA+ que decompõe os fatores de
qualidade em métricas com as questões do modelo de avaliação. (BATTISTELLA,
2016; BRANCH, 2009, SAVI, 2011)
A execução da avalição ocorreu de forma eletrônica por meio da ferramenta
Google Forms2, uma ferramenta gratuita para criação de formulários. Foi
disponibilizado instruções para avaliação, via e-mail para turmas da disciplina de
Algoritmos I e II do curso de Ciência da Computação da UNIVALI, e via mensagens
por celular para demais alunos e interessados na área da Computação para participar
como voluntários.
Todos questionários foram coletados de forma anônima e limitados para uma
resposta por usuário, além das questão conforme o modelo de avaliação, foram
acrescentado mais três perguntas, sendo uma obrigatória para avaliar qual experiência
do usuário com a programação e outras duas opcionais, se encontrou algum erro durante
a sua participação e para alguma sugestão de melhoria.

5.1. Resultados
Ao todo não se sabe quantos alunos realmente tiveram a experiência com o jogo, porém
foram no total de 22 participantes e convidados que preencheram os questionários sobre
sua experiência ao participar do jogo. Os participantes foram categorizados em três
grupos conforme a sua experiência com a programação, sendo 11 com mais de um ano
de experiência, 7 com menos de um ano de experiência e 4 com nenhuma experiência.
Para a análise dos dados foram gerados gráficos representando a frequência das
respostas considerando a amplitude dos valores de concordo totalmente; concordo; não
concordo e nem discordo; discordo; e discordo totalmente. Nos gráficos são
apresentados também os valores da mediana para cada item. Em termos de usabilidade,
os resultados podem ser verificados na Figura 7:

Figura 7. Gráfico da usabilidade do jogo

O gráfico exibido apresenta valores positivos em todas as dimensões avaliadas


acerca da usabilidade do jogo educacional, sendo que a maiorias das partes estão

2
Disponível em: https://www.google.com/forms/about/ (Acesso em: 20 nov 2020).
situadas nos valores de forte concordância. Sendo que os fatores de maiores
concordâncias foram “As cores utilizadas no jogo são compreensíveis” e “O design do
jogo é atraente (interface, gráficos, tabuleiros, cartas, etc.)”. Já o fator com menos
concordância foi “Eu precisei aprender poucas coisas para poder começar a jogar o
jogo”. A Figura 8 permite verificar os resultados positivos em todas as dimensões
avaliadas acerca da experiência do usuário com o jogo educacional, sendo que a boa
parte está situada nos valores de concordância. O fator destaque de concordância foi “É
claro para mim como o conteúdo do jogo está relacionado com a disciplina” e os fatores
com menor concordância são “Eu prefiro aprender com este jogo do que de outra forma
(outro método de ensino)”, “O jogo não se torna monótono nas suas tarefas (repetitivo
ou com tarefas chatas)” e “Este jogo é adequadamente desafiador para mim.”. Sendo
assim, permite perceber que a dimensão que mais necessita de melhorias, seriam os
artefatos relacionados com os Desafios.

Figura 8. Gráfico da experiência dos usuários

6. Conclusão
Foi possível cumprir integralmente o desenvolvimento do jogo educacional para
plataforma PC, superando a expectativa dos possíveis sistemas operacionais aptos para
executar o jogo educacional, tendo a possibilidade de aplicar a unidade instrucional em
sistemas Windows, Linux e MacOS. Na avaliação do jogo pelos alunos apresentou
resultados positivos na maioria das dimensões, validando os objetivos específicos de
desenvolvimento de um enredo, conteúdo didático e design do jogo. Essas estatísticas
confirmam que o jogo cumpre seu propósito educacional e contribui para melhorar os
conhecimentos dos alunos. Porém na aplicação do jogo para o público alvo não foi
possível cumprir integralmente, porque nem todos os participantes possuem a
característica do público alvo planejado.
Como trabalho futuros, é sugerido o levantamento dos feedbacks gerados pelos
participantes na avaliação, como por exemplo, o desenvolvimento de um botão de saída
do jogo e ajustes dos erros encontrados. Por meio dos resultados obtidos, é possível
verificar a necessidade de maiores variações nos desafios. Também é sugerido o
desenvolvimento do jogo para plataforma Web, com isso, não necessitando a instalação
na máquina do usuário para executar o jogo, diminuindo a barreira da configuração da
máquina. Outro aspecto de implementação, seria a respeito com a interação social,
possibilitar que vários jogadores se conectem ao mesmo mundo para a troca de
conhecimento.

7. Referência Bibliográfica
Armstrong, Patricia. (2016) Bloom’s taxonomy. Vanderbilt University Center for
Teaching.
Battistela, P. Eduardo et al. (2016) ENgAGED: Um processo de desenvolvimento de
jogos para ensino em computação. UFSC, Florianópolis.
Bishop, R. N. H. Judith et al. (2015) Code Hunt: Experience with Coding Contests at
Scale p398-407, ACM.
Branch, R. Maribe. (2009) Instructional design: The ADDIE approach. Springer Science
& Business Media.
Garlet, Daniela; Bigoli, N. Martini; Silveira, S. Renato. Uma proposta para o ensino de
programação de computadores na educação básica UFSM, RS, 2016.
Medeiros, T. Jesus. (2013) Ensino de programação utilizando jogos digitais: uma
revisão sistemática da literatura. RENOTE v. 11, n. 3.
Moreira, M. Antonio. (1999) Teorias de aprendizagem. São Paulo: Editora pedagógica e
universitária, p.139 – 149, 1999.
Moreira, M. Antônio. (2010) O que é afinal aprendizagem significativa? Universidade
Federal do Mato Grosso, Cuiabá, MT, v. 23, 2010.
Pritchard, Alan. (2017) Ways of learning: Learning theories for the classroom.
Routledge, Second Edition, p.1-4.
Randi, M. A. Ferreira; Carvalho, H. F. de (2013) Learning through role-playing games:
an approach for active learning and teaching.
Savi, Rafael. (2011) Avaliação de jogos voltados para a disseminação do conhecimento.
Universidade Federal de Santa Catarina, Florianópolis.
Shabalina, Olga et al. (2017) Game-based learning for learning to program: from
learning through play to learning through game development.
Silva, F. C. da P. Luna. (2020) O RPG como ferramenta para o desenvolvimento da
aprendizagem significativa: uma revisão bibliográfica.
Souza, M. V. L. de; Lopes, E. Simone; Silva, L. L. da. (2013) Aprendizagem
significativa na relação professor-aluno. Revista de Ciências Humanas, n. 2, 2013.
Toxido. (2020) About Silent Teacher. <http://silentteacher.toxicode.fr/about>

Você também pode gostar