附录C 贡献

《信息管理专业Python教程》贡献者名单

Bruce Shields审阅了早期书稿,Sarah Hegge, Steven Cherry, Sarah Kathleen Barbarow, Andrea Parker, Radaphat Chongthammakun, Megan Hixon, Kirby Urner, Sarah Kathleen Barbrow, Katie Kujala, Noah Botimer, Emily Alinder, Mark Thompson-Kular, James Perry, Eric Hofer, Eytan Adar, Peter Robinson, Deborah J. Nelson, Jonathan C. Anthony, Eden Rassette, Jeannette Schroeder, Justin Feezell, Chuanqi Li, Gerald Gordinier, Gavin Thomas Strassel, Ryan Clement, Alissa Talley, Caitlin Holman, Yong-Mi Kim, Karen Stover, Cherie Edmonds, Maria Seiferle, Romer Kristi D. Aranas (RK), Grant Boyer, Hedemarrie Dussan,

《思考Python》序

《思考Python》怪史

(Allen B. Downey)

1999年1月我准备讲授一门Java编程入门课程。我已经讲过三遍,但令我很沮丧。课程的失败比例太高,即便是成功的学生也感觉不好,整体的成就感非常低。

我认为问题之一是教材。它们都是大部头,介绍了太多不必要的Java细节,并没有给出足够多的如何编程的高水平的引导。学生都体验到陷阱门效应:他们一开始觉得容易,循序渐进,然后到第五章左右就脱队了。学生得到很多新内容、进度太快了,我得用学期剩下的时间收拾残局。

在第一次课之前的两周时间,我决定写一本我自己的书。我的目标是:

  • 保持简短。学生读10页比读50页的效果要好。
  • 谨慎使用术语词汇。我尽量少用行话,在第一次使用每个术语进行定义。
  • 循序渐进。为避免陷阱门,我将最困难的主题分解成一系列小的步骤。
  • 专注于编程,而不是编程语言。我只讲解Java有用的最小子集,其他不涉及。

我需要一个书名,一时兴起,想出了《像计算机科学家一样思考》这么一个名字。第一个版本非常粗糙,但是起作用了。学生真得读进去了,他们能充分理解我在课堂上花时间讲授的复杂主题,有趣的主题和最重要的部分留给他们下去练习。

我使用GNU自由文档许可发布这本书,允许用户复制、修改和分发这本书。

接下来发生的事情是最酷的部分。一位弗吉尼亚州的高中老师Jeff Elkner改编了我的书,把它改编成Python语言。他发给我一份译稿,我通过阅读自己的书来学习Python,这是多么不寻常的体验啊。

Jeff和我修订了这本书,加入了Chris Meyers的一个案例研究。2001年我们还是以GNU自由文档协议发布了《像计算机科学家一样思考:学习Python》。通过绿茶出版社,我出版了这本书,开始在Amazon.com和大学书店出售纸质书。绿茶出版社出版的其他书籍详见http://greenteapress.com

2003年我开始在奥林学院教书,第一次讲授Python。与Java的对比是惊人的。学生挣扎更少,学到更多,开发了更多有趣的项目,总体而言乐趣更多。

在过去5年里,我不断修订这本书,纠错和改进一些示例,增加内容,特别是练习。2008年我开始了一个重大版本修订,与此同时剑桥大学出版社一位编辑联系我,对出版此书新版表达出兴趣。多好的时机!

我希望你能喜欢本书,它能帮助你学习编程与思考,至少有那么一点点像计算机科学家。

《思考Python》致谢

(Allen B. Downey)

首先也是最重要的,我要感谢Jeff Elkner,他将我的Java书翻译成Python版本,促使这个项目得以启动,也让我转到了自己最喜欢的语言。

我也要感谢Chris Meyers, 他贡献了《像计算机科学家一样思考》的若干节内容。

我要感谢自由软件基金会提出的GNU自由文档许可协议,这让我与Jeff和Chris共事成为可能。

我还要感谢《像计算机科学家一样思考》的Lulu网责任编辑。

我要感谢所有参与到本书早期版本编写的学生,所有提交勘误与建议的贡献者名字显示在附录中。

我要感谢我的妻子Lisa为本书的付出,还有绿茶出版社和其他所有提供帮助的人。

Allen B. Downey Needham MA

Allen Downey是富兰克林.奥林工程学院计算机科学副教授。

《思考Python》贡献者名单

在过去几年间,有100多位眼光敏锐、有想法的读者给出建议和提交勘误。他们对这个项目的贡献与热情,成为最大的帮助。

每个人的贡献细节参见《思考Python》正文。

Lloyd Hugh Allen, Yvon Boulianne, Fred Bremmer, Jonah Cohen, Michael Conlon, Benoit Girard, Courtney Gleason and Katherine Smith, Lee Harr, James Kaylin, David Kershaw, Eddie Lam, Man-Yong Lee, David Mayo, Chris McAloon, Matthew J. Moelter, Simon Dicon Montford, John Ouzts, Kevin Parks, David Pool, Michael Schmitt, Robin Shaw, Paul Sleigh, Craig T. Snydal, Ian Thomas, Keith Verheyden, Peter Winstanley, Chris Wrobel, Moshe Zadka, Christoph Zwerschke, James Mayer, Hayden McAfee, Angel Arnal, Tauhidul Hoque and Lex Berezhny, Dr. Michele Alzetta, Andy Mitchell, Kalin Harvey, Christopher P. Smith, David Hutchins, Gregor Lingl, Julie Peters, Florin Oprina, D. J. Webre, Ken, Ivo Wever, Curtis Yanko, Ben Logan, Jason Armstrong, Louis Cordier, Brian Cain, Rob Black, Jean-Philippe Rey at Ecole Centrale Paris, Jason Mader at George Washington University made a number Jan Gundtofte-Bruun, Abel David and Alexis Dinno, Charles Thayer, Roger Sperberg, Sam Bull, Andrew Cheung, C. Corey Capel, Alessandra, Wim Champagne, Douglas Wright, Jared Spindor, Lin Peiheng, Ray Hagtvedt, Torsten Hübsch, Inga Petuhhov, Arne Babenhauserheide, Mark E. Casida, Scott Tyler, Gordon Shephard, Andrew Turner, Adam Hobart, Daryl Hammond and Sarah Zimmerman, George Sass, Brian Bingham, Leah Engelbert-Fenton, Joe Funke, Chao-chao Chen, Jeff Paine, Lubos Pintes, Gregg Lind and Abigail Heithoff, Max Hailperin, Chotipat Pornavalai, Stanislaw Antol, Eric Pashman, Miguel Azevedo, Jianhua Liu, Nick King, Martin Zuther, Adam Zimmerman, Ratnakar Tiwari, Anurag Goel, Kelli Kratzer, Mark Griffiths, Roydan Ongie, Patryk Wolowiec, Mark Chonofsky, Russell Coleman, Wei Huang, Karen Barber, Nam Nguyen, Stéphane Morin, and Paul Stoop.