As dificuldades que estudantes encontram no aprendizado de linguagens de programação têm sido relatadas em diferentes épocas e em diferentes áreas de pesquisa. Este artigo baseia-se na proposta de um modelo de processo de construção de programas para aprendizes, o qual foi concebido para apoiar a construção de sistemas que minimizem alguns dos reconhecidos problemas enfrentados por programadores novatos. A partir desse modelo foi implementado um sistema tutor para aprendizado de programação em linguagem C, o qual foi experimentalmente utilizado com um grupo de alunos de engenharia elétrica. Este artigo relata e discute os resultados desse experimento, que apontam para possibilidades promissoras de aplicação desta abordagem.