De que se trata o artigo:

Este artigo tem por finalidade construir um ambiente de execução do Furbot onde aplicativos desenvolvidos para versão desktop possam ser rodados em dispositivos móveis compatíveis com a plataforma Java Micro Editon (JavaME).


Para que serve:

Entender como uma aplicação JavaSE pode ser migrada para JavaME.

Em que situação o tema útil:

Tem se tornado cada vez mais comum a necessidade de migrarmos aplicações para diferentes dispositivos. Neste artigo, veremos como fazer isso entre as plataformas JavaSE e JavaME.

Cada vez mais são criadas técnicas e metodologias de apoio ao ensino de lógica de programação, porém muitas destas maneiras de ensino acabam por não se tornarem atrativas a ponto de despertar a vontade e a motivação em aprender e a explorar o desenvolvimento de problemas e algoritmos. O aprendizado é mais eficiente quando o aluno é motivado. Esta motivação depende de um conteúdo interessante, de um ambiente empolgante e da didática dos professores.

Dentre alguns frameworks existentes para facilitar o aprendizado de lógica de programação, o Furbot caracteriza-se por ter sido concebido para tentar diminuir as dificuldades de aprendizagem e ensino na lógica de programação através de um forte apelo à área de jogos, criando assim uma atmosfera facilitadora ao aprendizado.

A proposta do Furbot surgiu a partir de reflexões a respeito da dificuldade que professores enfrentam na disciplina de programação de computadores. A experiência desses professores mostra que os alunos não se sentem motivados em resolver exercícios com enunciados como "digite cinco nomes e notas de alunos e mostre a média da sala, a maior e menor nota". Apesar da solução não ser trivial para os alunos iniciantes, eles não se sentem desafiados”.

O elemento central do Furbot é a programação de um robô que vive num mundo bidimensional junto de outros tipos de objetos, que também podem ser programados. Sobre este mundo, o aluno desenvolve atividades de movimentação em quatro direções e detecção de obstáculos.

Todos esses aspectos motivaram o desenvolvimento de uma versão do Furbot onde classes desenvolvidas para a versão desktop possam ser executadas em dispositivos móveis compatíveis com a plataforma Java Micro Editon (JME).

Para permitir a criação do Mobile Furbot foi utilizado o mesmo padrão Model View Control (MVC) adotado pela versão original do Furbot, em que a finalidade é separar as camadas de desenvolvimento, para facilitar a utilização de outras formas visuais que farão o desenho do mundo e dos seus objetos. No entanto, a adaptação ao Mobile Furbot fez a arquitetura original sofrer mudanças na estrutura das classes para permitir a execução do novo ambiente em dispositivos móveis.

Neste contexto, este artigo irá apresentar o desenvolvimento de um ambiente de execução do Furbot onde aplicativos desenvolvidos para versão desktop possam ser rodados em dispositivos móveis compatíveis com a plataforma Java Micro Editon (JME).

Um pouco de teoria

A partir de agora conheceremos alguns assuntos importantes para o entendimento deste artigo. Discutiremos questões associadas à aprendizagem baseada em jogos, informações sobre o framework Furbot, conceitos sobre JME, além do uso desta tecnologia para desenvolvimento de jogos para celular.

Aprendizagem baseada em jogos

Atualmente, as funções mais utilizadas nos celulares são as que se referem ao entretenimento. A procura por aplicativos de personalização do aparelho, ring tones, imagens, chats e principalmente jogos vem aumentando significativamente.

A m-learning (mobile learning) é uma extensão do e-learning (electronic learning) e é praticado através de dispositivos móveis, como celulares e smartphones, permitindo assim uma maior condição de acesso a recursos pedagógicos, independentemente de tempo e lugar.

Neste contexto, o processo não ocorre em locais fixos, e sim em qualquer lugar, no qual o aprendiz vai usar da tecnologia que tem em mãos para criar uma situação de aprendizagem. Seguindo essa perspectiva, o estudante tem a seu favor toda a interatividade proporcionada pelo objeto de aprendizagem aliada às vantagens da mobilidade, permitindo, assim, progredir seu estudo conforme seu ritmo de aprendizagem.

Tecnologias móveis na educação podem proporcionar benefícios tanto aos alunos quanto para os professores. Aos alunos é proporcionada uma maior flexibilidade na aprendizagem, sendo que o material está acessível através de seus dispositivos móveis, permitindo-lhes aprender como e quando for necessário, não importando onde estejam, mesmo que em movimento. Aos educadores é fornecido um novo meio de disponibilização do material pedagógico, como também um novo meio de interação com o aluno.

O uso de tecnologias digitais pelo aluno, como ferramenta de apoio pedagógico para construção de novos conhecimentos, deve favorecer os níveis de interação entre o aprendiz e a máquina, propiciando-se situações onde o aprendiz estabeleça uma via de mão dupla, e o mesmo exerça ciclos de ação, reflexão e depuração.

Com um mercado em ampla expansão e que conta com milhões de consumidores, o desenvolvimento de jogos para celulares já é um negócio altamente rentável e que tende a ser ainda mais nos próximos anos. Um grupo crescente de pesquisa indica que as ferramentas das tecnologias móveis podem ser eficazes para alunos na era digital e há sinais de forte motivação e possíveis ganhos de aprendizagem através de jogos jogados em dispositivos móveis por público jovem e adulto.

O mercado de jogos para dispositivos móveis é uma área importante para o crescimento da indústria de jogos. Este mercado está previsto para crescer rapidamente com a convergência das tecnologias e aplicações móveis cada vez menos restringidas por limitações dos dispositivos. As últimas gerações de dispositivos apresentam altas definições de cores, vídeo, memória reforçada e muitas novas funcionalidades que estão fazendo os aplicativos móveis cada vez mais atraentes e com um menor custo de desenvolvimento se comparado aos aplicativos para as plataformas tradicionais.

Diante deste cenário, a utilização em sala de aula do dispositivo móvel como ferramenta de auxílio pedagógico tornaria as aulas mais dinâmicas e os materiais didáticos seriam compartilhados com os alunos em tempo real. Não seria necessário o aluno recorrer em casa a um computador, pois a utilização do próprio celular, artefato cada vez mais acessível junto às pessoas de diversas classes sociais, poderia ser feita para acessar os conteúdos de aula, resolver os problemas e construir conhecimentos. Além disso, a interatividade entre o aluno e o dispositivo móvel pode ser facilitada pela familiaridade que se apresenta em sua utilização, sobretudo no caso do telefone celular.

O framework Furbot

Conforme citado anteriormente, a dificuldade percebida no ensino de programação de computadores levou ao desenvolvimento do Furbot. O elemento central do Furbot é a implementação do método denominado inteligencia. É neste método que os alunos desenvolvem a lógica de programação de um personagem. Os comandos de movimentação do personagem são expressos em Java, mas remetem o aluno a utilizar nomes em português, tais como andarAcima, ehVazio e diga. A Listagem 1 exemplifica a programação da inteligência do Furbot.

Listagem 1. Exemplo de programação da inteligência do Furbot


  import br.furb.furbot.Furbot;
   
  public class ExemploFurbot extends Furbot {
   
       public void inteligencia() {
   
          while(!ehFim(DIREITA)) 
          //desloca o furbot até o limite direito do mundo
          { 
   
               if(!ehVazio(DIREITA))  
               //se não houver obstáculo a direita
               {
                   andarDireita();//desloca o furbot para a próxima tela             
                   
               }else{
   
                   //tratar aqui a situação em que existe um obstáculo na 
                   //direção do furbot
               }
          }
   
  } 

O framework Furbot permite a criação de ambientes de jogos 2D. O Furbot foi concebido e construído com a linguagem Java, baseado no padrão Model View Control (MVC), tornando o código flexível à adaptação de outros tipos de interfaces gráficas.

Com o resultado da criação do Furbot pode-se destacar como principais características:

• facilidade de implementação do código utilizando um fluxo sequencial simples, onde o aluno pode construir passo a passo a lógica de seu personagem simplesmente utilizando da estrutura facilitadora que o Furbot mantém para suportar as funções destes personagens;

• a codificação é feita independente da Integrated Development Environment (IDE) Java, por meio de um arquivo no formato Java ARchive (JAR) que pode ser importado para a IDE de programação Java de escolha livre;

• as atividades a serem desenvolvidas pelos alunos são definidas pelo professor, através de um arquivo eXtensible Markup Language (XML), que contém informações como dimensões do mundo e os elementos que compõem o cenário do jogo.

Na Listagem 2 é apresentada a especificação de um problema no formato XML onde o mundo contém 8 linhas por 8 colunas e estabelece que o robô inicia na posição 0 (zero) para a coordenada X e 0 (zero) para a coordenada Y.

Listagem 2. Exemplo de mundo em arquivo XML


  <furbot>
   
     <enunciado>
        Exercício 1. 
          Faça o robô andar até a ultima posição da linha.
          -Lembre-se de que as coordenadas sempre serão
          fornecidas como (x,y),
          - A primeira coluna e linhas possuem valor ZERO.
     </enunciado>
   
     <mundo>
                   <qtdadeLin>8 </qtdadeLin>
                   <qtdadeCol>8 </qtdadeCol>
                   <explodir>true</explodir>
     </mundo>
   
     <robo>
                    <x>0</x>
                    <y>0</y>
     </robo>
   
  </furbot>  ... 

Quer ler esse conteúdo completo? Tenha acesso completo