Compreender as mensagens de erro emitidas por compiladores e interpretadores costuma ser uma das barreiras encontradas por estudantes novatos em programação. Em geral, mensagens de erro são padronizadas e agnósticas ao seu público-alvo, sendo pouco adequadas para programadores menos experientes. Além disso, estudantes costumam ter dificuldades quanto a reconhecer que a solução proposta está correta. Este artigo apresenta um estudo de caso exploratório realizado em um curso de programação em Python com estudantes novatos fazendo uso do ambiente de aprendizagem PEEF com o objetivo de analisar e avaliar o uso e eficácia de seus feedbacks. Durante o curso, os estudantes tiveram acesso a múltiplos tipos de feedback: mensagens de erro melhoradas pré-cadastradas, testes unitários e chat. Os resultados demonstram que os estudantes assimilaram o conteúdo, se sentiram mais confiantes e familiarizados em resolver problemas, utilizar testes unitários e ler mensagens de erro. O estudo demonstrou ainda uma predileção dos estudantes por mensagens melhoradas de erro e testes unitários. Os testes unitários foram utilizados em 83,6% dos projetos. Destes, 90,5% dos projetos obtiveram sucesso nos testes. Quanto ao uso de mensagens melhoradas pré-cadastradas, o estudo demonstrou uma cobertura de 81,1% dos erros emitidos. Percebeu-se que as mensagens melhoradas contribuíram para a solução das atividades, porém 54% das mensagens não colaboraram para a solução do problema. Percebeu-se ainda que o chat é pouco explorado pelos estudantes. Por fim, observou-se que o uso de testes e mensagens melhoradas colaboram positivamente para a aprendizagem, no entanto o método de mensagens pré-cadastradas não se mostra flexível às diversas variações de erros, levando a uma assertividade baixa.