Minimizando o esforço de avaliação em disciplinas de programação introdutória utilizando agrupamentos adaptáveis.

Detalhes bibliográficos
Ano de defesa: 2018
Autor(a) principal: BARBOSA, Alexandre de Andrade.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10682
Resumo: A habilidade de programar é uma das competências fundamentais na área da computação. Esse conhecimento é basilar para a compreensão de diversos outros conceitos necessários tanto para vida acadêmica, quanto para as atividades profissionais nesta área. Contudo, apesar de tal importância, é bastante comum encontrar problemas em ambientes de ensino e aprendizagem de programação. Muitos são os fatores descritos como relacionados com as dificuldades existentes nas disciplinas de programação. Facilmente, em tais ambientes, encontramos alunos desmotivados, com dúvidas não esclarecidas e que não conseguem entender os conceitos necessários para prática de programação. Tradicionalmente, em disciplinas de programação são adotadas atividades práticas de codificação. Nestas atividades, a análise das soluções propostas pelos alunos nestas atividades não é simples. Muitos fatores podem ser observados na avaliação de um programa, o que torna essa avaliação demorada, sujeita ao viés e aos erros do avaliador. Dessa forma, o professor, mesmo quando auxiliado por monitores, em geral, não será consegue realizar avaliações de forma rápida, ou, para agilizar o processo não irá fornecer feedback detalhado. Na presente tese de doutorado, investigou-se a possibilidade de agrupar códigos fornecidos como soluções para um problema (exercício) de programação. O agrupamento de soluções foi proposto com a intenção de possibilitar o reúso de feedbacks de modo a minimizar o esforço de avaliação dispendido no contexto de ensino e aprendizagem introdutórios de programação. A investigação ocorreu através da condução de um survey, realizado com o objetivo de compreender os processos relacionados com a avaliação de códigos em disciplinas introdutórias de programação, um quasi experimento e um experimento, realizadas com dois objetivos: (i) investigar se é possível agrupar códigos de modo que uma avaliação seja generalizada para os elementos de um mesmo grupo (cluster); e (ii) verificar se a avaliação generalizada teria resultados semelhantes aos fornecidos por avaliadores humanos. Os resultados obtidos na avaliação de abordagem sugerem que é possível reutilizar feedbacks de modo que o esforço de avaliação dispendido seja minimizado. Embora alguns ajustes ainda sejam necessários, foi possível observar que a concordância obtida entre as notas geradas e as fornecidas por um avaliador variam entre uma concordância razoável, no pior caso, para uma concordância perfeita, no melhor caso. Além disso, muitos dos feedbacks textuais generalizados com base nos textos fornecidos pelos avaliadores foram indicados como ‘parcialmente aplicáveis’ ou ‘totalmente aplicáveis aos códigos avaliados.