Tradução: Guilherme S. Silva
Em janeiro de 1999 eu me preparava para ensinar uma aula de introdução à programação em Java. Por três vezes já havia ministrado este curso e sempre me sentia frustrado. A taxa de reprovação nas turmas era muito alta e, mesmo entre os alunos aprovados, a nível geral de satisfação era muito baixo.
Um dos problemas estava nos livros adotados. Eles eram muito extensos, com excesso de detalhes sobre Java, e não cobriam com a orientação suficiente e de bom nível sobre como programar. E todos eles caiam na armadilha de começar de modo fácil e ir aumentando o nível de dificuldade gradualmente até que, em torno do capítulo 4, o conteúdo já estava complexo demais e os alunos começavam a desistir. Eles se sentiam sobrecarregados com o material novo e eu passava o resto do semestre tentando remediar a situação.
Duas semanas antes do primeiro dia de aula decidi escrever meu próprio livro. Meus objetivos eram:
Para o título pensei em How to Think Like a Computer Scientist (Pensando como um cientista da computação).
A primeira versão ficou um tanto grosseira mas atingiu os objetivos. Os alunos leram e entenderam o suficiente para que eu dedicasse o tempo em sala de aula para os temas mais difíceis, os tópicos interessantes e (o que era mais importante), deixando que os alunos praticassem.
Lancei o livro sob a GNU Free Documentation License, que permite aos usuários copiar, modificar e distribuir o livro.
O que aconteceu depois é a parte mais curiosa. Jeff Elkner, um professor do nível médio na Virgínia, adotou meu livro e o traduziu para Python. Ele me mandou uma cópia da sua versão o que fez com que eu passasse pela experiência incomum de aprender Python lendo meu próprio livro.
Jeff e eu revisimos o texto e incluimos um estudo de caso realizado por Chris Meyers, e em 2001 lançamos Como pensar como um cientista da computação: Aprendendo com Python, também sob a GNU Free Documentation Licence. O livro foi publicado pela Green Tea Press e começamos a vender cópias em papel através da Amazon.com e livrarias da Universidades. Outros livros da Green Tea Press estão disponíveis no greenteapress.com.
Em 2003 comecei a lecionar na Olin College, onde tive que ensinar Python pela primeira vez. O contraste com o Java foi impressionante. Os estudantes tiveram que se esforçar menos, aprenderam mais, apresentaram projetos mais interessantes e, principalmente, se divertiram.
Nos últimos cinco anos continuei a desenvolver o livro, corrigindo erros, melhorando algunss exemplos e acrescentado material, especialmente exercícios. Em 2008 comecei a fazer uma grande revisão geral do livro, ao mesmo tempo em que fui contactado por um editor em Cambridge University Press, interessado em publicar uma próxima edição. Feliz coincidência!
O resultado é o presente livro. Algumas das alterações são:
Eu espero que você aprecie ler e trabalhar com este livro, e que possa com ele aprender a programar e pensar, pelo menos um pouco, como um cientista da computação.
Os agradecimentos do autor e a lista de todos os que contribuiram para o aperfeiçoamento do livro pode ser lida no site Open Book Project.
Enquanto preparava a tradução deste livro encontrei a mesma obra já traduzida, embora não tenha sido advertido disto pelo autor, Allen B. Downey. Como a tradução está bem feita simplesmente recomendo que os leitores a visitem em Pensando como um cientista da computação, tradução de Francisco Souza.