Recomendação de exercícios para alunos de programação em um ambiente de correção automática de códigos - Laranjeira, Dion Ribeiro (2020)
Muitos alunos de disciplinas de Programação Introdutória (CS1) têm dificuldade em aprender a programar. Por isso, professores de programação têm utilizado juízes online para propor exercícios, realizar maratonas e campeonatos de programação, a fim de tentar melhorar a experiência de aprendizado dos alunos. No entanto, nos casos de juízes online que possuem em sua base de dados muitos exercícios cadastrados, o aluno poderá escolher um exercício que não seja adequado para seu nível de conhecimento. Nesse sentido, neste trabalho é proposto um sistema de recomendação de exercícios, que filtra exercícios por nível de dificuldade, em um juiz online chamado CodeBench. Esses exercícios são classificados manualmente por assuntos pelo professor, e o método proposto nesta pesquisa sugere exercícios ordenados pelo nível de dificuldade. Para isso, é utilizada a abordagem de recomendação de filtragem colaborativa para mapear as dificuldades experimentadas pelos alunos quando resolvem exercícios de programação no ambiente de desenvolvimento integrado do CodeBench. Após isso, é feita a predição de dificuldade dos exercícios que o aluno ainda não resolveu para, então, sugerir exercícios com graus de dificuldade crescentes. Este método de recomendação foi aplicado em uma base de dados com 645 alunos de graduação, distribuídos em 14 turmas de CS1, ministradas no ano de 2018, em uma universidade pública. A disciplina é dividida em 7 módulos, cada módulo possui duas listas de exercícios e uma prova. Em cada módulo foi feita a comparação da ordem original de resolução de exercícios com a ordem de resolução de exercícios proposta pelo método. Os resultados mostram que em 6 módulos da disciplina o método aqui proposto sugere uma ordem de resolução adaptada para cada aluno, com nível crescente de dificuldade.