Resumo QUIZPROGRAM: Simulando Desafios para uma Aprendizagem Significativa de Programação Fábio Luiz Almeida Rolim¹, Silvino Marques da Silva Junior, Robson Almeida Borges de Freitas, Maykol Lívio Sampaio Vieira Santos, Marcelo Texeira Carneiro 1. fabiorolim@ifpi.edu.br Este trabalho descreve um aplicativo móvel para o sistema operacional Android e sua utilização como ferramenta tecnológica a fim de melhorar a compreensão dos alunos acerca de temas relacionados a disciplinas de programação de computadores. Nesse sentido pretende-se possibilitar a inovação dos conteúdos e práticas pedagógicas através do uso da tecnologia. Com o advento do computador, a educação ganhou um instrumento valioso no processo de ensinoaprendizagem, juntamente com o quiz, os quais aumentam o nível de curiosidade e tornam os conteúdos disciplinares mais atrativos. Palavras-chave: aplicativo, educação, programação, ferramentas tecnológicas. Abstract This paper describes a mobile application for the Android operating system and its use as a technological tool to improve students' understanding about issues related to computer programming disciplines. In this sense it is intended to enable the innovation of content and teaching practices through the use of technology. With the advent of computer education gained a valuable tool in the teaching-learning process along with the quiz, which increase the level of curiosity and make them more attractive subject content. Keywords: application, education, programming, technological tools. Introdução No contexto escolar atual as aulas ditas tradicionais, aulas expositivas em que geralmente apenas o professor fala e se utiliza de quadro e pincel, perdem cada vez mais espaço, pois não
conseguem atrair e prender a atenção dos alunos que vivem atualmente em um meio altamente tecnológico. É preciso mudar, modernizar-se e utilizar a tecnologia a fim de entusiasmar os alunos e prender o seu interesse em temas a serem abordados em sala de aula. Aulas modernas em que se utilizam ferramentas tecnológicas podem abranger uma grande variedade de alunos de diversos níveis de aprendizado. Atualmente a web vem se apresentando como um meio cada vez mais promissor para o desenvolvimento de sistemas de ensino. Tem-se vivenciado uma mudança de paradigma na computação. Os sistemas computacionais precisam-se adaptar-se a uma computação altamente dinâmica, onde o ambiente está em constante mudança em função da mobilidade do usuário portando dispositivos móveis e acessando recursos através das tecnologias de rede sem fio (BARBOSA, 2007). O uso de smartphones é uma febre entre os alunos, muitas vezes considerado um inimigo para os professores e para assimilação do conhecimento. Então, por que não utilizar essa tecnologia a favor da educação? O número de crianças que tem acesso ao computador e à internet vem crescendo, e a faixa etária também vem se ampliando. Antes, mais acessada pelos jovens, a internet, hoje, vem sendo utilizada de forma crescente por crianças de 6 a 11 anos. Estas crianças já nasceram ligadas as tecnologias digitais: com menos de 2 anos já tem acesso a fotos tiradas em câmeras digitais ou ao celular dos pais; aos 4 anos, já manipulam o mouse, olhando diretamente para a tela do computador; gostam de jogos, de movimento e cores; depois desta idade, já identificam os ícones e sabem o que clicar na tela, antes mesmo de aprender a ler e a escrever. (JORDÃO, 2009). O presente trabalho, que se encontra em fase de andamento, tem por finalidade demonstrar um aplicativo para smartphones com sistema operacional Android, que se baseia em um quiz (conjunto de perguntas) com a finalidade de aprofundar e testar os conhecimentos adquiridos
pelos alunos nas disciplinas de algoritmos e programação. Esse artigo está organizado em seis seções incluindo esta. A seção 2 descreve o referencial teórico da pesquisa; a subseção 2.1 demonstra as vantagens oferecidas pela utilização das ferramentas tecnológicas no processo ensino-aprendizagem; na seção 3 falamos da metodologia utilizada; na seção 4 temos a descrição completa do aplicativo que foi desenvolvido, o QuizProgram e pôr fim a seção 5 apresenta as considerações finais e trabalhos futuros. Referencial Teórico De acordo com (RAABE e SILVA, 2005) muitos professores não estão preparados para ensinar resolução de problemas aos alunos e também têm dificuldades de compreender a lógica desses alunos. Utilizam-se de modelos prontos para apresentar a teoria através de técnicas e soluções do próprio professor, como a utilização de programas previamente feitos de acordo com a sua lógica. Isso leva o aluno a se deparar com um problema a ser solucionado e uma solução que obrigatoriamente terá como base o que foi apresentado em sala. Isto dificulta a habilidade desse aluno de desenvolver suas próprias soluções, pois o que lhe foi passado foi um modelo de algoritmo pronto e não o processo de desenvolvimento deste modelo. Considerando que a tarefa de construção de algoritmos é bastante complexa, é necessário que diversas atividades sejam desenvolvidas para que o aluno seja capaz de compreender soluções algorítmicas prontas, de propor suas próprias soluções e de realizar relações entre diferentes soluções para um mesmo problema. Contudo, percebe-se que não é dada a ênfase necessária há atividades de interpretação e compreensão de problemas e a resolução dos mesmos. Isto faz com que o aluno fique sem saber o que fazer quando lhe é apresentado um novo problema, pois não consegue interpretar o que realmente está sendo solicitado. Além disso, (LISTER e LEANY, 2003) apresentam que os alunos mais preparados não são desafiados pelo professor, enquanto os mais fracos não
conseguem ter suas deficiências identificadas e compreendidas por esse profissional que encontra dificuldades para esse reconhecimento. A origem dos problemas associados a este processo é bastante questionável uma vez que envolve ambas as classes de atores, ou seja, tanto os alunos quanto os professores. Muitos dos alunos não conseguem desenvolver o raciocínio lógico necessário para o posterior desenvolvimento de programas. O nível de dificuldade no processo faz com que haja baixa motivação dos alunos, apatia, baixa autoestima culminando com muita evasão e reprovação (RODRIGUES, 2002; SCHULTZ, 2003; CHAVES DE CASTRO, et al 2003; DELGADO, et al 2004). De acordo com (JENKINS, 2002) há várias causas do insucesso generalizado em disciplinas de programação, como sejam o baixo nível de abstração, a falta de competências de resolução de problemas, a inadequação dos métodos pedagógicos aos estilos de aprendizagem dos alunos, referindo ainda que as linguagens de programação possuem sintaxes adequadas para profissionais, mas não para aprendizes inexperientes. A natureza específica da programação, substancialmente diferente do da maioria das disciplinas, implica o ensino de muitos conceitos dinâmicos que é, normalmente, realizado através de materiais de natureza estática (apresentações projetadas, explicações verbais, diagramas, desenhos no quadro, textos, e assim por diante) não promovendo uma plena compreensão da dinâmica envolvida. Os métodos de estudo adotados pelos alunos devem ser também repensados. Os alunos estão frequentemente habituados a disciplinas às quais é possível ser bem sucedido através de abordagens de estudo baseadas em leituras sucessivas, memorização de fórmulas e uma certa mecanização de procedimentos. Porém, a programação impõe um estudo bastante diferente, exigindo prática intensiva, uma verdadeira compreensão dos assuntos e reflexão.
É importante que os alunos compreendam completamente os dados do problema e o que é esperado obter como resultado, para que posteriormente possam pensar no algoritmo necessário para essa transformação. Ferramentas Tecnológicas Uma possível solução para esses problemas é a utilização de ferramentas tecnológicas na intermediação desse processo, pois a sua correta utilização propicia ao aluno uma nova forma de aprender programação despertando a sua curiosidade sobre temas que antes eram deixados de lado e também a sua autoestima e entusiasmo. Ambientes como a robótica educativa na sala de aula ou o recurso a programas educacionais poderão ser novas abordagens a esta problemática, permitindo trabalhar diversos conceitos em diferentes disciplinas na área da informática (SANTOS, et al 2006). A tecnologia é um termo muito vasto e cuja definição frequentemente envolve a combinação de um dispositivo, a forma como pode ser utilizado e em que contextos, e que aplicações tem segundo (DAMÁSIO, 2007) a tecnologia envolve um conjunto de artefatos e dispositivos que incorporam um vasto número de práticas no seu uso e desenvolvimento e que se organizam de acordo com lógicas sociais e organizacionais específicas. A tecnologia combina elementos tecnológicos com práticas e formas de organização social (DAMÁSIO 2007, p. 45), sendo as TIC uma forma de manifestação tecnológica que assume grande importância na nossa sociedade. A forma como os instrumentos tecnológicos são desenhados para aplicação no contexto escolar depende da corrente psicológica que os orienta e consequentemente do propósito para o qual a ferramenta foi criada. No entanto, as ferramentas tecnológicas utilizadas no ensino tendem a ter algumas propriedades comuns (DAMÁSIO, 2007) como permitir a participação ativa dos
alunos de modo interativo, facilitar a prática repetitiva de determinada ação, possibilitar diferentes percursos de aprendizagem e níveis de dificuldade e realizar um feedback imediato às ações dos alunos pela correção das tarefas, na tentativa de os motivar e auxiliar. Experiências têm sido feitas para se desenvolver ferramentas de apoio ao ensino de programação que eliminem, ou ao menos minimizem os obstáculos citados. Alguns exemplos são o Interpretador de Linguagem Algorítmica (ILA), desenvolvido sob a coordenação do Prof. D. Sc. Sérgio Crespo, da UNISINOS (CRESPO, 1990), e outras fazem uso de jogos computacionais (RAPKIEWICZ, et al 2006), geração e interpretação de fluxogramas (GONDIM e AMBROSIO, 2008), e animação de algoritmos (MOTA, et al 2008), entre outras. Metodologia A presente pesquisa tem uma abordagem qualitativa e encontra-se em andamento, até o momento foi feito uma pesquisa bibliográfica sobre os softwares e ferramentas tecnológicas existentes atualmente que auxiliam os professores no ensino de programação sempre buscando entender a eficácia, os pontos fortes e as limitações deles para as necessidades dos alunos. Após essa primeira etapa, deu-se início o processo de desenvolvimento do aplicativo, estudando a ferramenta utilizada. Durante e depois do processo de desenvolvimento foram realizados testes buscando encontrar possíveis erros e falhas no desenvolvimento. No futuro espera-se concluir o desenvolvimento da ferramenta e fazer a utilização desta em turmas dos cursos técnicos em informática, pra analisarmos a sua eficácia e as possibilidades de aprendizagem oferecida pela mesma. O Aplicativo QuizProgram
O software, denominado QuizProgram, foi desenvolvido utilizando o ambiente de programação MIT App Inventor 2, que é uma plataforma para criação de aplicativos Android baseada na web, originalmente fornecido pelo Google, e agora mantido pelo Instituto de Tecnologia de Massachusetts (MIT). O aplicativo consiste em uma série de 05 questões em formato de Quiz, relacionadas a assuntos da disciplina de Programação de Computadores. Figura 1: Tela inicial do aplicativo A implementação de Quizzes, ou seja, jogos de perguntas e respostas na educação é uma ferramenta eficaz na construção de conhecimentos e como método avaliativo escolar. O emprego de novos recursos didáticos deve objetivar o aprimoramento desse processo, portanto, o uso dessas dinâmicas não só permeia uma nova estratégia para apropriação do conhecimento, como também incentiva uma reflexão sobre a necessidade de criação de novas ferramentas que apoiem o ensino. As questões foram escolhidas tentando abranger aos mais variados temas da disciplina, podendo assim testar a profundidade do conhecimento adquirido pelos alunos que venham a utilizá-lo.
Figura 2: Tela que representa as questões do aplicativo Em cada pergunta o usuário poderá marcar apenas uma única alternativa que julgar correta e clicar nos botões Avançar, para passar para a próxima questão, ou Sair, para sair do aplicativo. Não sendo possível retornar a tela anterior e modificar a resposta escolhida. A medida que o usuário vai clicando em Avançar muda-se a tela e é exibida uma nova questão para ser respondida. Durante a execução do aplicativo, um contador fica armazenando o número de questões respondidas corretamente pelo usuário, para que no final possa ser exibido o número de acertos. Dependendo desse número temos duas possibilidades para tela final, caso o usuário acerte 03 ou mais questões é exibida uma imagem de parabéns e o som de aplausos para que o usuário veja que obteve êxito em grande parte das questões.
Figura 3: Opções de Tela Final Caso o usuário acerte menos do que 03 questões é exibida uma imagem que representa uma situação indesejada e o som de erro para que o usuário veja que não respondeu corretamente grande parte das questões. Considerações Finais Por meio do levantamento bibliográfico observaram-se vários esforços para facilitar o entendimento das disciplinas introdutórias a programação de computadores, visto que apresentam grande número de evasão e repetência, tanto em universidades como em cursos técnicos. Estabelecer a aprendizagem plena em lógica de programação é um dos grandes desafios na área de ensino da ciência da computação, visto que a maioria dos alunos encontram as mais variadas
dificuldades. O emprego de ferramentas só tem a contribuir para formação dos alunos, provando que esta parceria é possível, tanto alunos quanto professores saem ganhando, já que estas dão maior dinamicidade às relações entre o professor, o conhecimento e o aluno. Como trabalhos futuros, esperamos aprimorar ainda mais o aplicativo, criando um banco de dados de questões e assim fazer com que a cada acesso do usuário ao aplicativo, ele encontre questões distintas e possa ter seus conhecimentos testados de maneira mais eficaz. E também aplicar a sua utilização com alunos de disciplinas de programação e fazer uma análise dos resultados obtidos. Referências BARBOSA, D. N. F., 2007. Um modelo de educação ubíqua orientado a consciência do contexto do aprendiz. Universidade Federal do Rio Grande do Sul. Porto Alegre. CHAVES DE CASTRO, T., CASTRO JÚNIOR, A., MENEZES, C., BOERES, M. E RAUBER, M., 2003. Utilizando Programação Funcional em Disciplinas Introdutórias de Computação. XI Workshop de Educação em Computação WEI 2003. Campinas, SP, Brasil. CRESPO, S., 1990. ILA Interpretador de Linguagem Algorítmica. Endereço: http://www.exatec.unisinos.br/professores/gerador.php?professor=crespo&id_menu=434&id_ submenu=189. [Acesso em 20 de Janeiro de 2015]. DAMÁSIO, M. J., 2007. Tecnologia e Educação: As Tecnologias da Informação e da Comunicação e o processo educativo. Lisboa: Nova Vega. DELGADO, C., XEXEO, J. A. M., SOUZA, I. F., CAMPOS, M., RAPKIEWICZ, C. E., 2004. Uma abordagem pedagógica para a iniciação ao estudo de algoritmos. In: XII WORKSHOP DE EDUCAÇÃO EM COMPUTAÇÃO (WEI 2004), Salvador, BA.
GONDIM, H. W. A. S., AMBROSIO, A. P. L., 2008. Esboço de Fluxogramas no Ensino de Algoritmos. In: WEI - Workshop sobre Educação em Computação, 2008, Belém do Pará - PA. Anais do WEI. p. 109-117. JORDÃO, T. C., 2009. Formação de educadores. A formação do professor para a educação em um mundo digital. In: Salto para o Futuro. Tecnologias Digitais na Educação. Ano XIX, boletim 19. Nov-Dez. KULSKY, M; QUINTON, S., 2002. Personalising the Online Learning Experience, In S. J. Armstrong et al. (Eds.), Learning Styles: Realibility & Validity, Proceedings of the 7 th Annual ELSIN Conference. 221-225. Ghent: Ghent University. Belgium & ELSIN. LISTER, R.; LEANY, J., 2003. First year programming: Let all the flowers bloom. In: FIFTH AUSTRALASIAN COMPUTING EDUCATION CONFERENCE (ACE2003), Adelaide, Australia. MOTA, M. P., PEREIRA, L. W. K., FAVERO, E. L., 2008. JavaTool: Uma Ferramenta para o Ensino de Programação. In: Congresso da Sociedade Brasileira de Computação, 2008, Belém. XXVIII Congresso da Sociedade Brasileira de Computação. p. 127-136. PEREIRA JUNIOR, J.C.R., RAPKIEWICZ, C.,2004. O Processo de Ensino-Aprendizagem de Fundamentos de Programação: Uma Visão Crítica da Pesquisa no Brasil, WEI RJES. RAABE, A. L. A.; SILVA, J. M. C., 2005. Um ambiente para atendimento às dificuldades de aprendizagem de algoritmos. In: XIII WORKSHOP SOBRE EDUCAÇÃO EM COMPUTAÇÃO, 2005, São Leopoldo. RAPKIEWICZ, C. E., FALKEMBACK, G., SEIXAS, L., DOS SANTOS, N. S., CUNHA, V. V., KLEMANN, M., 2006. Estratégias Pedagógicas no Ensino de Algoritmos e Programação Associadas ao Uso de Jogos Educacionais. RENOTE. Revista Novas Tecnologias na Educação, v. 4, n. 2, p.1-11. RODRIGUES, M. C., 2002. Como Ensinar Programação?. Informática - Boletim Informativo Ano I n 01, ULBRA. Canoas, RS, Brasil.
SANTOS, E., FERMÉ, E., FERNANDES, E., 2006. Droid Virtual: Utilização de Robôs na Aprendizagem colaborativa da programação através da Web. V Conferência Internacional de Tecnologias de Informação e Comunicação na Educação, pp. 263-267. SCHULTZ, M. R. O., 2003. Metodologias para Ensino de Lógica de Programação de Computadores. Monografia de Especialização (Ciência da Computação). Universidade Federal de Santa Catarina (UFSC), Florianópolis, SC, Brasil. 69p. SOUZA, R. B., 2014. O uso das tecnologias na educação. Disponível em: http://www.grupoa.com.br/revista-patio/artigo/5945/o-uso-das-tecnologias-na-educacao.aspx. [Acesso em 08 de Fevereiro de 2015].