Tradução: Guilherme S. Silva
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.
Prefácio
A estranha história deste livro
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:
- Manter o livro curto. É melhor que os alunos leiam 10 páginas do que fiquem sem ler 50.
- Ter cuidado com o vocabulário. Tentei minimizar o uso do jargão e apresentar a definição de cada termo na primeira utilização.
- Construir o conhecimento gradualmente. Para evitar armadilhas dividi os temas mais difíceis em uma série de pequenos passos.
- Focar na programação, e não na linguagem escolhida. Incluí o subconjunto útil mínimo de Java e deixei o resto de fora.
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:
- Acrescentei uma seção sobre a depuração no final de cada capítulo. Essas seções apresentam técnicas gerais para encontrar e evitar mensagens de erros e advertências de Python.
- retirei o material nos últimos capítulos sobre a implementação de listas e árvores. Por mais fascinantes que sejam estes tópicos, julguei que estavam fora de contexto em relação ao restso do livro.
- Adicionei exercícios, que vão desde testes curtos de entendimento até alguns projetos maiores.
- Adicionei uma série de estudos de caso - exemplos mais longos com exercícios, soluções e discussão. Alguns deles são baseados em Swampy, um conjunto de programas em Python que escrevi para o uso em minhas aulas. Swampy, exemplos de código e algumas soluções estão disponíveis a em thinkpython.com.
- Ampliei a discussão dos planos de desenvolvimento de programa e padrões básicos de projetos.
- O uso de Python é mais idiomático. Embora o livro ainda seja sobre a programação, e não sobre a linguagem Python, agora acredito que ele alcança um nível mais elevado devido à linguagem escolhida.
Agradecimentos
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.Capítulos:
- O caminho da programação
- Variáveis, expressões e declarações
- Funções em Python
- Estudo de caso: design de interfaces
Nenhum comentário:
Postar um comentário