Please use this identifier to cite or link to this item:
http://hdl.handle.net/11422/26260
| Type: | Tese |
| Title: | Unsupervised concept extraction in an introductory programming course |
| Author(s)/Inventor(s): | Moraes, Laura de Oliveira Fernandes |
| Advisor: | Pedreira, Carlos Eduardo |
| Abstract: | Determinar manualmente os conceitos presentes em um grupo de perguntas é um processo desafiador e demorado. No entanto, este processo é uma etapa essencial durante a modelagem de um ambiente virtual de aprendizagem, uma vez que é necessário o mapeamento entre conceitos e perguntas para avaliação automática de conhecimento, produção de feedback e recomendação de exercícios. Esta tese fornece ferramentas para auxiliar no ciclo de aprendizagem com foco na extração de conceitos. Nós investigamos modelos semânticos não supervisionados para apoiar professores de ciência da computação nesta tarefa e propomos um método para transformar soluções de código fornecidas por professores em documentos de texto, incluindo as informações da estrutura do código. Primeiro, projetamos, implementamos e implantamos um ambiente de aprendizado para coletar dados de professores e alunos. Este ambiente foi construído baseado em uma metodologia de ensino. Em seguida, extraímos a relação latente entre os exercícios e avaliamos os resultados usando um conjunto de dados externo. Consideramos a interpretabilidade dos conceitos recuperados utilizando dados de 14 professores, e os resultados confirmaram seis clusters semanticamente coerentes, atingindo 0,75 na métrica normalizada de informação mútua pontual. Esta métrica está positivamente correlacionada com a percepção humana, tornando o método proposto útil na anotação e agrupamento semântico de códigos. Por fim, comparamos este método com métodos focados no conhecimento do aluno de modo a extrair a relação semântica latente das questões através da perspectiva do aluno. Por fim, propusemos uma visualização que agregue a performance dos alunos para acompanhar seu desempenho e identificar possíveis pontos de dificuldade. |
| Abstract: | Manually determining concepts present in a group of questions is a challenging and time-consuming process. However, the process is an essential step while modeling a virtual learning environment since a mapping between concepts and questions using mastery level assessment and recommendation engines are required. This thesis provides tools to assist in closing the learning feedback loop focused on concept extraction. We investigated unsupervised semantic models (known as topic modeling techniques) to assist computer science teachers in this task and propose a method to transform Computer Science 1 teacher-provided code solutions into representative text documents, including the code structure information. First, we projected, implemented, and deployed a learning environment based on a teaching methodology to collect professors and student data. Then, we extracted the underlying relationship between questions and validated the results using an external dataset by applying non-negative matrix factorization and latent Dirichlet allocation techniques. We considered the interpretability of the learned concepts using 14 university professors’ data, and the results confirmed six semantically coherent clusters, achieving 0.75 in the normalized pointwise mutual information metric. The metric correlates with human ratings, making the proposed method useful and providing semantics for large amounts of unannotated code. Finally, we compare this method with methods focused on the students’ knowledge to extract the questions’ latent semantic relationship through the students’ perspective. As we could not find a significant relationship between concepts found using the student-focused methods and the ones provided by the professors, we proposed a new visualization to track student performance and pinpoint students’ difficulties and achievements. |
| Keywords: | Aprendizagem de programação Ambientes virtuais de aprendizagem Sistemas de tutoria inteligente Extração de conceitos Técnicas não supervisionadas Engenharia de software Banco de dados Visualização de desempenho estudantil Modelagem de tópicos Virtual learning environments Intelligent tutoring systems Concept extraction Unsupervised learning Software engineering Databases Student performance visualization Programming education |
| Subject CNPq: | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE |
| Program: | Programa de Pós-Graduação em Engenharia de Sistemas e Computação |
| Production unit: | Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia |
| Publisher: | Universidade Federal do Rio de Janeiro |
| Issue Date: | Feb-2021 |
| Publisher country: | Brasil |
| Language: | eng |
| Right access: | Acesso Aberto |
| Citation: | MORAES, Laura de Oliveira Fernandes. Unsupervised concept extraction in an introductory programming course. 2021. 99 f. Tese (Doutorado) - Programa de Pós-Graduação em Engenharia de Sistemas e Computação, COPPE, Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2021. |
| Appears in Collections: | Engenharia de Sistemas e Computação |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| 944814.pdf | 840.95 kB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.