Olá
Pra quem estava sem ter o que fazer no feriadão, segue uma sugestão :)
Eu estou utilizando passando as listas de exercícios pros meus alunos no formato de um arquivo com as definições das funções e os testes das funções. Com isso eles podem ir desenvolvendo e verificando se o programa funciona. Claro que eles ainda podem fazer código ruim, mas já é um começo. Perdemos menos tempo com comandos de entrada e saída e damos mais ênfase á lógica. Além do que os alunos podem ir experimentando alternativas ao código, mesmo depois de pronto.
As primeiras listas envolvem exercícios de estrutura sequencial, decisão e repetição com while. Mais na frente, passo com listas, strings, for, dicionários, etc. A maioria deles, retirei daqui:
http://www.python.org.br/wiki/ListaDeExercicios
Aqui estão elas:
Gostaria de contribuições, seja na melhoria dos enunciados, nos testes, sugestões de novos problemas. Pra quem está aprendendo a programar ou iniciando em Python, gostaria muito de um retorno. Digam se ajuda ou complica. É muito importante esse retorno.
Os mais experientes podem perceber que eu não estou usando nenhuma biblioteca de testes de unidade, como doctest, unittest, etc. A ideia foi começar com algo simples e auto contido. Essa ideia, na verdade, veio do Google Python Class e também é usada pelo Fernando Masanori. Estou apenas ampliando o uso tentando começar logo nas primeiras aulas. Acredito que o próximo passo seja o uso de alguma biblioteca desse tipo e o ensino de TDD.
Um abraço