O ensino de fundamentos de programação não é trivial: muitos estudantes têm dificuldades em compreender os conceitos abstratos e possuem visões equivocadas sobre programação. Um dos fatores críticos para o sucesso do ensino é promover feedback apropriado e avaliar a desempenho dos estudantes de forma constante. Em programação, isto é possível com conciliação da programação com atividades de teste de software, ou seja, a execução do programa com a intenção de encontrar erros. Esta prática permite não apenas a avaliação constante, mas, ao permitir também a criação de casos de teste, promove a reflexão sobre o funcionamento dos programas e, principalmente, dos algoritmos implementados.
Entretanto, para a efetiva utilização de programas e casos de teste, é necessário o desenvolvimento e utilização de ambientes automatizados para a avaliação de trabalhos práticos, reduzindo a carga para a correção e agilizando a resposta aos aprendizes e professores. Em linhas gerais, tais ambientes recebem os programas desenvolvidos pelos alunos (alguns deles também aceitam casos de teste) e realizam comparações do resultado do programa feito pelo aluno com o resultado esperado. Desta forma, ocorre um julgamento sobre a correção do programa e a sugestão de uma nota.
Alguns ambientes para submissão e avaliação automática de trabalhos práticos foram propostos no sentido de facilitar o ensino integrado de teste e de fundamentos de programação: Web-Cat, ProgTest, dentre outros. Para esta proposta de TCC, objetiva-se o aprimoramento de uma ferramenta de avaliação automática e a avaliação do impacto dessas melhorias no aprendizado dos alunos.