Sistemas de aprendizado eletrônico têm como principal objetivo disponibilizar um ambiente colaborativo, através de ferramentas como: fórum, mensagem instantânea, envio de arquivos, e-mail, entre outras. No caso de disciplinas de programação, é necessário que, além desses sistemas, o aluno e o professor utilizem outros ambientes (ou ferramentas) que permitam o desenvolvimento de software e atividades relacionadas. Neste seminário será apresentada uma proposta de arquitetura para um ambiente de apoio ao aprendizado de programação, integrado a um sistema de aprendizado eletrônico. Esse ambiente conterá algumas ferramentas que auxiliarão professores e alunos em cursos introdutórios e avançados de programação.