APP INVENTOR FOR ANDROID: UMA PROPOSTA CONSTRUCIONISTA PARA EXPERIÊNCIAS SIGNIFICATIVAS DE APRENDIZAGEM NO ENSINO DE PROGRAMAÇÃO - PDF
APP INVENTOR FOR ANDROID: UMA PROPOSTA CONSTRUCIONISTA PARA EXPERIÊNCIAS SIGNIFICATIVAS DE APRENDIZAGEM NO ENSINO DE PROGRAMAÇÃO
Download "APP INVENTOR FOR ANDROID: UMA PROPOSTA CONSTRUCIONISTA PARA EXPERIÊNCIAS SIGNIFICATIVAS DE APRENDIZAGEM NO ENSINO DE PROGRAMAÇÃO"
Stella Melgaço Azambuja
1 APP INVENTOR FOR ANDROID: UMA PROPOSTA CONSTRUCIONISTA PARA EXPERIÊNCIAS SIGNIFICATIVAS DE APRENDIZAGEM NO ENSINO DE PROGRAMAÇÃO Tancicleide C. S. Gomes 1 (UFRPE) Jeane C. B. de Melo 2 (UFRPE) Resumo: A abstração e o raciocínio lógico envolvidos no desenvolvimento de algoritmos computacionais são primordiais para a produção de softwares e potencialmente desafiadores para os iniciantes em estudos relacionados a Ciência da Computação. No intuito de promover melhorias neste processo de aprendizagem, surge o ambiente App Inventor for Android, o qual permite aos usuários desenvolver aplicativos para dispositivos móveis. Este trabalho apresenta possibilidades de uso deste ambiente, a fim de enriquecer as experiências de aprendizagem de programação, tornando-as menos impactantes e mais envolventes, orientadas por premissas construcionistas. Palavras-chave: app inventor, programação, construcionismo, ensinoaprendizagem. Abstract: Abstraction and logical reasoning presents in the development of computational algorithms are essential for software production and potentially challenging for beginners in studies related to Computer Science. In order to promote improvements in the learning process, the environment App Inventor for Android is presented, which enables users to develop mobile devices applications. This paper presents possibilities of use to this environment, in order to enrich the programming learning experiences, making them less impactful and more engaging, guided by constructionist assumptions. Keywords: app inventor, programming, constructionism, teaching-learning process. Introdução As transformações na sociedade moderna trouxeram consigo novos e potenciais desafios, os quais, devido à sua complexidade, demandam aporte computacional. A fim de propor soluções eficazes para atender estas necessidades, conhecimentos sólidos em programação são um dos requisitos imprescindíveis aos profissionais da área. Contudo, o processo de ensino-aprendizagem de programação - 1 -
2 é reconhecidamente permeado por desafios no Brasil e no mundo (MCGETTRICK, 2004). Em instituições de ensino superior as disciplinas que abrangem os conteúdos de raciocínio lógico-abstrato, algoritmos e programação possuem elevados índices de reprovação. Tal fato contribui para o aumento das taxas de evasão em cursos na área de computação, concomitantemente, o déficit por profissionais qualificados na área continua aumentando de modo expressivo (MCGETTRICK, 2004). Diante deste panorama, diversos pesquisadores e entidades têm proposto melhorias para o processo de ensino-aprendizagem de programação. Estas iniciativas podem ser classificadas em três vertentes: 1. Utilização e/ou construção de ferramentas específicas para o ensinoaprendizagem de programação; 2. Estratégias de ensino-aprendizagem que utilizam ambientes lúdicos e jogos educacionais; 3. Utilização e/ou construção de ambientes web para ensino e/ou auxílio da disciplina de programação. (DE PAULA, et al. 2009) Apesar dos esforços despendidos no desenvolvimento de ferramentas para auxiliar o ensino de algoritmos e programação, a fundamentação pedagógica destas é inspirada, geralmente, em abordagens instrucionistas, desconsiderando importantes aspectos cognitivos, podendo comprometer as experiências de aprendizagem. Neste direcionamento, o presente trabalho se apropria da premissa de aprendizagem significativa e ampara-se na teoria construcionista, a fim de propor possibilidades mais atraentes e potencialmente significativas de ensino de programação através da linguagem de programação visual App Inventor for Android. O modelo aqui proposto foi avaliado a partir de ações de caráter extensionista, realizadas com estudantes dos 1ºs e 2ºs anos do ensino médio de uma escola da rede pública estadual de Pernambuco no decorrer do ano de
3 O presente trabalho encontra-se estruturado da seguinte forma: A Seção 2 apresenta aspectos da linguagem de programação App Inventor for Android. Elementos da aprendizagem significativa e construcionismo, bem como relato da experiência de ensino utilizando App Inventor encontra-se na Seção 3. Considerações finais e trabalhos futuros são apresentados na Seção 4. A linguagem visual de programação App Inventor for Android Linguagens de programação são um conjunto limitado de instruções associado a um conjunto de regras que define como as instruções devem ser associadas, ou seja, como se pode compor os programas para a resolução de um determinado problema. As linguagens tradicionalmente usadas no ensino de programação, de um modo geral, possuem sintaxes rebuscadas, podendo desviar o foco da resolução do problema proposto, tornando, assim, o exercício de programar desestimulante. Neste sentido, a linguagem de programação visual App Inventor for Android (AI) desponta como uma possibilidade mediante as linguagens de sintaxe mais complexas, tendo como premissa tornar o processo de aprendizagem de programação mais atraente: Desenvolvida com o intuito de transformar a natureza das experiências introdutórias de computação, tendo como alvo as pessoas e suas interações com os outros e com o mundo ao seu redor, em detrimento de cenários que incluem estudantes desmotivados, sentados em laboratórios escrevendo programas que ninguém jamais usará (ABELSON, 2009). O ambiente AI possui dois módulos: Components Designer e Blocks Editor. O módulo Components Designer permite construir a interface do aplicativo interagindo com componentes como botões, imagens, caixas de texto, sensor de localização que são inseridos em uma tela similar à de um smartphone
4 Figura 1:Módulo Components Designer Fonte: Tancicleide Gomes O módulo Blocks Editor é destinado a programar os componentes selecionados na interface Componentes Designer usando blocos conectáveis como um quebracabeças, que representam funções específicas do smartphone e que operam sobre dados. O Blocks Editor também dispõe de um emulador que permite aos usuários simular e testar a execução dos aplicativos tal qual estes se comportam em um smartphone
5 Figura 2:Módulo Blocks Editor e emulador Fonte: Tancicleide Gomes O ambiente AI permite que usuários sem conhecimento técnico-formal em programação possam desenvolver aplicativos para dispositivos móveis baseados na plataforma Android. Em experiências de ensino-aprendizagem, a interface gráfica de fácil uso possibilita aos estudantes explorar os conceitos básicos de programação e algoritmos de modo mais intuitivo, sem que estes precisem se ater a detalhes de sintaxe. Desta forma, os alunos podem concentrar-se na concepção da resolução de problemas inseridos em seus contextos sociais, cuja solução pode ser usada em seus dispositivos móveis, tornando a programação mais envolvente. Uma experiência de aprendizagem significativa no ensino de programação inspirada na abordagem construcionista A premissa construcionista ressalta o aprendiz como participante ativo, tornando-se não apenas espectador passivo, mas condutor do seu processo de aprendizagem: experimentando, descobrindo, errando e depurando, mediante o ciclo de descrever- executar refletir depurar
6 [...] o conhecimento não é fornecido ao aluno para que ele dê as respostas. É o aluno que coloca o conhecimento no computador e indica as operações que devem ser executadas para produzir as respostas desejadas. O programa fornece importantes pistas sobre o pensamento do aluno, uma vez que o pensamento está descrito explicitamente e a resposta do computador permite comparar o previsto com o obtido. (ALMEIDA, 2000) Neste direcionamento, o ambiente gráfico AI possibilita a abordagem construcionista, se destacando por sua intuitividade na detecção de erros conceituais cometidos ao longo do desenvolvimento, uma vez que a resolução lógica do problema é apresentada através de blocos conectados. Desta forma o estudante obtém o feedback imediato às ações operadas sobre os blocos, podendo comparar os resultados obtidos com a solução proposta. Dentre as principais características do ensino significativo pode-se destacar dois pontos: 1. O estudante precisa ter disposição para aprender; 2. O conteúdo deve ser potencialmente significativo. Em particular, no que tange ao tópico 2, o conteúdo deve possuir um significado lógico e psicológico, ou seja, além de fazer sentido precisam ter importância para o estudante. A partir do AI a possibilidade de criar aplicativos reais que transcendem as fronteiras do computador, uma vez que podem ser instalados em smartphones, criam conexões reais com o cotidiano do estudante, deixando-os mais motivados. Relato de Experiência A fim de avaliar a eficácia da presente proposta foi realizada a 1ª edição do minicurso Lógica de Programação com App Inventor for Android na Escola de Referência em Ensino Médio Clotilde de Oliveira de regime semi-integral, o público alvo constitui-se de estudantes dos 1ºs e 2ºs anos do ensino médio. Inicialmente os estudantes foram convidados a refletir sobre a contemporaneidade da computação e sua pervasividade no cotidiano. Através de diversas atividades lúdicas os estudantes puderam refletir sobre o caráter interdisciplinar de computação: jogos digitais provocaram discussões sobre interpretação do problema e sua resolução através de instruções precisas, - 6 -
7 problemas de lógica foram tratados a partir de maratonas e, por fim as últimas atividades incluíam a programação dos seus próprios aplicativos, com temas livres. Conclusão O trabalho aqui apresentado trouxe uma perspectiva de utilização da linguagem App Inventor for Android (AI) como primeira linguagem de programação para estudantes do ensino médio de uma escola pública estadual. As dificuldades de aprendizagem englobaram: interpretação do problema proposta evidenciando lacunas na interpretação de texto, matemática básica dificuldades em compreender e realizar operações matemáticas básicas e deduções lógicas. Em específico, a linguagem na qual o ambiente AI encontra-se descrito, inglês americano, constituiu-se em uma dificuldade em particular. Entretanto, os participantes demonstraram motivação, interesse e engajamento, assim como a apropriação adequada dos conteúdos apresentados, percorrendo desde a dedução do raciocínio lógico - no uso de diversos jogos digitais, atividades lúdicas e maratonas - até o desenvolvimento de aplicativos para dispositivos móveis. A experiência de ensino e os estudos realizados corroboraram para a definição dos seguintes trabalhos futuros: 1. Um enfoque maior no desenvolvimento de aplicativos educacionais através do ambiente App Inventor for Android a serem disponibilizados publicamente, de modo que os estudantes possam utilizá-los e aperfeiçoá-los, à medida que amadurecem os conhecimentos em programação. 2. A ampliação de recursos didáticos (tutoriais, vídeo aulas e gêneros textuais digitais) acerca do uso da linguagem App Inventor for Android, uma vez que não há relatos de uso desta no Brasil buscando minimizar os impactos do idioma estrangeiro. Novas edições do curso serão realizadas em escolas da região metropolitana do Recife, no intuito de difundir estes conhecimentos a um público ainda maior, provocando situações de aprendizagem significativas
8 Referências ABELSON, Hal. App Inventor for Android. Official Google Research Blog, Disponível em: <http://googleresearch.blogspot.com/2009/07/app-inventor-forandroid.html>. Acesso em: 29 out ALMEIDA, M.E. Informática e formação de professores. Secretaria de Educação a Distância. Prolnfo- Brasília: Ministério da Educação, SEED FALKEMBACK, Gilse; AMORETTI, Maria Suzana; VIEIRO, Fabrício; TAROUCO, Liane Rockenback. Aprendizagem de algoritmos: Uso da estratégia ascendente de resolução de problemas Disponível em: <http://tinyurl.com/falkembach>. Acesso em: 29 set FERREIRA, Cláudia; GONZAGA, Flávio; SANTOS, Rodrigo. Um Estudo sobre a Aprendizagem de Lógica de Programação Utilizando Programação por Demonstração. In: WEI/CSBC Workshop de Ensino de Informática - Congresso da Sociedade Brasileira de Computação, 2010, Belo Horizonte. Anais Belo Horizonte: CSBC, P KOLIVER, Cristian. Das (muitas) dúvidas e (poucas) certezas do ensino de algoritmos. In: Workshop de Ensino de Informática - Congresso da Sociedade Brasileira de Computação, 2004, Salvador. Anais... Salvador: CSBC, LAKE, Pauline; LANEROLLE, Trishan; LIMARDO, Nina; MORELLI, Ralph; UCHE, Chimma. Can Android App Inventor Bring Computational Thinking to K-12? In: SIGCSE - TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2011, Dallas TX EUA. Anais Dallas: SIGCSE, MCGETTRICK, Andrew.; BOYLE, Roger; IBBETT, Roland; LLOYD, John; LOVEGROVE, Gillian.; MANDER, Keith. Grand Challenges in Computing Education The British Computer Society.p.26. PAPERT, Seymour. A família em rede: ultrapassando a barreira digital entre gerações. Lisboa: Relógio D Água Editores, p
9 WOLBER, David. App Inventor and Real-World Motivation. In: SIGCSE - TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2011, Dallas TX EUA. Anais Dallas: SIGCSE, WOLBER, David. App Inventor.org Building Apps with App Inventor for Android. University of San Francisco, Disponível em: <http://www.appinventor.org>. Acesso em: 26 out DE PAULA, Leda; JÚNIOR, Dilermando; FREITAS, Ricardo. A importância da leitura e da abstração do problema no processo de formação do raciocínio lógicoabstrato em alunos de computação Disponível em: <http://csbc2009.inf.ufrgs.br/anais/pdf/wei/st02_03.pdf>. Acesso em: 29 de set Tancicleide GOMES, Graduanda. Universidade Federal Rural de Pernambuco (UFRPE) Departamento de Estatística e Informática 2 Jeane DE MELO, Profa. Dra. Universidade Federal Rural de Pernambuco (UFRPE) Departamento de Estatística e Informática - 9 -
Lógica de Programação: Iniciação Lúdica com App Inventor for Android
Lógica de Programação: Iniciação Lúdica com App Inventor for Android Tancicleide C. S. Gomes 1, Jeane C. B. de Melo 1 1 Departamento de Estatística e Informática Universidade Federal Rural de Pernambuco
App Inventor for Android: Uma Nova Possibilidade para o Ensino de Lógica de Programação
App Inventor for Android: Uma Nova Possibilidade para o Ensino de Lógica de Programação Tancicleide C. S. Gomes 1, Jeane C. B. de Melo 1 1 Departamento de Estatística e Informática Universidade Federal
O Pensamento Computacional no Ensino Médio: Uma Abordagem Blended Learning
O Pensamento Computacional no Ensino Médio: Uma Abordagem Blended Learning Tancicleide C. S. Gomes 1, Jeane C. B. de Melo 1 1 Departamento de Estatística e Informática Universidade Federal Rural de Pernambuco