Anais do XXII SBIE - XVII WIE Aracaju, 21 a 25 de novembro de 2011 Benefícios no Uso de um Assistente Inteligente no EnsinoAprendizagem de Programação Computacional Giovanni Almeida Santos1, Vandor Roberto Vilardi Rissoli2 1 Universidade de Brasília (UnB) Área Especial 2 Lote 14 Setor Central - fone: 61 3484 3443 - 72405-610 Gama – DF 2 Universidade Católica de Brasília (UCB) QS 07 Lote 01 EPCT - fone: 61 33569306 - 72002-900 Taguatinga – DF [email protected], [email protected] Abstract. This paper presents the results achieved with the use of an Intelligent Teaching Assistant (ITA). This assistant incorporates Cognitive Learning Theory concepts, providing a more realistic cognitive situation of each student. The results obtained using this assistant on graduation teaching environment demonstrate its feasibility for improving the teaching and learning of computer programming. Resumo. Este artigo apresenta os resultados alcançados com o uso de um Assistente Virtual de Ensino Inteligente (ITA) no apoio ao ensino de programação de computadores. Tal assistente incorpora o conceito da Teoria da Aprendizagem Significativa, provendo um acompanhamento mais realista da situação cognitiva de cada aluno. Os resultados obtidos com a utilização desse assistente em um ambiente de ensino superior demonstram a viabilidade do mesmo para a melhoria do processo de ensino-aprendizagem. 1. Introdução Os desafios e as dificuldades no ensino de algoritmo e de programação de computadores há muito têm sido temas recorrentes em diversos estudos e trabalhos publicados. Dentre os pontos de maior dificuldade, podem ser destacados o emprego do raciocínio lógico [Pereira e Rapkiewicz 2004] e a compreensão da sintaxe das linguagens de programação e de conceitos abstratos [Sajaniemi e Kuittinen 2003]. Quando não compreendidos adequadamente, esses pontos comprometem a motivação do estudante e, consequentemente, o levam a evadir-se da disciplina. Ao passo em que há inúmeros desafios, vários pesquisadores também têm buscado desenvolver técnicas e ferramentas que possam tornar mais fácil o aprendizado da programação por parte dos estudantes. Principalmente na última década, diversos trabalhos vêm sendo publicados nos principais eventos relacionados à área de Informática na Educação no Brasil, descrevendo softwares e experiências de sua utilização em ambientes de ensino, conforme podem ser vistos em Piccolo (2010), Mota (2009), Castro (2004) e vários outros. Uma característica que se observa na grande maioria desses trabalhos, e que é destacada por Castro (2004), é a necessidade clara de um "ambiente de apoio à programação que possibilite a cooperação entre os diferentes autores do processo de aprendizagem". ISSN: 2176-4301 2244 Anais do XXII SBIE - XVII WIE Aracaju, 21 a 25 de novembro de 2011 No tocante ao desenvolvimento de ferramentas de apoio ao processo de ensinoaprendizagem, alguns softwares têm adotado a tecnologia ITA (Intelligent Teaching Assistant) – Assistente Virtual de Ensino Inteligente. Tais softwares podem fazer análises da situação cognitiva dos aprendizes e prover feedback aos mesmos com base em inferências provenientes de lógicas e técnicas da Inteligência Artificial [Yacef 2002]. Baseado em uma arquitetura pedagógica que envolve a utilização de um ITA específico, resultados promissores têm sido alcançados nos últimos tempos na subárea de Programação Computacional de um curso de Ciência da Computação, os quais serão apresentados ao longo deste trabalho. Este artigo está organizado em 6 seções. A seção 2 descreve a problemática do ensino-aprendizagem de programação de computadores. A seção 3 apresenta alguns aspectos relacionados à tecnologia ITA. A seção 4 mostra as principais características do ITA adotado neste trabalho. A seção 5 demonstra os resultados que suportam a viabilidade e os benefícios alcançados com o uso desse ITA. As conclusões e perspectivas futuras constam na seção 6. As referências bibliográficas são relacionadas ao final deste documento. 2. A Problemática do Ensino-Aprendizagem de Programação Embora se sintam atraídos por aspectos ligados à tecnologia, como o uso de tablets, smartphones e jogos de computadores, a grande maioria dos ingressantes nos cursos superiores de computação possui pouco ou nenhum conhecimento prévio sobre programação. Ao se depararem com questões ligadas ao desenvolvimento de programas nas matérias iniciais e à necessidade de estruturação de soluções em software para resolver determinados problemas, muitos dos alunos sentem-se desmotivados. Essa desmotivação dos alunos é decorrente de vários fatores, tais como dificuldades na estruturação de um raciocínio lógico [Pereira e Rapkiewicz 2004], dificuldades em compreender o enunciado de um problema e gerar uma sequência lógica de instruções que possa resolvê-lo [Barros 2004] e problemas na compreensão da sintaxe das linguagens de programação utilizadas [Sajaniemi e Kuittinen 2003]. Dado o acesso que os alunos têm como usuários de recursos tecnológicos modernos, é compreensível que se sintam com a motivação pessoal diminuída ao terem de construir programas sem interface gráfica e sem os recursos áudio-visuais com os quais estão acostumados a ter contato. No entanto, é importante que eles compreendam que por trás de todos esses softwares modernos há milhões de linhas de código que necessitam do aprendizado obtido nas disciplinas iniciais de programação. 3. Tecnologia ITA - Assistente Virtual de Ensino Inteligente O emprego de recursos tecnológicos em atividades de formação e assimilação de novos conhecimentos exige o compromisso consciente e responsável dos principais envolvidos (discente e docente) para o estabelecimento de um ambiente colaborativo agradável de ensino que garanta a motivação e a qualidade da aprendizagem. Essa predisposição dos envolvidos é fundamental ao êxito do ensinoaprendizagem, não sendo, somente ela, suficiente ao sucesso deste processo. No entanto, essas características positivas devem ser trabalhadas de maneira contínua e sintonizadas 2245 Anais do XXII SBIE - XVII WIE Aracaju, 21 a 25 de novembro de 2011 com os objetivos almejados nesse processo, propiciando maior motivação e envolvimento de seus estudantes durante toda a jornada de aprendizagem planejada em seu processo educacional. Apesar de vários softwares interessantes estarem disponíveis ao uso acadêmico, a adoção de qualquer um deles deve respeitar os aspectos pertencentes à metodologia educacional que é utilizada no ensino-aprendizagem de determinada área de conhecimento. Suas características interativas devem contribuir com os fatores de sucesso do processo educacional, servindo como ferramenta que subsidie seus aspectos didático-pedagógicos e as suas necessidades inerentes. Em se tratando de recursos de software, um ITA deve possuir capacidade de ensinar e aprender, procurando adequar estratégias de ensino, provenientes da metodologia adotada, às necessidades momentâneas de aprendizagem de cada estudante. Sendo esse assistente um software educacional, com arquitetura modular apresentada na Figura 1, sua postura deve se manter no monitoramento das interações e resultados alcançados pelos aprendizes que o utilizam. Seus módulos devem contemplar a organização exploratória do conteúdo educacional envolvido (domínio do estudo), a capacidade de modelagem cognitiva de cada aprendiz, os métodos pedagógicos possíveis de serem adotados pelo assistente e uma interface interativa ágil e intuitiva que não exija um esforço cógnito acentuado em sua operação, pois esse esforço deve estar direcionado à assimilação do conteúdo que é o objetivo da aprendizagem almejada. Figura 1 – Representação da arquitetura de um ITA [Rissoli 2007]. Essa capacidade de ensinar os conteúdos do domínio e aprender a cada interação do estudante e de seu professor envolve recursos de Inteligência Artificial, principalmente na modelagem cognitiva dos aprendizes, averiguadas pelas inferências realizadas por esse assistente artificial (ITA). 4. Sistema de Apoio Educacional O ITA utilizado no contexto deste trabalho é denominado SAE (Sistema de Apoio Educacional) e incorpora em sua arquitetura duas propostas metodológicas que procuram oferecer um apoio pedagógico voltado à personalização do ensinoaprendizagem, com envolvimento de mais agentes humanos que possibilitem oportunidades de exercício e evolução nas habilidades sociais e cooperativas entre os estudantes e seus professores. 2246 Anais do XXII SBIE - XVII WIE Aracaju, 21 a 25 de novembro de 2011 Essas metodologias enriquecem a formação dos aprendizes, pois, trabalham aspectos cognitivos voltados à aprendizagem ao longo da vida, respeitando o conhecimento já estabelecido na estrutura mental de cada indivíduo. Essa conduta consiste em uma das principais características da Teoria da Aprendizagem Significativa (TAS) que se consolida com as concepções propostas por um ITA sobre o processo educacional ser idiossincrático as necessidades de seus aprendizes [Ausubel 1980]. A promoção da maior interação entre estudantes, por sua vez, é fundamentada no processo atualmente conhecido como Monitoria Estudantil, no qual um estudante mais experiente se prontifica a colaborar com os estudantes ainda novatos em algum conhecimento a ser aprendido. Geralmente, esse tipo de contato não envolve o formalismo existente no relacionamento entre professor e alunos, facilitando a interação objetiva ao conteúdo de interesse com características de companheirismo mais acentuadas e aparentes na superação de possíveis dificuldades de assimilação. Essa proposta de monitoria é fundamentada na didática educacional concebida por Pestalozzi, que ainda oportuniza cada estudante experiente, normalmente chamado de monitor, a participar de uma experiência acadêmica enquanto se encontra em processo de formação. A Figura 2 representa a arquitetura desse ITA (SAE) e ressalta o envolvimento de diferentes agentes humanos coletando dados que são compartilhados com o assistente inteligente que, por sua vez, os disponibiliza como informações de apoio aos diferentes perfis que participam, diretamente, deste processo educacional. Figura 2 – Representação da arquitetura do ITA denominado SAE [Rissoli 2007]. Com base nesse conjunto amplo de dados e pontos de vista distintos, o SAE pode realizar uma inferência mais completa e colaborar com a orientação pedagógica de seus aprendizes, bem como fornecer assistência adequada às atividades dos docentes e monitores que colaboram, de maneira significativa, no processo de aprendizagem dirigido pela TAS. O acompanhamento da situação cognitiva dos estudantes é realizado pelo SAE com base na Teoria da Aprendizagem Significativa (TAS) e na aplicação da Lógica Fuzzy para determinação de duas variáveis linguísticas: esforço e desempenho. Essas variáveis são obtidas a partir das interações dos estudantes com o SAE. A primeira, de cunho quantitativo, procura identificar o empenho do estudante em buscar recursos e realizar atividades que possibilitem a assimilação associativa aos conhecimentos já estabelecidos na estrutura mental dos aprendizes (processo de subsunção). Já a segunda, com característica qualitativa, envolve o resultado obtido na solução das atividades apuradas pela variável esforço. 2247 Anais do XXII SBIE - XVII WIE Aracaju, 21 a 25 de novembro de 2011 Essas variáveis são definidas respeitando-se os pressupostos da TAS, mantendose ambas relacionadas à inferência que procura detectar a realidade do êxito no processo de subsunção através da Lógica Fuzzy. Enquanto a variável esforço analisa a predisposição de cada aprendiz em buscar a integração do novo saber em sua estrutura cognitiva, a variável desempenho averígua o nível dessa integração. Dessa forma, uma proposta metodológica, preocupada com a situação individual de cada aprendiz, vem integrando posturas educacionais com recursos provenientes da Inteligência Artificial. Esta integração promove a assistência ao processo de ensino e aprendizagem, almejando melhorar sua eficiência com o acompanhamento de cada aprendiz durante seu período letivo, e não somente nas atividades avaliativas que geralmente encerram estes períodos. Esse acompanhamento pode propiciar uma interação mais adequada no momento que seja necessária a orientação do aprendiz e não somente em sua fase de encerramento. Para isso, integram-se recursos humanos e tecnológicos na perspectiva atual de fornecimento de um processo educacional que seja mais ágil e eficiente, garantindo melhor qualidade no atendimento de seus aprendizes, bem como dos agentes humanos colaboradores em seu sucesso. 5. Resultados O índice de aprovação dos alunos em uma turma não significa, necessariamente, o sucesso de uma metodologia ou arquitetura pedagógica. Então, como avaliar o sucesso e os benefícios alcançados no aprendizado dos alunos pela utilização de uma metodologia pedagógica? Como forma de se avaliar os resultados alcançados com a adoção do SAE, aliado a uma metodologia educacional, foram analisadas três turmas relacionadas com a área da Programação Computacional de um curso de Bacharelado em Ciência da Computação (Tabela 1). Tais turmas estão relacionadas às disciplinas que são ministradas, consecutivamente, a partir do primeiro semestre letivo do curso. Tabela 1. Turmas selecionadas para avaliação do uso do SAE. Turma Algoritmos e Programação Laboratório de Programação I Laboratório de Programação II Semestre 2010.1 2010.2 2011.1 Alunos 35 40 20 As turmas escolhidas foram ministradas por um mesmo docente e em todas elas o SAE foi adotado como recurso de apoio à aprendizagem de seus alunos. Esse cuidado almeja não permitir a interferência de posturas pedagógicas diferentes de docentes distintos em sala de aula, promovendo uma análise comparativa mais adequada sobre a colaboração desse software educacional. Nessa averiguação foram estabelecidos dois indicadores: (i) a aprovação dos alunos na turma e (ii) a situação do fechamento do aluno no acompanhamento realizado pelo SAE. Esse fechamento corresponde ao processo no qual este ITA acompanha a assimilação de cada conceito que compõe um conteúdo de estudo disponível no SAE e representado por meio de um conjunto fuzzy. 2248 Anais do XXII SBIE - XVII WIE Aracaju, 21 a 25 de novembro de 2011 Para cada um destes conceitos o SAE infere o resultado da situação da aprendizagem, formando um conjunto de graus de pertinência sobre a assimilação significativa à estrutura cognitiva de seus usuários-aprendizes. Um cálculo ponderado é realizado sobre estes valores somente quando todos os conceitos alcançam um valor de satisfação em sua aprendizagem apoiada pelo SAE. Este cálculo consiste no grau de disparo sobre o conjunto dos conceitos a serem aprendidos durante o ensinoaprendizagem de um conteúdo de estudo [Rissoli 2006]. Os alunos que alcançam esse fechamento têm a sua aprendizagem considerada satisfatória pelo SAE, que calcula o grau de disparo e o fornece como um índice que mensura, mediamente, o quanto esse assistente inteligente infere que a aprendizagem aconteceu de forma significativa à cada um de seus aprendizes. A Tabela 2 mostra a comparação entre os dois indicadores estabelecidos acima. Tabela 2. Relação entre o índice de aprovação e o fechamento do SAE. Turma Algoritmos e Programação Laboratório de Programação I Laboratório de Programação II Aprovados Fechamento Sem Fechamento 93% 75% 75% 7% 25% 25% De acordo com os dados da Tabela 2, observa-se que a maioria dos alunos aprovados concluiu as atividades disponibilizadas no SAE, alcançando um índice satisfatório em todos os conceitos que compõem o conteúdo de estudo destas turmas. Nesse sentido, à medida que o SAE vai construindo suas inferências sobre a situação de aprendizagem de cada aluno, ele também fornece orientações pedagógicas personalizadas a essas situações, permitindo, a cada aprendiz, elaborar um plano de estudo mais coerente com a sua realidade cognitiva em um conteúdo. Uma outra importante observação é a análise da evolução dos alunos que foram aprovados na primeira disciplina. Desses, 90% conseguiram aprovação na segunda disciplina, sendo que 78% deles alcançaram o fechamento acompanhado pelo SAE. Dos que avançaram para a terceira disciplina, 100% foram aprovados e efetivaram o fechamento. Além dos critérios quantitativos, geralmente apresentados ao final de cada período letivo (semestre), também foram aplicados questionários para se avaliar aspectos qualitativos e subjetivos relacionados ao apoio tecnológico oferecido para estas turmas. Tais questionários consistiram em uma pesquisa que buscava observar a percepção dos estudantes sobre a forma como as turmas foram conduzidas ao longo do tempo e sobre como os mesmos se sentiram em termos de aprendizado. Os aspectos levados em consideração nestes questionários estão categorizados na Tabela 3. Tabela 3. Categorias e classes de pergunta feitas aos estudantes. Categoria Professor Monitoria Análise Pessoal Classe de Pergunta Percepção do uso de metodologia educacional com SAE Importância da monitoria Participação pessoal e dos colegas na disciplina Atendimento das expectativas e indicação a outros colegas 2249 Anais do XXII SBIE - XVII WIE Aracaju, 21 a 25 de novembro de 2011 Os gráficos a seguir sintetizam a opinião dos alunos pesquisados nos três semestres referentes às turmas analisadas neste trabalho, sendo observado que os mesmos estudantes foram acompanhados em momentos de aprendizagem diferentes (disciplinas diferentes) durante os semestres consecutivos de cada turma (disciplina) relacionada na Tabela 2. O Gráfico 1 mostra que todos os alunos que participaram desta pesquisa têm a percepção da adoção, por parte do professor, de uma metodologia educacional apoiada por recursos tecnológicos, objetivando uma assistência contínua e coerentemente dirigida aos objetivos educacionais de cada conteúdo de estudo. Gráfico 1. Percepção do aluno sobre o uso de uma metodologia educacional. O Gráfico 2 mostra a opinião dos alunos acerca da percepção da relevância da monitoria na aprendizagem do conteúdo da disciplina, sendo ressaltado que o apoio oferecido pelos monitores pode acontecer presencialmente ou através do recurso de comunicação síncrona (chat) disponível no SAE. Gráfico 2. Opinião dos estudantes sobre a importância da monitoria. Cada uma dessas interações entre alunos e monitores são registradas no SAE como atendimentos da monitoria, podendo ainda ser solicitado ao professor específico de cada aluno atendido um acompanhamento diferenciado em determinado conteúdo 2250 Anais do XXII SBIE - XVII WIE Aracaju, 21 a 25 de novembro de 2011 devido a possível dificuldade ou deficiência detectada pela monitoria e/ou pelo próprio SAE. Com relação à Análise Pessoal, grande parte dos alunos, participantes desta pesquisa, se mostraram satisfeitos tanto com a sua participação quanto com a participação de seus colegas de sala (Gráfico 3). Gráfico 3. Auto-avaliação e avaliação da participação dos colegas de sala. Esses dados contidos no Gráfico 3 colaboram na percepção de que os alunos estão se sentindo mais motivados e com interesse em participar das atividades propostas para aprendizagem dos referidos conteúdos de estudo. O Gráfico 4, por sua vez, demonstra o grau de satisfação dos alunos no atendimento às expectativas iniciais com relação ao conteúdo disciplinar e se o mesmo recomendaria a disciplina a outros colegas. Gráfico 4. Atendimento das expectativas dos alunos. Analisando o Gráfico 4 é possível observar índices expressivos relacionados ao atendimento das expectativas dos estudantes, inclusive com 92% de possível indicação para outros colegas cursarem a disciplina organizada com esta metodologia que utiliza o SAE como recurso de apoio tecnológico à aprendizagem. 6. Considerações Finais e Trabalhos Futuros Analisando os resultados apresentados, observa-se que a adoção do SAE, aliado a uma metodologia educacional nas disciplinas de Programação Computacional, tem 2251 Anais do XXII SBIE - XVII WIE Aracaju, 21 a 25 de novembro de 2011 influenciado na qualidade da aprendizagem dos estudantes e no seu sentimento de satisfação com esse acompanhamento que envolve agentes humanos (docente e monitor) e um assistente artificial (ITA). Do ponto de vista desses alunos, é possível observar um nível de satisfação elevado, além de um índice expressivo no qual eles relatam que indicariam aos seus colegas cursarem a disciplina com essa abordagem metodológica. Isso reforça a satisfação em uma área tradicionalmente conhecida pela falta de motivação de seus aprendizes. Também é notória a relevância da Monitoria Estudantil aliada ao SAE no processo educacional desses alunos. Geralmente, os monitores estão mais próximos da idade dos alunos, diferentemente dos professores, facilitando a comunicação estabelecida entre ambos (aluno-monitor) e o apoio a sua aprendizagem [Lopes 1981]. Essa atividade cooperativa com outros estudantes exercita as habilidades sociais desses aprendizes, promovendo uma evolução em sua capacidade de interagir e buscar auxílio de outros colegas na superação de possíveis dificuldades. Diante desses resultados ainda iniciais, que serão mais bem analisados e explorados na perspectiva da evolução do ensino-aprendizagem nesta área, é possível notar que a integração de diferentes recursos, dirigidos por uma metodologia adequada, pode proporcionar um ambiente agradável de estudo e acolhimento dos aprendizes, fortalecendo a motivação na superação das dificuldades e enriquecendo as atividades de todos os envolvidos nesse processo educacional. Dessa forma, foi possível observar que o nível de aprendizagem dos alunos que utilizaram o SAE foi mais satisfatório do que o nível daqueles que não o utilizaram, refletindo, tal fato, no nível de aprovação das turmas e na qualidade de sua aprendizagem. Esta situação se mostra promissora à continuidade evolutiva deste projeto que almeja colaborar com a realização de um processo educacional mais autônomo e eficiente. As expectativas de evolução do SAE se concentrarão no desenvolvimento de novos recursos que sejam capazes de envolver aspectos emotivos, estimulando a motivação dos alunos no processo de construção do seu conhecimento. Novas variáveis línguísticas ainda deverão ser incorporadas ao SAE a fim de se obter um detalhamento maior sobre as situações de apoio cognitivo que possam interferir na melhoria do ensino-aprendizagem da Programação e na realidade desta área de conhecimento em nosso país. 7. Referências Ausubel, D. P., Novak, J. D., Hanesian, H. (1980) Psicologia Educacional. Rio de Janeiro: Editora Interamericana. Barros, L. N.; Delgado, K. V.; Machion, A. C. (2004) ITS for Programming to Explore Practical Reasoning. In: XV Simpósio Brasileiro de Informática na Educação. SBC. Castro, T. H. C., Castro Júnior, A. N., Menezes, C. S. (2004) Aprende – um Ambiente Cooperativo de Apoio à Aprendizagem de Programação. UFAM. UFES. In: XV Simpósio Brasileiro de Informática na Educação. SBC. 2252 Anais do XXII SBIE - XVII WIE Aracaju, 21 a 25 de novembro de 2011 Lopes, L. (1981) Pestalozzi e a educação contemporânea. Rio de Janeiro: Associação Fluminense de Educação. Pereira Júnior, J. C., Rapkiewicz, C. E. (2004) O Processo de Ensino-Aprendizagem de Fundamentos de Programação: Uma Visão Crítica da Pesquisa no Brasil. WEI, I: 2004 nov. 19-21: Vitória - ES, Rio das Ostras – RJ. Sajaniemi, J., Kuittinen, M. (2003) Program Animation Based on The Roles of Variables. Proceedings of the 2003 ACM Symposium on Software Visualization. Piccolo, H. L., Sena, V. de F., Nogueira, K. B., Silva, M. O., Maia, Y. A. N. (2010) Ambiente Interativo e Adaptável para Ensino de Programação. In: XXI Simpósio Brasileiro de Informática na Educação. João Pessoa: SBC. Mota, M. P., Brito, S. R., Moreira, M. P., Favero, E. L. (2009) Ambiente Integrado à Plataforma Moodle para Apoio ao Desenvolvimento das Habilidades Iniciais de Programação. In: XX Simpósio Brasileiro de Informática na Educação. Florianópolis: SBC. Rissoli, V. R. V.; Giraffa, L. M. M.; Barone, D. A. C. (2007) Uma Proposta de Aplicação de Lógica Fuzzy para Modelagem do Processo de Raciocínio de um Assistente Virtual. In: XVIII Simpósio Brasileiro de Informática na Educação. São Paulo: SBC, p. 48-57. Rissoli, V. R. V.; Giraffa, L. M. M. (2006) Aprendizagem Significativa apoiada por um Sistema Tutor Inteligente usando Lógica Fuzzy. In: II Workshop de Arquiteturas Pedagógicas para Suporte à Educação a Distância Mediada pela Internet. SBIE. Brasília: SBC. Yacef, K. (2002) Intelligent Teaching Assistant Systems. In: International Conference on Computers in Education. New Zeland: IEEE, v.1, p.136-140. 2253