Você está na página 1de 10

ANAIS DO CONGRESSO DE INICIAO CIENTFICA DO INATEL - INCITEL 2012

104

Piratas do Futuro - Ferramenta para suporte ao


ensino de algoritmos e lgica de programao
Jonas Vilasbas Moreira

Carlos Alberto Ynoguti

Instituto Nacional de Telecomunicaes Inatel


Inatel
jonas.vbm@gmail.com

Instituto Nacional de Telecomunicaes

ynoguti@inatel.br

II. ENSINO DE ALGORITMOS


AbstractThis article contains the information about the
educational tool developed to help people to learn and practice
algorithms and programming logic.
Index Termseducational tool, algorithm, programming logic.
ResumoEste artigo contm informaes sobre uma
ferramenta desenvolvida para ajudar no ensino e prtica de
algoritmos e lgica de programao.
Palavras chave ferramenta educacional, algoritmos, lgica de
programao.
I.

INTRODUO

O propsito deste artigo descrever a ferramenta Piratas do


Futuro, um jogo de RPG Online, que assim como outras
iniciativas ([4], [7] e [8]) foi desenvolvida para complementar o
estudo e ensino de algoritmos e lgica de programao,
mudando certos paradigmas tanto na viso do aluno, quanto na
viso do docente.
O objetivo deste projeto dar ao aluno uma alternativa no
estudo de algoritmos, e ao professor uma ferramenta de suporte
ao ensino. A ideia o professor utilizar a ferramenta como lista
de exerccios, fornecendo ao aluno uma opo na hora de
estudar.
Para isto, este artigo foi estruturado da seguinte maneira: na
seo II dada uma viso geral sobre o ensino de algoritmos.
Na seo III abordado o uso de ferramentas relevantes para a
rea. Na seo IV abordado o uso de jogos no ensino de
algoritmos. Na seo V feita uma anlise sobre RPGs como
ambientes de aprendizagem. Na seo VI apresentado o
projeto. Na seo VII so apresentados alguns detalhes
tcnicos do projeto. Na seo VIII so citados dois casos de
uso da ferramenta. Na seo IX esto s concluses e para
finalizar a lista de referncias.

Trabalho de Concluso de Curso apresentado ao Instituto Nacional de


Telecomunicaes como parte dos requisitos para obteno do Grau de
Bacharel em Engenharia da Computao. Orientador: Prof. Carlos Alberto
Ynoguti. Trabalho aprovado em 19/12/2011.

A disciplina de Algoritmos a uma das mais importantes


para um aluno de qualquer curso da rea da computao. Se o
objetivo do aluno ser um programador, ou seja, o profissional
que tem como produto de seu trabalho um software, esta
disciplina torna-se automaticamente a disciplina mais
importante de seu curso. Algoritmos a base para aprender
qualquer linguagem de programao, como por exemplo, Java,
PHP, C/C++, etc.
Mesmo que o objetivo do aluno no seja se tornar um
programador ou participar de uma equipe de desenvolvimento,
a disciplina importante, pois desenvolve a abstrao. Esta
habilidade muito valiosa para a maioria das disciplinas de um
curso de exatas e at mesmo para tarefas do nosso dia a dia.
Visto que a disciplina de algoritmos no lecionada
somente em um semestre dada a extenso de seu contedo, ela
acompanha o aluno em boa parte de sua graduao. Se um
aluno no conseguir entender alguma matria, ou absorver
pouco do que o professor leciona em sala de aula e em
laboratrio, um semestre mal aproveitado pode gerar um
problema. Caso isto acontea, este problema ir influenciar no
aprendizado do aluno na prxima disciplina de algoritmos,
gerando um efeito cascata difcil de ser revertido. evidente
ento que o trabalho de formao da base de conhecimento
deve ser bem preparado.
Visto a importncia da disciplina, vlido listar algumas
fontes de problemas no processo ensino/aprendizado, pois se
previamente tratados, estes problemas podem ser resolvidos, ou
na pior das hipteses minimizados.
Segundo T. H. Cormen, C. E. Leiserson, R. L. Rivest e C.
Stein [1], um algoritmo um procedimento que toma um ou
alguns valores como entrada e produz um (ou alguns) valores
como sada. Portanto, um algoritmo uma sequncia de passos
computacionais que transformam a entrada na sada.
A abstrao necessria para conseguir separar em passos a
tarefa de pegar os valores de entrada e transformar na sada

ANAIS DO CONGRESSO DE INICIAO CIENTFICA DO INATEL - INCITEL 2012

desejada, de uma maneira a encontrar a soluo do problema


no uma coisa que a maioria dos alunos consegue com
grande facilidade. O problema muitas vezes pode comear pelo
bom entendimento do enunciado de um exerccio, conforme
cita L. Q. Paula, D. P. Jnior e R. L. Freitas [2].
Outro fator que pode influenciar na soluo de um problema
a falta do raciocnio lgico necessrio para a soluo. O
aluno pode simplesmente compreender o que precisa ser feito,
porm no consegue conceber a soluo. Um dos fatores deste
problema pode estar ligado falta de base do aluno, visto que a
disciplina de algoritmos est ligada base matemtica que vem
do ensino mdio.
Outro ponto negativo neste quadro a falta de motivao do
aluno em tentar resolver o problema. Esta falta de motivao
pode ser fruto de um despreparo, a ideia de que o problema
difcil demais para ser resolvido, ou simplesmente falta de
cooperao.
Alm destes problemas, existe outro que no pode ser
deixado de lado. Verificar a efetividade de um algoritmo
desenvolvido uma coisa bastante difcil, pois um problema
pode ter mais de uma soluo correta. Os modelos utilizados
para testes de algoritmos em sala de aula so na maioria das
vezes o Teste de Mesa ou Teste Chins. Nem sempre estes
testes so facilmente entendidos e utilizados, levando o aluno
muitas vezes a ficar em dvida no passo a passo do teste e
finalmente sua soluo, segundo C. E. Rapckiewicz, G.
Falkembach, L. Seixas, N. S. Rosa, V. V. da Cunha e M.
Klemann [6].
Os problemas citados acima so somente as premissas que
um educador enfrenta ao aceitar o desafio que lecionar uma
disciplina de algoritmos.
Diante deste cenrio, existem algumas medidas que podem
ser tomadas no intuito de minimizar as dificuldades do aluno.
O foco deste trabalho justamente atuar no quesito falta de
motivao, oferecendo um ambiente com recursos grficos e
interativos como ferramenta pedaggica em todas as fazes de
aprendizado. O objetivo tornar a ferramenta fonte de
motivao e opo diante das outras atividades realizadas pelo
professor em sala de aula e laboratrio.
III. FERRAMENTAS EDUCACIONAIS & ENSINO DE ALGORITMOS
Durante a fase de pesquisas, que antecedeu a criao deste
artigo e projeto, pude perceber que vrias iniciativas foram
feitas no intuito de facilitar o ensino de algoritmos, e parte
deste trabalho, foi analisar o que j existia para poder oferecer
algo inovador.
Segue ento uma pequena descrio sobre os projetos
pesquisados. Vale ressaltar que somente uma simples pesquisa
foi realizada. Para no tornar a leitura exaustiva, somente
algumas ferramentas foram citadas, mas na referncia [3] existe
uma lista com outras ferramentas caso o leitor tenha interesse
em se aprofundar no assunto.

105

1. Astral: Um Ambiente para Ensino de Estrutura de


Dados atravs de Animaes de Algoritmos. [13].
Este projeto, (desenvolvido para a arquitetura
Macintosh devido s vantagens oferecidas para
implementao de aplicativos grficos), utiliza
recursos de animaes grficas em um ambiente
chamado Astral, projetado para atuar no contexto de
ensino de disciplinas de computao e outros cursos
da
rea.
Foi observado nas imagens contidas no artigo, que o
software utiliza animaes para exemplificar, por
exemplo, o funcionamento de algoritmos de
ordenao como QuickSort, MergeSort e HeapSort.
Alm destas funes, o Astral trabalha com
aplicaes do paradigma de Programao Dinmica e
possui uma sub-plataforma para implementao de
Grafos.
2. CIFluxProg Ferramenta de apoio ao ensino de
algoritmos [7]. composta por dois ambientes de
desenvolvimento. Um deles dedicado a confeco
de fluxogramas, e o outro para a confeco de
algoritmos em Portugol (portugus estruturado),
junto com um compilador e interpretador.
Neste projeto, como j foi citado, existem dois
mdulos. No primeiro deles, o que trabalha com
portugus estruturado, conforme um algoritmo vai
sendo executado, a tabela do Teste de Mesa vai
sendo preenchida a cada passo da execuo, at o
final do algoritmo. J no outro mdulo, o software
permite um aluno montar um fluxograma e execut-lo
a fim de obter sua resposta. A idia que um aluno
possa executar um mesmo algoritmo nos dois
mdulos a fim de comparar suas respostas (que
devem ser iguais).
3. Javatool: uma ferramenta para ensino de
programao [8]. O Javatool uma ferramenta para
ser utilizada nas disciplinas iniciais de programao,
nas
aulas
de
laboratrio.
A idia da ferramenta dar a possibilidade de um
aluno examinar um exemplo dado em sala de aula por
um professor, ou ento selecionar um exerccio
proposto e tentar descobrir a soluo. As animaes
so de certa forma parecidas com as animaes das
outras ferramentas (teste de mesa), porm, a
ferramenta em si bastante diferente. Vale lembrar
que este caso lida especificamente com a linguagem
Java.
4. Webportugol: Auxiliando a aprendizagem de
algoritmos com Webportugol [4]. A ferramenta
um Applet Java que roda na internet. Ela tem uma
interface simples com as operaes necessrias para
o desenvolvimento da lgica de programao
utilizando Portugol (portugus estruturado).

ANAIS DO CONGRESSO DE INICIAO CIENTFICA DO INATEL - INCITEL 2012

106

A ferramenta tem funes simples de um editor de


linguagens, como por exemplo, marcao de palavras
reservadas e syntax highlight. Apresenta a soluo
do algoritmo passo a passo ilustrando o valor das
variveis, mostra mensagens de erro sinttico,
oferecendo uma opo correta, alm de informar o
aluno se seu algoritmo obteve sucesso ou falha.
Estas ferramentas nasceram da necessidade de atualizar as
didticas de ensino para produzir resultados mais satisfatrios
no processo de aprendizagem, segundo citam R. P. dos Santos
e H. A. X. Costa [3], visto que se o aluno no fez um curso
tcnico ou tentou aprender por conta prpria, este tipo de
contedo nunca antes lhe foi apresentado.
Podemos observar que estas ferramentas tm algo em
comum. Todas elas possuem um ambiente onde o processo de
desenvolvimento de algoritmos ilustrado com o auxlio de
algum recurso grfico. Outro ponto em comum que todas elas
so destinadas a alunos iniciantes em disciplinas de algoritmos
e programao. Vale ressaltar que nem todas as ferramentas so
somente para alunos iniciantes, visto que no caso da Astral,
por exemplo, os Grafos e Programao Dinmica j so
trabalhados.
Faltava neste cenrio uma ferramenta que acompanhasse a
evoluo do aluno em todas as disciplinas de algoritmos, e que
fosse mais atrativa para o mesmo, pois as citadas acima
possuem baixo nvel de interatividade com o aluno.
O uso de uma boa ferramenta educacional s tem a
acrescentar, pois ela quebra certas barreiras que existem em
uma disciplina dada em sala de aula, como por exemplo, estar
disponvel vinte e quatro horas por dia, sete dias por semana.
um tipo de suporte que nem o professor mais dedicado pode
oferecer. Alm de permitir que o aluno estude em sua prpria
casa.
Outra vantagem (pode acontecer ou no, dependendo do tipo
de licena utilizada em cada ferramenta) que aps um aluno
concluir o curso, a ferramenta pode servir de fonte de consulta
para futuros projetos, como citam R. P. dos Santos e H. A. X.
Costa [3].
Para concluir, foi observado que existe um grande nmero
de pesquisadores preocupados com as metodologias de ensino
de algoritmos, dada a quantidade de ferramentas existentes.
Um ponto interessante a ser comentado que este tipo de
iniciativa j comeou faz bastante tempo. Citam os autores H.
Hostins e A. Raabe [4], que desde 1987 j havia algum
preocupado com a qualidade e efetividade do ensino de
algoritmos. Pelo jeito as pesquisas no vo terminar to cedo,
visto que quando um novo recurso nasce novos nichos podem
ser explorados, como o caso da ferramenta Piratas do Futuro.
IV. USO DE JOGOS NO ENSINO DE ALGORITMOS
Foi visto na seo III que o uso de ferramentas um ponto
positivo no processo de ensino. Como a idia deste projeto

utilizar um jogo como ferramenta, uma nova pesquisa foi feita


a respeito deste assunto, e o que segue nesta seo o
resultado desta pesquisa.
Os jogos foram o jogador a criar estratgias, tomar
decises, analisar situaes, formar alianas, traar planos para
cumprir objetivos. Eles podem ser considerados
entretenimento, mas na verdade ajudam no desenvolvimento de
atributos intelectuais do jogador, segundo C. E. Rapckiewicz,
G. Falkembach, L. Seixas, N. S. Rosa, V. V. da Cunha e M.
Klemann[6].
Citam os mesmos autores que os jogos podem ser
ferramentas eficientes, pois eles divertem enquanto motivam,
facilitam o aprendizado e aumentam a capacidade de reteno
do que ensinado, exercitando as funes mentais e
intelectuais do jogador.
Os jogos prendem a ateno de um aluno com mais
facilidade que uma sala de aula ou laboratrio. Isto acontece
porque os recursos de multimdia oferecidos agradam mais o
aluno, pois despertam a imaginao. Alm disso, um jogo
responde de forma imediata as suas aes, fazendo com que ele
queira permanecer mais tempo jogando e fazendo as tarefas,
coisa que no aconteceria com os exerccios convencionais de
sala de aula.
Somente o ato de jogar no garante que o aluno alcance os
objetivos desejados pelo professor. Junto com o jogo
necessrio existir uma estratgia que conduza o aluno ao
objetivo desejado.
C. E. Rapckiewicz, G. Falkembach, L. Seixas, N. S. Rosa,
V. V. da Cunha e M. Klemann [6] citam alguns exemplos
destas estratgias. Segue um pequeno resumo delas:
1.

2.

3.

O problema apresentado como se fosse uma histria.


O aluno consegue tomar decises e ver seus
resultados, podendo tentar novamente aps refletir
sobre uma falha, favorecendo o levantamento de
hipteses e experimentao. Neste modelo quando um
aluno no consegue resolver o problema, uma tela
apresentada com convite para novas tentativas, e em
caso de sucesso, uma tela de cumprimentos exibida.
Representao lgica e construo de hipteses
Quando um aluno consegue vencer o desafio, o
professor solicita que este escreva a soluo
empregada. Conforme o aluno vai vencendo mais
desafios, a tendncia do redator fazer este registro
de uma maneira mais objetiva. Observa-se que esta
descrio de passos que leva a resposta semelhante a
um algoritmo.
Este modelo se trata da leitura e teste das anotaes
geradas pelos alunos na etapa anterior. Cada aluno
executa o que o colega escreveu, testando a clareza e
viabilidade de execuo. Na sequncia este modelo
submetido a um teste de mesa, verificando se
adequado por meio da experimentao.

ANAIS DO CONGRESSO DE INICIAO CIENTFICA DO INATEL - INCITEL 2012

4.

5.

Cooperao para a construo da soluo Nesta fase


uma nica soluo montada, onde os alunos
percebem que uma linguagem coletiva, ou seja, que
todos possam entender mais vivel que a forma
individual de se construir a soluo. Neste ponto seria
gerado algo semelhante a um pseudocdigo.
Nesta fase final, o desafio gerar um algoritmo, ou
seja, a soluo que existia em papel precisa agora ser
executada no computador.

107

Role-Playing Games [9], Role playing games, educao e


jogos computadorizados na cibercultura [10], RPG para ensino
de Geometria Espacial e o Jogo GeoEspaoPEC [11] e Um
RPG
Educacional
Computadorizado
e
Misses
contextualizadas com seus ambientes [12].
Visando aproveitar todas as vantagens citadas de um jogo de
RPG Online, e tambm a popularidade dos jogos de navegador,
nasceu a ideia do jogo Piratas do Futuro.
VI. A FERRAMENTA PIRATAS DO FUTURO

Esta sequncia acima descrita pelos autores C. E.


Rapckiewicz, G. Falkembach, L. Seixas, N. S. Rosa, V. V. da
Cunha e M. Klemann [6], um modelo que j no tem mais o
jogo como foco principal, mas sim como condutor de um
processo.

Segue nos tpicos abaixo a descrio do projeto. Nesta


etapa nenhum detalhe tcnico dado, sendo estes detalhes
assuntos da prxima seo. O contedo desta seo d somente
uma explicao geral sobre as funcionalidades do sistema.
A) Desafio do Projeto

V. RPGS COMO AMBIENTE DE APRENDIZAGEM


Agora que uma boa contextualizao da rea de atuao foi
dada, vlido investir parte do tempo entrando em alguns
detalhes da rea especfica do jogo, que o RPG.
O termo RPG um acrnimo para Role-playing Game, um
tipo de jogo onde os jogadores assumem os papis de seus
personagens e criam as histrias colaborativamente. Tudo
acontece normalmente em algum tipo de mundo fantstico com
regras e leis diferentes do nosso mundo real. um jogo mais
social do que competitivo. No existe um vencedor, nem um
final para o jogo. O grupo joga enquanto tiver interesse na
histria.
Uma das pessoas deste grupo de RPG o mestre da mesa. O
mestre cria a histria dos jogadores e ambienta estes no jogo.
Ele conduz o grupo de acordo com esta histria e regras do
sistema escolhido, porm, nesta modalidade, o mestre livre
para quebrar as regras quando achar necessrio, tendo total
liberdade na histria.
O RPG Online um tipo diferente de jogo. construdo
sobre um sistema slido de regras. No existe um mestre. A
histria criada de uma forma que um nmero muito grande de
jogadores possa jogar e ter o mesmo tipo de interao. Para
isto, necessrio acessar um servidor do jogo e criar uma
conta.
No servidor fica o mundo virtual do jogo, que dinmico e
no depende do jogador para continuar existindo. Neste
mundo o jogador representado por um personagem e vive em
um tipo de sociedade que tem vrias semelhanas com a nossa
prpria sociedade.
Segundo L. Alves, H. Guimares, G. Oliveira e A. Rettori
[5], utilizar um RPG como ferramenta educacional incentivar
o desenvolvimento de caractersticas como socializao,
cooperao, criatividade, interatividade e interdisciplinaridade.
Para comprovar a teoria que um RPG pode ser empregado de
forma educacional, existem projetos de vrias reas que
utilizam este sistema, como apresentado nos artigos
Modelando Ambientes de Aprendizagem Virtuais utilizando

Quando um aluno inicia seus estudos de lgica de


programao/algoritmos tudo parece interessante, pois ele
passa a aprender maneiras de automatizar procedimentos.
Quando o aluno passa para a parte prtica seu interesse pelo
assunto passa a ter uma queda, j que os problemas propostos
so em sua maioria elaborados de maneira padro. Existe um
desafio no quesito acadmico, mas no no nvel pessoal, no
existe uma motivao maior do aluno em encontrar a soluo.
Foi observado em vivncia de sala de aula que a maioria das
pessoas somente escreve uma linha de cdigo quando o
professor vai dar alguma bonificao pelo trabalho. Caso
contrrio, somente os alunos com afinidade pelo assunto
praticam
as
atividades.
O desafio do projeto justamente conseguir dar esta motivao
ao aluno, visando tornar agradvel a tarefa de sentar em uma
cadeira para resolver um desafio onde a soluo deve ser dada
em forma de cdigo para alguma linguagem de programao.
B) Soluo
Para resolver o problema citado acima foi desenvolvida uma
ferramenta educacional, disfarada de jogo de RPG Online e
batizada de Piratas do Futuro. Nesta ferramenta o aluno cria
um personagem nos moldes de um RPG tradicional, e de certa
forma at chega a jogar como se fosse um jogo simples, porm,
a chave para evoluir um personagem resolver o mximo de
desafios
possveis.
Estes desafios so problemas similares aos problemas
sugeridos em competies de programao. O que diferencia as
modalidades (alm de no haver uma competio de tempo)
que no jogo o personagem de um aluno obrigado a seguir
um caminho para desenvolver sua histria. Neste caminho os
professores so responsveis por distribuir os problemas
conforme
sua
complexidade.
Para concluir este trecho, podemos observar que a ferramenta
muda no s o paradigma do aluno, mas tambm o paradigma

ANAIS DO CONGRESSO DE INICIAO CIENTFICA DO INATEL - INCITEL 2012

108

do professor. A quebra de paradigmas acontece quando o


professor prope um problema que tenha sentido na histria
atual do jogo e que avance em desafio acompanhando a
aquisio de novos conhecimentos dos alunos. Os alunos iro
ento imaginar que so responsveis pelos acontecimentos do
mundo do jogo.

oferecer algum tipo de bonificao ao jogador que liderar o


ranking (ou aos jogadores). Esta bonificao pode variar desde
pontos na matria at a cursos extra-curriculares oferecidos
pela prpria instituio. O objetivo de oferecer a bonificao
incentivar o aluno a continuar aumentando seu ranking sempre.
F) Fim do jogo

C)
D) O Projeto
Todo bom jogo de RPG precisa de uma histria. A histria
deste jogo se passa no planeta terra verso ps-apocaliptica
onde a luta pela sobrevivncia e recursos naturais a nica
coisa que importa. A gua tomou conta da maioria da
superfcie do planeta, o pouco que restou de terra dos
continentes foi dominado pelas corporaes mais ricas que
dividem
os
territrios
com
os
rebeldes.
Quando um aluno cria um personagem no jogo ele inserido
neste contexto, cada misso que ele faz, seja um problema ou
um desafio est relacionado com esta histria principal. Ele
deve fazer as tarefas, sejam elas misses ou desafios para de
certa forma garantir seu lugar nesta sociedade virtual.
O desafio a opo mais rpida de se evoluir um personagem.
Como foi dito no item anterior (B - Soluo), os desafios
comeam em um nvel mais fcil e vo ficando mais difceis
conforme o prprio personagem vai evoluindo. O jogador
conseguir resolver os primeiros desafios sem grandes
dificuldades, e passar a se interessar pelo atalho dos nveis.
Sem perceber passar a tentar tambm resolver os problemas
mais complicados conforme eles forem aparecendo, tambm de
maneira muito discreta durante o jogo. A histria deve ser o
fator chave, pois ela deve despertar o interesse do aluno com
um bom enredo e enunciados intrigantes e desafiadores.
O trabalho do professor tambm um pouco diferente do
normal. Ele deve desenvolver um problema que se encaixe na
histria corrente do jogo de uma maneira que faa sentido para
o personagem do aluno resolver aquele problema. O aluno no
deve ser atrado s pela recompensa, mas por ter a sensao
que seu personagem influencia aquele mundo de alguma
maneira (item essencial em um jogo de RPG de mesa). O
trabalho de propor os desafios deve ser feito com cuidado,
porque estes devem evoluir em nvel de complexidade de uma
maneira que a maioria dos alunos consiga encontrar as
respostas. E nem sempre fcil encontrar um problema
cumprindo este requisito e que encaixe na histria. Este o
desafio
da
parte
do
professor.
E) Como um aluno vai manter seu interesse pelo
jogo?
No jogo existe um ranking. Este ranking formado somente
em um atributo do personagem do jogador que o XP
(experience points). O jogador pontuado em todas as
misses, lutas e desafios que ele resolve. A ideia principal

Um jogo de RPG nunca termina! Esta a grande vantagem


desta ferramenta, enquanto houver algum disposto a criar
novos problemas e novas histrias, o personagem pode
continuar jogando!

VII. CARACTERSTICAS TCNICAS DO JOGO


Antes de explicar como o jogo funciona, valido investir
algum tempo com suas caractersticas tcnicas, sendo que estas
foram de grande valor durante a fase de desenvolvimento.
O RPG Piratas do Futuro foi desenvolvido em PHP, uma
linguagem de programao server-side, ou seja, executado em
um servidor web. A linguagem foi escolhida pela experincia
que o autor/desenvolvedor j tinha em alguns anos de trabalho
utilizando a mesma, e tambm pela facilidade de encontrar
material de consulta na internet e em livros. A linguagem Java
Script tambm teve seu uso neste projeto graas as suas
caractersticas client-side, o que significa que os scripts so
rodados no computador do usurio. A combinao das duas
linguagens j uma prtica comum em muitos projetos web,
sendo este fator tambm de grande ajuda no processo de
desenvolvimento.
Alm de PHP e Java Script, foi utilizado CSS para dar estilo
nos elementos da pgina e HTML para fazer a formatao.
vlido mencionar que nenhuma destas linguagens
proprietria, no precisando de nenhuma licena para serem
utilizadas. O nico pr-requisito que o projeto requer do
usurio, que ele tenha um navegador (por exemplo, Internet
Explorer, Mozila Firefox, pera ou Google Chrome) instalado
e atualizado em seu computador. Da parte do servidor tambm
no existe nenhum pr-requisito especial. Somente um servidor
web com o banco de dados MySQL e PHP precisa estar
instalado e configurado.
Uma ltima caracterstica que deve ser citada, que o
servidor precisa ser uma mquina Linux, pois no projeto foi
utilizado um recurso do PHP que executa cdigos Shell no
servidor. Os testes foram realizados em uma distribuio Linux
Ubuntu.
Supondo que uma instituio deseje utilizar o RPG Piratas
do Futuro para colaborar com alguma disciplina, a nica coisa
que precisa ser feita a instalao de um servidor com as
caractersticas descritas nesta seo, e seguir o passo a passo
da instalao (existente no documento tcnico). Esta tarefa no
demora mais que 10 minutos. No caso do aluno, basta um
navegador para conseguir jogar.

ANAIS DO CONGRESSO DE INICIAO CIENTFICA DO INATEL - INCITEL 2012

109

Aps a configurao inicial, que realizada por um


administrador, pelo menos um usurio do tipo professor deve
ser cadastrado, pois o professor que faz os uploads de
misses e desafios. O aluno s pode comear a jogar quando
um banco com considervel nmero de tarefas j estiver
montado.
VIII. EXEMPLO DE FUNCIONAMENTO
Segue abaixo como exemplo dois casos de uso. Um na
viso do professor e um na viso do aluno, com imagens
capturadas das telas do jogo para ilustrar melhor os exemplos.
Fig. 3. Tela de cadastro de Desafios

A) Viso do Professor
A Figura 1 mostra a tela inicial da ferramenta na viso do
professor.

Nesta tela os dados de um desafio so inseridos (Ttulo,


Nvel, Energia, Resumo, Entrada, Sada, Experincia, Battle
Points e Localizao). Aps preencher estes campos e clicar no
boto cadastrar, os dados so validados, e em caso positivo
uma mensagem de sucesso apresentada. Caso algum dado no
persista, o usurio recebe uma mensagem de erro.
Na viso do professor possvel cadastrar tambm uma
Misso, que um tipo mais simples de tarefa. Alm dos
cadastros possvel fazer a listagem e edio dos itens
adicionados.
B) Viso do Aluno

Fig. 1. Tela inicial da viso do professor

Nela existe um menu horizontal com links para todas as


funcionalidades
da
ferramenta.
Como a viso do professor basicamente composta de
funes de cadastro, somente um caso de uso ser
demonstrado. O caso escolhido foi o Cadastro de Desafios.
Quando o usurio acessa o menu Desafios ele direcionado
para a tela apresentada na Figura 2:

Como a viso do aluno mais complexa do que a viso do


professor, dado a quantidade de funes que a mesma contm,
no ser utilizado um caso de uso como exemplo, ser
utilizada uma rodada completa de jogo.
A rodada completa consiste de todas as aes que um aluno
pode tomar at a energia de seu personagem ficar esgotada.
A Figura 4 mostra a tela inicial da viso do aluno.

Fig. 2. Tela do menu Desafios


Fig. 4. Tela inicial da viso de aluno

Esta tela utilizada para cadastro de desafios e misses.


Para realizar o cadastro, que o caso de uso deste exemplo, o
usurio deve acessar a primeira opo da lista, Cadastrar
desafios. A tela representada pela Figura 3 ento apresentada.

Nela o jogador instrudo com algumas mensagens do


administrador. A partir deste ponto, sua primeira tarefa criar
um personagem. Para isto o mesmo deve clicar no menu
Personagem. A tela que abre a partir deste menu diferente

110

ANAIS DO CONGRESSO DE INICIAO CIENTFICA DO INATEL - INCITEL 2012

para um jogador que j possui um personagem e um novo


jogador. Se este j possuir um personagem no jogo, uma tela
de administrao apresentada. Se o jogador no tiver um
personagem, que o caso de nosso teste, a tela abaixo
apresentada.
A Figura 5 mostra a tela inicial do cadastro de personagem.

Fig. 7. Tela de distribuio de habilidades

Ao escolher sua habilidade e clicar no boto salvar e


continuar, o personagem levado tela de escolha de Itens.
Os itens so elementos clssicos em um jogo de RPG. Eles
podem ser coletados no decorrer do jogo e alteram as fichas do
personagem de alguma maneira, por exemplo, aumentando o
valor de algum atributo ou pontos de vida. So os itens que
fazem a diferena de um personagem para outro em um jogo de
RPG.
A Figura 8 mostra a tela de distribuio de itens.

Fig. 5. Tela inicial da criao de personagem

O primeiro passo da criao de um personagem a escolha


do nome e a distribuio dos pontos de atributo. Estes pontos
servem de base para os testes realizados pela engine do jogo
quando um aluno realiza alguma misso ou combate na arena.
A Figura 6 mostra a tela de criao de personagem.

Fig. 8. Tela de distribuio de itens

Aps este passo, o aluno direcionado para uma tela onde a


histria do jogo apresentada na forma de um texto curto (pois
a idia sobrar trechos da histria para serem contados nos
desafios), assim como uma breve descrio de seus objetivos
no jogo.
Esta
tela

representada
pela
Figura
9.

Fig. 6. Tela de distribuio de pontos de atributo

Ao clicar no boto salvar e continuar, o aluno levado para


a tela de distribuio de Habilidades, mostrada na Figura 7. As
habilidades de um personagem funcionam como uma espcie
de bnus e melhoram o desempenho do mesmo no jogo.
Fig. 9. Tela final do processo de criao de personagem

Para finalizar o cadastro o aluno deve acionar o boto


Finalizar Cadastro. Deste modo ele redirecionado para a tela
de administrao de personagem, mostrada na Figura 10.

ANAIS DO CONGRESSO DE INICIAO CIENTFICA DO INATEL - INCITEL 2012

111

a resolver os desafios, para evoluir seu personagem e dar


andamento na histria do jogo. Para resolver um desafio, o
aluno deve seguir para o item de menu Desafios e escolher uma
das opes da lista. Ao clicar em uma delas, o aluno
direcionado para a tela representada pela Figura 12.
Fig. 12. Tela exibindo detalhes de um desafio

Fig. 10. Tela de administrao de personagem

O processo de criao bem simples e no foge do processo


de criao de personagens de outros jogos que j existem na
rea. Este fator foi usado propositalmente porque desta
maneira um jogador pula o processo de aprender a usar a
ferramenta, dado que ele j tem experincia de outros jogos.
A jogabilidade tambm foi inspirada em outra ideia de
sucesso, que so os jogos de navegador, por exemplo, os que o
Facebook permite um usurio instalar.
Apartir deste momento, o jogador j tem um personagem e
pode comear a se aventurar no mundo dos Piratas do Futuro!
A primeira coisa que um aluno deve fazer aps finalizar a
criao de seu personagem equipar o item escolhido na etapa
de distribuio de itens. Para isto ele deve seguir para o menu
Inventrio e pressionar o boto equipar.
A Figura 11 representa o item de menu Inventrio.

Quando um aluno decide resolver um desafio, ele deve


preparar uma soluo para o problema escolhido na linguagem
C++ e submet-la ferramenta. O cdigo ento compilado e
testado com a(as) entrada(as) apresentada(as) nos detalhes do
problema. Depois de testado, um feedback apresentado ao
aluno, e no caso de sua soluo estar correta, ele ganha os
pontos de experincia, battle points e moedas piratas
correspondentes a premiao do problema. No caso da resposta
do aluno no estar correta, um feedback enviado, como
apresenta a Figura 13.

Fig. 13. Tela exibindo feedback de soluo de desafio

Alm de resolver os desafios, o aluno pode fazer as misses.


As misses so partes complementares da histria que so
facilmente realizadas pelos personagens, exigindo como prrequisito somente certa quantidade (que depende de misso
para misso) de energia. A Figura 14 mostra os detalhes de
uma das misses iniciais do jogo.

Fig. 11. Inventrio

Aps equipar o item escolhido, o aluno deve ento comear

Fig. 14. Detalhes da misso

112

ANAIS DO CONGRESSO DE INICIAO CIENTFICA DO INATEL - INCITEL 2012

Para completar a rodada completa de jogo, o aluno pode


terminar de gastar seus pontos de energia na arena. O processo
muito simples. Os personagens de todos os alunos so
listados e todos podem lutar contra todos. A luta simulada e
somente um log com os resultados so apresentados ao
desafiante. O aluno desafiado no fica sabendo que seu
personagem chegou a participar de um combate. Somente uma
cpia dos atributos de seu personagem feita pelo jogo para
simular o embate.
A figura 15 apresenta uma tela com o log de uma batalha.

Fig. 15. Tela exibindo o log de uma luta

Aps gastar todos os seus pontos de energia e completar sua


rodada de jogo, o aluno pode vender ou comprar itens na loja,
visando enriquecer o personagem no caso das vendas, ou
melhorar algum atributo, no caso das compras.
A Figura 16 mostra um exemplo da loja do jogo.

da ferramenta, independente do caminho escolhido, o aluno no


final deve procurar resolver os desafios. Mesmo que ele queira
continuar somente fazendo misses ou lutando na arena, seus
pontos de energia vo se esgotar, e a maneira mais fcil de
recuper-los resolvendo os desafios. Vencendo os desafios,
os alunos recebem os battle-points e podem gasta-los para
recuperar seus pontos de energia.
IX. CONCLUSES
No final deste trabalho, fica claro que um jogo sozinho pode
no ser suficiente para alcanar resultados no processo de
ensino/aprendizado. Se utilizado de maneira correta, um jogo
pode servir de condutor no processo de aprendizagem, pois
esconde a tarefa de estudar em um objeto de entretenimento.
Pode-se concluir que utilizar um RPG Online como
ferramenta de ensino pode estimular os alunos e incentivar o
estudo fora do horrio de aula e fora da escola, visto que a
maioria das crianas e adolescentes passa muito tempo em
computadores e video-games.
Como o jogo tem um ranking, existe o fator competio,
sendo este tambm importante aliado no incentivo ao estudo.
Por ser parecido com os jogos de Facebook, acredita-se que
o jogo vai ter uma boa aceitao, porm, o mesmo se encontra
em fase de testes e a data prevista para seu lanamento maro
de 2012.

REFERNCIAS
[1]

T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Algoritmos,


Teoria e Pratica (livro - traduo da segunda edio americana), Editora
Campus, 2001, p. 3.
[2] L. Q. Paula, D. P. Jnior and R. L. Freitas, A Leitura e a abstrao do
problema no processo de formao do raciocnio lgico-abstrato em
alunos de computao (artigo no publicado). unpublished.
[3] R. P. dos Santos and H. A. X. Costa, Anlise de Metodologias e
Ambientes de Ensino para Algoritmos, Estruturas de Dados e
Programao aos iniciantes em Computao e Informtica (artigo no
publicado) unpublished.
[4] H. Hostins and A. Raabe Auxiliando a aprendizagem de algoritmos com
a ferramenta WebPortugol (anais de congresso), in WEI XV
Workshop sobre Educao em Computao XXVII Congresso da SBC,
Rio de Janeiro, 2007, pp. 96-105.
[5] L. Alves, H. Guimares, G. Oliveira and A. Rettori Ensino On-Line
jogos eletrnicos e RPG Construindo novas lgicas (na ref. o artigo
estava para ser apresentado), presented at eLES04, Aveiro-Pt,

2004.
[6]

Fig. 16. Loja do Jogo

Desta forma o aluno encerra suas atividades no jogo, e deve


esperar algum tempo para que seus pontos de energia se
recuperem. Aps este tempo, ele pode repetir estes passos ou
adotar uma estratgia diferente, como por exemplo, fazer
somente misses ou desafios, ou gastar todos os pontos de
energia somente na arena.
De qualquer forma, como foi observado nos testes iniciais

[7]
[8]

[9]

C. E. Rapckiewicz, G. Falkembach, L. Seixas, N. S. Rosa, V. V. da


Cunha and M. Klemann Estratgias Pedaggicas no Ensino de
Algoritmos e Programao associadas ao uso de Jogos Educacionais
(artigo no publicado), unpublished.
R. de Santiago and R. L. S. Dazzi Ferramenta de apoio ao Ensino de
Algoritmos(artigo no publicado) unpublished.
M. P. Mota, L. W. K. Pereira and E. L. Favero Javatool - Uma
ferramenta para ensino de lgica de programao(anais de congresso)
in WEI XV Workshop sobre Educao em Computao XXVIII
Congresso da SBC, Belm do Par, 2008, pp. 127-136.
J. R. Bittencourt and L. M. Giraffa Modelando Ambientes de
Aprendizagem Virtuais utilizando Role-Playing Games in XIV Simpsio
Brasileiro de Informtica na Educao - NCE - IM/UFRJ 2003, pp. 683692.

ANAIS DO CONGRESSO DE INICIAO CIENTFICA DO INATEL - INCITEL 2012

[10] J. R. Bittencourt and L. M. Giraffa Role playing games, educao e


jogos computadorizados na cibercultura (artigo no publicado),
unpublished.
[11] A. M. de Morais, D. P. S. Medeiros, L. S. Machado, R. M de Morais
and R. G. do Rgo RPG para Ensino de Geometria Espacial e o Jogo
GeoEspaoPEC in VIII Encontro Regional de Matemtica Aplicada e
Computacional, Natal, 2008.
[12] M. A. Tobaldini and J. D. Brancher Um RPG Educacional
Computadorizado e Misses contextualizadas com seus ambientes
(artigo no publicado) unpublished.
[13] Astral: Um Ambiente para Ensino de Estruturas de Dados
- Disponvel em http://www.ic.unicamp.br/~rezende/garcia.htm

Jonas Vilasbas Moreira (jonas.vbm@gmail.com) nasceu em Santa Rita do


Sapuca, MG, em 27 de janeiro de 1986. Possui os ttulos: Tcnico em
Informtica (Colgio Tecnolgico Delfim Moreira, 2003), Engenheiro da
Computao (Inatel, 2011).
De 2007 a 2009 desenvolveu projetos web utilizando a PHP, HTML, CSS,
Java Script, MySql e Joomla. De 2010 a meados de 2011 trabalhou em
projetos variados utilizando tecnologias como Java, C#, Postgree, etc,
chegando a participar neste perodo do processo de implantao de uma
Fbrica de Software.
De meados de 2011 at a data da publicao deste artigo, o autor trabalha em
uma empresa que presta servios para a Ericsson.
Alm destas atividades de cunho profissional, o autor tambm desenvolve
em paralelo um projeto de disseminao de conhecimento via blog, no
endereo www.sdevlab.com.br.

I.

113