Compreendendo e Melhorando o Processo de Aprendizagem em Programação I Utilizando as Relações de Códigos.
Por Matheus Gaudencio
(matheusgr@gmail.com)
Os códigos produzidos pelos alunos são ricos em detalhes e são produtos do que o aluno compreende de programação. Desta forma, analisar o que foi feito pelos estudantes pode oferecer informações úteis para o processo de aprendizagem. Visando melhorar e facilitar o processo de ensino e aprendizagem de programação, a pesquisa que abordaremos esse mês, estuda o uso do valor de semelhança entre códigos para propôr ferramentas e metodologias para auxiliar os professores das disciplinas: Programação I e Laboratório de Programação I.




As disciplinas introdutórias de programação formam uma das bases do curso de computação. Independente da área que o aluno escolha seguir, programar e, principalmente, usar o pensamento computacional aprendido através dessas disciplinas será parte da vida do formado em computação.

Entretanto, acompanhar esse processo de aprendizagem não é uma tarefa fácil. Nem se há uma ideia completa de como os alunos compreendem programação como também faltam metodologias e ferramentas eficientes para ajudar no ensino de programação. De um modo geral, a pesquisa em ensino de computação busca atacar estes dois pontos tentando entender como as pessoas aprendem a programar e propondo melhorias para auxiliar tal aprendizagem.

Um problema específico encontrado por professores de programação está na dificuldade em entender e discutir as diferentes soluções propostas pelos alunos para exercícios propostos. Cada aluno forma um modelo do que ele entende que é computação e aplica este modelo de diferentes formas. Já o professor, precisa avaliar a solução de cada aluno e da turma para poder comentar o que foi feito pelo aluno para que o mesmo possa avançar no processo de compreensão da matéria.

No entanto, esta avaliação, feita de forma manual ou com pouca informação processada costuma ser ineficiente principalmente pela demora que é este processo de análise. Sem o feedback rápido o aluno pode acabar ficando 'preso' ou seguindo uma direção não produtiva para vencer sua dificuldade. Sem saber como os alunos estão resolvendo as diferentes questões propostas, o professor pode acabar sem passar problemas mais relevantes ou que explorem bem um determinado conteúdo.

Especificamente, devido à grande quantidade de exercícios e alunos, a avaliação por comparação de códigos produz informações que ainda não estão sendo exploradas. A pesquisa foca em usar a informação de o quão semelhantes e diferentes entre si são os códigos produzidos durante a disciplina.

Um exemplo de uso dessa informação está disponível em http://relatedcode.appspot.com/ (nome ainda não definitivo). Essa ferramenta procura disponibilizar uma representação útil sobre os códigos produzidos para uma determinada questão. Nela, pode-se visualizar quais as soluções mais tentadas pelos alunos, quais as soluções que passam mas diferem do que foi produzido pela maioria ou soluções que apresentam algum pequeno erro, mas estão muito próximas de uma resposta correta.

Outro exemplo é a avaliação das semelhanças entre soluções das diferentes questões de uma lista de exercícios para identificar como tópicos da disciplina são cobrados. Nesta outra pesquisa, é possível fazer uma avaliação automática de como os alunos exploraram cada questão da lista de exercício. É possível saber, por exemplo, que determinadas questões foram resolvidas com uso típico de um while e que esse uso é particular e relevante naquele conjunto de questões.

A pesquisa está sendo desenvolvida pelo doutorando Matheus Gaudencio, sob orientação dos professores Dalton D. S. Guerrero, aqui da UFCG, e da professora Ayla Débora Dantas da UFPB (campus Rio Tinto). Essa pesquisa é mais uma do grupo de educação e computação que busca unir alunos da graduação e da pós-graduação do Laboratório de Práticas de Software (SPLab) que fazem pesquisa sobre o tema.

Existem dois artigos, ambos a serem publicados. O primeiro trabalho é referente a pesquisa do uso de tópicos em listas de exercícios e será apresentado agora no final de novembro no 24º SBIE (Simpósio Brasileiro de Informática na Educação) sendo o maior evento nacional da área. O segundo trabalho será publicado no maior evento da área, o SIGCSE (2014) e é referente a pesquisa do arcabouço teórico utilizado para a comparação de códigos e o uso inicial do agrupamento mostrado na ferramenta que citei.

Editor: Eder Andrade.

Jornal PETNews - Edição: Rafael Rêgo - Revisão: Lívia Sampaio
Grupo PET Computação UFCG, 2013. All rights reserved.