Arquitetura pedagógica do sistema Gene de apoio ao aprendizado de genética Henrique da Mota Silveira1, Marcos Augusto Francisco Borges1, 2 ¹Centro Superior de Educação Tecnológica – CESET Universidade Estadual de Campinas (UNICAMP) – Limeira, SP - Brasil ²Núcleo de Informática Aplicada a Educação – NIED Universidade Estadual de Campinas (UNICAMP) – Campinas, SP – Brasil [email protected], [email protected] Palavras Chave: Genética, Jogo, Tamagotchi, Interatividade. Resumo. A primeira versão do sistema Gene foi concluída no ano de 1999 tendo como objetivo servir no apoio ao aprendizado de conceitos de genética. O sistema demonstrou capacidade de apoiar seus usuários no entendimento dos mesmos, porém foi pouco utilizado, entre outros motivos, por possuir uma arquitetura fechada e necessitar de instalação. Este projeto contempla a atualização do sistema Gene explorando tecnologias mais modernas, condução de dinâmicas de aprendizagem e pesquisar formas de torná-lo mais motivador. A interatividade proposta no projeto é um dos meios de evolução do jogo, em que o usuário vai se desenvolvendo a partir de relacionamentos com outros usuários. O projeto viabiliza seu uso livre através da Internet. Abstract. The first version of the Gene system was completed in 1999 with the purpose to support the learning of genectis concepts. The system demonstrated capacity to support it's users on their understanding, however it was not used very often, amongst other reasons, for having a closed architecture and requiring installation. This project contemplates the update of the Gene system exploring more modern techonologies, learning dynamics and reasearching ways to make ir more appealing. The interactivity proposed on this project is one of the ways of game evolution, where the user starts in a primary state and develops according to relationships with other users. The project enables it's free use over the internet. 1. Introdução De um jogo de muito sucesso da década de 1990, o “tamagotchi” ou “Bichinho Virtual”, derivou-se a proposta de uma ferramenta de apoio à aprendizagem para formação em genética (Borges, 2000). Tal ferramenta é um ambiente de aprendizado interativo, chamado Gene, sendo o foco principal a aprendizagem de conceitos de genética. Nele, o usuário manipula os genes de um “bichinho virtual” e depois simula a criação do “bichinho” resultante das manipulações genéticas. Devido a algumas desvantagens que a primeira versão do Gene apresentava, sendo elas, multimídia não muito atraente, dificuldade de instalação e não evolução do jogo, deixando-o pouco motivador, a proposta para a segunda versão do Gene surgiu para acrescentar recursos ao projeto original. Porém foi mais viável a reconstrução da ferramenta, desde sua arquitetura a sua interface visual. Entre os complementos estão melhorias na parte multimídia (sons, imagens e animações), melhorias na parte de apoio ao aprendizado da genética e ainda um sistema disponível para a Internet, livre de instalação. 2. Embasamento teórico Segundo Valente (1995), o uso de computadores na educação tem provocado uma verdadeira revolução na concepção de ensino e de aprendizagem. A quantidade de programas educacionais e funcionalidades diferentes que o computador tem na educação deixam mais evidentes que essa tecnologia pode ser bastante útil no processo de aprendizagem. No entanto, o foco da utilização dos computadores na educação não é mais como “máquina de ensinar”, mas sim um complemento para ensino. Cada vez mais o mundo é dominado pela informação e por processos que acontecem de forma imperceptível. Não basta aos estudantes apenas decorar informações, mas sim entendê-las, sendo estimulados a buscar e utilizar as informações compreendidas. (Valente, 1995) Em confronto a alguns paradigmas tradicionais de ensino/aprendizagem que sugerem que o conhecimento seja repassado de uma pessoa para outra pelo contato entre elas, existem outros paradigmas, que são o construtivismo de Piaget e o construcionismo de Papert. Para Ackermann (2008) os pontos chaves do construtivismo de Piaget são que as visões evoluem continuamente e que o conhecimento expande e se estabelece (transforma-se e reconfigura-se), internamente, enquanto o construcionismo de Papert trabalha mais com as dinâmicas de mudança. Uma forma interessante de se aplicar essas duas frentes é fazendo de um jogo uma ferramenta de apoio a aprendizagem. Segundo Wang (2006), os jogos podem motivar o aprendizado, aumentando o desejo de aprender do estudante, apresentando oportunidades de não somente se aprender os conceitos e conteúdos tradicionais, mas também de executar a habilidade de pensamento lógico, enquanto os usuários estão se divertindo. O sistema Gene tem como idéia base o tamagotchi (Besser, 1997). Naquele o usuário age como um cientista genético que pode definir como será seu "animal" de estimação. Inicialmente, o usuário modela seu "bichinho" (manipulando os genes). Baseado neste modelo genético, o sistema simula a vida do "bichinho" depois de seu nascimento. Manipulando os genes, testando os resultados e retornando para a manipulação, o usuário estará envolvido em um processo de aprendizado conhecido como "estética construcionista" (Valente, 1993). O paradigma de aprendizado que está sendo almejado é o construcionismo de Papert. (Ackermann, 2008) 3. Objetivos Este projeto tem por base a reengenharia do sistema adequando-o a tecnologias mais modernas e a condução de dinâmicas de aprendizagem. O objetivo das dinâmicas é validar o quanto o uso do sistema está motivador. Desta forma, optou-se por reconstruir uma nova versão do projeto, que constitui uma parte multimídia mais didática, acrescentar mais atividades de jogo, torná-lo mais motivador. Assim o sistema se adequaria melhor aos modelos mentais dos usuários, seguindo o paradigma denominado construcionismo, de Papert. Além dessas mudanças, o projeto foi construído em um modelo disponível para web. Com esse volume de mudanças, optou-se por reconstruir o projeto. Como outro tipo de resultado, o sistema foi construído tentando manter-se em conformidade com a arquitetura e-PING (ePING, 2007). Essa nova versão do Gene ajuda a equipe que está construindo a arquitetura a identificar a viabilidade ou não de se construir sistemas totalmente aderentes ao que se está padronizando em âmbito do governo federal. 4. Materiais e métodos 4.1. Tecnologias utilizadas As ferramentas e softwares utilizados são: Java 1.5, Eclipse, Tomcat 6, Struts 2, Hibernate, DWR Ajax, Documentação Javadoc, Corel Draw X3, Gif Movie Gear . A utilização da linguagem Java no desenvolvimento do Gene se deve a algumas vantagens, que segundo Paulo e Graça (2003), Java é mais simples e mais fácil de ser compreendida e foi projetada com base em 10 anos de experiência de C++, aproveitando suas melhores características; a linguagem ainda oferece tratamento de exceções hierárquicas e a memória dinâmica é gerenciada automaticamente, diminuindo o potencial para erros. Programas em Java podem ser executados na maioria das plataformas sem necessidade do código-fonte ou recompilação. A Integrated Development Environment (IDE) escolhida para o desenvolvimento foi o Eclipse, porque a mesma oferece um ambiente estável e agradável para o desenvolvimento de um sistema, além do que oferece um sistema de busca de erros no código muito boa, que na maioria das vezes aponta corretamente o defeito (Eclipse, 2007). O servidor de aplicação do Gene é o Apache Tomcat, na sua versão 6, pois oferece estabilidade, segurança e simplicidade ao desenvolvedor e principalmente ao sistema. (Apache, 2007) O framework escolhido para o desenvolvimento do Gene foi o Struts2 devido à sua organização de arquitetura, sendo mais econômico no tempo de criação e fornecendo um meio padronizado de fazer o sistema. Outros pontos positivos são a validação e muita documentação disponível na internet deixando-o mais simples para o uso. (Struts, 2008) Para a persistência do Gene foi escolhido o framework Hibernate por ter alguns pontos favoráveis de facilidade e simplicidade como uma melhor abstração das regras de negócios e redução de código quando se trabalha com a Base de Dados. (Hibernate, 2008) A Application Programming Interface (API) DWR AJAX foi escolhida devido às suas boas funcionalidades de apoio à camada de interface, economizando tempo de desenvolvimento e fornecendo classes padronizadas. (DWR, 2008) O software Corel Draw X3 (Corel, 2007) foi utilizado para desenhar o bichinho virtual e todo o layout de página, incluindo imagens estáticas que foram depois animadas com Gif Movie Gear (Gamani, 2007). Esses programas foram usados por possuírem grandes funcionalidades e efeitos para aplicar nas figuras e também grandes facilidades de uso nestas ferramentas. A documentação do projeto foi feita em javadoc. A escolha deste tipo de documentação é devida à clareza e facilidade que a mesma permite. Em um cenário onde o código já existente precisa de manutenção, o custo costuma ser elevado, especialmente quando a manutenção é feita por pessoa diferente de quem desenvolveu. Segundo Paulo e Graça (2003), javadoc tem a vantagem de deixar a documentação próxima ao código, facilitando a sincronização entre as versões do código e as versões da documentação. Assim, cada vez que alguma parte do código é modificada, basta atualizar os comentários correspondentes e utilizar ferramenta correspondente para gerar nova documentação. 4.2 Arquitetura A arquitetura do Projeto Gene 2 é baseada no padrão MVC de camadas, onde o projeto fica dividido por partes e estruturado de uma maneira mais lógica e fácil de compreender. Segundo Martins (2006), MVC é dividido em três abstrações centrais: Model, View e Controller: • Camada de persistência (Model): Esta camada será responsável pelo tráfego de informações entre o sistema e fontes de dados. • Camada de apresentação (View): Esta camada será responsável pela interface do sistema web para interação direta com o usuário e comunicação com a camada de negócio para aquisição de dados. • Camada de controle (Controller): Esta camada será responsável por prover ao usuário funções para a obtenção, organização e atualização de dados. A Figura 1 abaixo mostra o Gene 2 conforme a arquitetura do padrão MVC de camadas, mostrando em cada camada as tecnologias usadas no sistema. O Framework Struts 2 não aparece na Figura 1, pois encontra-se entre as camadas de Apresentação e Negócio, fazendo uma ponte de comunicação entre as mesmas. Figura 1 – Arquitetura Projeto Gene A figura 2 é um exemplo de como é feito o acesso ao Gene, pela internet. Figura 2 – Esquema de acesso Gene O diagrama de classes parcial do projeto, mostrado abaixo na Figura 3, tem como uma das suas principais classes a classe Bicho. Esta possui uma lista de atributos, sendo cada nó do tipo da classe Atributo. As classes Felicidade, Calorias, Nutrientes, Água são classes filhas de Atributos e foram classificados como de primeiro nível e de segundo nível. Os de primeiro nível não precisam de outros atributos para obter seu valor: por exemplo, o atributo Calorias pode ser calculado diretamente quando o bicho ingere algo. Os de segundo nível têm seus valores calculados com base em outros atributos: por exemplo, o Peso (segundo nível) depende do valor de Nutrientes, Calorias e Água (primeiro nível). A classe Atributo possui o método timer(), que é abstrato, assim cada uma das classes que a herda precisa implementar este método. Esta estrutura foi definida assim, pois cada uma das classes que herdam Atributo precisam implementar uma lógica diferente no método timer(). Figura 3 – Classe Bicho e Atributos Além dessas classes, a classe Bicho se relaciona ainda com algumas Actions utilizadas para manipulação de tela e ainda se associa às atividades que o usuário executa, podendo alterar os atributos do bicho. Estas são: dar banho, dar comida, dar bebida e brincar. Existe ainda a relação entre bicho e sua lista de Genes que por sua vez armazena em cada nó um par de alelos. 4.3 Utilização do Gene A primeira interação que é feita é a manipulação dos genes conforme a primeira lei de Mendel, que diz que na produção de gametas, esses fatores se separam e vai cada um pra um gameta, para que a carga genética seja sempre constante nas espécies (Mori; Pereira, 2008). De acordo com Pazza (2006), uma característica que se manifesta quando há uma combinação de dois alelos diferentes (Aa ou aA) ou dois alelos iguais (AA), é chamada de dominante e determinada por um alelo dominante que é representado por letra maiúscula. Quando tal característica se manifesta apenas quando dois alelos são iguais (aa), esta é recessiva e é representada por letra minúscula. A tabela 1 ilustra essa manipulação, apresentando um dos pares de genes disponíveis inicialmente no jogo, o de cor do bichinho. O gene relacionado ao sexo (letra F) é análogo ao de cor quanto a sua definição. GENE COR R r R RR Rr r rR rr Tabela 1 – Cruzamento de Alelos relacionados a Cor Os genes são formados retirando a primeira letra do aspecto recessivo. Por exemplo: se o aspecto recessivo de uma cor é a cor rosa, logo o gene da cor recessivo será “rr” e os genes dominantes da cor serão “RR”, “Rr” e “rR”. Um bichinho com alelos rr (definindo então sua cor como rosa) e ff (resultando sexo feminino), terá uma interface como demonstra a Figura 4. Através desta é possível observar um menu na vertical à direita com botões relacionados às ações do bicho como comer, beber, brincar, tomar banho e gerar relatório. Ao pressionar o primeiro botão o bichinho irá comer sendo então apresentada a ação em Atividade, abaixo e a esquerda da imagem do bicho. É possível notar também que a direita de Atividades há o valor atual das variáveis de segundo nível que interferem na interface, ou seja, na aparência do bicho – neste caso, o humor está baixo, logo, a cara do bichinho não demonstra muita felicidade. O bichinho tem sua vida comprometida nos momentos em que ele fica sem comida, água ou pela idade avançada. Quando isso acontece, uma tela de feedback é mostrada ao usuário, contendo todos os dados do bichinho e oferecendo uma nova chance de jogo. A partir daí o usuário pode definir uma nova estratégia para seu próximo jogo. Figura 4 – Tela do Jogo No intuito de aumentar a motivação dos usuários, o bichinho criado inicialmente, a partir de um determinado momento de sua vida, pode-se relacionar com outro bichinho de outro usuário. O sistema usa um critério definido para exibir a lista de bichinhos aptos a se relacionarem. Esta definição funciona da seguinte maneira: bichinhos com mais de 10 anos; do sexo aposto; é dada preferência aos bichinhos de usuários conectados no sistema. A partir do momento que é feita a escolha de um dos bichinhos da lista, uma mensagem é enviada para o usuário do bichinho escolhido. Com o intuito de oferecer a opção de decisão ao usuário que recebeu a mensagem, o mesmo escolhe “Aceitar”, caso queira que um bichinho novo mais evoluído (com mais genes e atividades) seja disponibilizado para ele (destinatário) e para o usuário que efetuou o relacionamento (remetente). Porém caso a opção “Recusar” seja a escolhida pelo destinatário da mensagem, nenhuma ação acontece para os dois usuários. O nível responsável pela evolução também controla as atividades disponíveis para os usuários conduzirem com os bichinhos. A tabela 2 ilustra um exemplo de como isso foi implementado. Nível do Bichinho Atividades 0 Comer, Beber 1 Comer, Beber, Jogar 2 Comer, Beber, Jogar, Banhar Tabela 2 – Comparação Nível / Atividades A Figura 5 abaixo mostra a tela de perfil do usuário depois que o mesmo já possui uma conta no sistema. Neste caso o usuário possui dois bichinhos (esquerda e meio) criados e um (direita) ainda pra nascer dentro do ovo. Para o funcionamento de tal foi feito um cadastro de usuário, contendo alguns dados para uma análise posterior como escolaridade, estado e idade, além de usuário e senha para fazer um acesso mais seguro sobre o perfil. A persistência do bichinho foi outro atrativo incorporado ao projeto para aumentar a motivação do jogo, pois o usuário pode salvar o estado atual do mesmo e carregar mais tarde para continuar jogando. Figura 5: Tela de perfil do usuário. No perfil também é encontrado um link que quando acionado direciona o usuário para uma parte mais educacional do sistema, como mostrado abaixo, na Figura 6. Uma célula cortada ao meio é apresentada, assim como os respectivos nomes de suas organelas. O nome de cada organela funciona como link para outra tela com uma explicação detalhada sobre a mesma. Figura 6 – Tela com amostra de uma célula 5. Resultados Como resultado foi feito uma análise da exposição do projeto Gene 2 durante o UPA 2008 (UNICAMP de Portas Abertas). O sistema foi mostrado a alunos do ensino médio e fundamental interessados no curso de Tecnologia em Informática do CESET/UNICAMP. Os usuários de faixa etária mais nova (13 a 15 anos), 8 pessoas, passaram mais tempo fazendo as combinações genéticas e jogando. Questionavam mais sobre o sistema em termos de como evoluir o bichinho, se o mesmo iria crescer, se haveria mais genes disponíveis para fazer mais combinações possíveis. Porém poucos usuários dessa faixa etária perceberam que os números de atividades do bichinho estavam aumentando (inicialmente comer e beber, depois tomar banho e por último brincar). Os usuários de maior faixa etária (acima de 16 anos), 25 pessoas, focaram mais sobre o funcionamento do sistema, verificando mais vezes a funcionalidade de informações do bichinho (Relatório). Alguns ainda tentaram por diversas vezes matar o bichinho dando-o comida e água. Porém quando viam que em determinado momento o bichinho não aceitava mais comida nem água me questionavam em que momento o mesmo morria, que é quando ele fica com muita fome e sede ou quando chega a uma certa idade. 6. Conclusão Tendo como base bichinhos virtuais que fizeram grande sucesso na década de 1990, surgiu a idéia de se desenvolver um projeto com “bichinho virtual”, porém com um diferencial, o de apoiar o aprendizado de genética através de sua manipulação. Este projeto recebeu o nome de Gene e sua primeira versão tinha recursos multimídia não muito atraentes, dificuldade de instalação, não evolução no cruzamento de genes e nas atividades do mesmo. Devido a tais circunstâncias, decidiu-se fazer a reengenharia do projeto, fazendo uso de tecnologias mais atuais, disponibilizando o sistema em ambiente web e ainda acrescentando atividades, cruzamento de genes, etc. Visando deixar o jogo mais atrativo e contribuindo para uma maior motivação dos usuários, os recursos de evolução e persistência do jogo foram incorporados ao projeto. A evolução do jogo acontece de duas maneiras: nos números de genes para se manipular e no de atividades (comer, beber, jogar e banho) para conduzir o bichinho. Os resultados apareceram fazendo-se uma análise do uso do sistema durante o UPA 2008 (Unicamp de Portas Abertas), citado no capítulo 5. Como um próximo passo, o projeto vai ser disponibilizado na Internet, facilitando o acesso de terceiros ao conhecimento e ao uso do mesmo. Assim o sistema ganhará maior visibilidade, possibilitando a difusão de diversos conceitos de genética de uma forma divertida e motivadora. 7. Referências Ackermann, Edith. Construtivismo ou Construcionismo: Qual é a diferença? (MEDIA LAB – MIT – BOSTON/EUA) http://www.cec.g12.br/artigos/artigo_004.pdf. Acesso em: 15/02/08. Apache. Apache Tomcat. http://tomcat.apache.org/download-60.cgi. Acesso em: 12/06/07 Besser, H. - Critical Thoughts About Tamagotchi. Disponível em: http://www.sims.berkeley.edu/courses/is296a3/s97/Focus/Identity/FINAL/index.htm, 1997. Borges, Marcos; Oliveira, Simony Pelicer de. Design de uma ferramenta de apoio ao aprendizado. Publicado nos Anais do Simpósio Brasileiro de Informática na Educação, (Ed. Costa, E.B.), Universidade Federal de Alagoas, Maceió-Al, 2000, pp. 121-127 http:/www.ic.unicamp.br/~maborges/sbie2000/sbie2000.htm. Corel. Suíte de aplicativos gráficos, CorelDraw X3. http://www.corel.com.br/pt/mod_produtos.asp?page=prod_draw_x3&click_idfamilia =2&click_iditem=2 Acesso em: 20/05/07 DWR. Direct Web Remoting. http://getahead.org/dwr Acesso em: 12/01/08. Eclipse. Eclipse, na open development platform. http://www.eclipse.org/ Acesso em: 15/03/2007 ePING, Governo Eletrônico, Apresentação e-Ping. https://www.governoeletronico.gov.br/acoes-e-projetos/e-ping-padroes-deinteroperabilidade Acesso em: 20/08/07. Fernandéz, M. José. Java. Parte I. 1998 http://linuxfocus.org/Portugues/July1998/article57.html Ferreira, Luis de França. Ambiente de Aprendizagem Construtivista, 1998. http://penta.ufrgs.br/~luis/Ativ1/Construt.html. Gamani. Get your animation in gear. http://www.gamani.com/ Acesso em: 13/06/07 Hibernate. Relational Persistence for Java and .NET http://www.hibernate.org/ Acesso em: 15/01/08 Macoratti, José Carlos. Padrões de Projeto : O modelo MVC - Model View Controller. http://www.macoratti.net/vbn_mvc.htm. Martins, Daniel Fernandes. Apresentando Model-View-Presenter, o MVC focado na visualização, 2006. http://www.javafree.org/content/view.jf?idContent=91. Mori, Lyria Mori; Pereira, Maria Augusta Querubim Rodrigues. Meiose e as leis de Mendel. http://www.ib.usp.br/microgene/files/manuais-7-PDF.pdf . Acesso em 15/02/08. Paulo, Joana Lúcio; Graça, João. Uma Introdução ao Javadoc, 2003. http://mega.ist.utl.pt/~ic-po/2005/apoio/IntroJavadoc.html. Pazza, Rubens. Introdução a Genética, Maio de 2006. http://www.biociencia.org/index.php?option=com_content&task=view&id=211&Ite mid=71 Struts. About Struts Apache 2. http://struts.apache.org/2.0.9/index.html. Acesso em: 15/01/08 Valente, J. A. Computadores e Conhecimento: Repensando a Educação. Campinas. Gráfica Central da Unicamp, 1995. Valente, J. A. - Por quê o computador na educação. Campinas. Gráfica Central da Unicamp, 1993, p.24-44. Wang, Wanderley. O aprendizado através de jogos para computador: por uma escola mais divertida e mais eficiente. 2006. http://www.familiaviva.org.br/artigos/artigo479.shtml