12.07.2015 Views

Think Python - Denison University

Think Python - Denison University

Think Python - Denison University

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

PrefaceThe strangehistoryof thisbookIn January 1999 I was preparing to teach an introductory programming class in Java. I had taughtit three times and I was getting frustrated. The failure rate in the class was too high and, even forstudents who succeeded, the overall level of achievement was too low.OneoftheproblemsIsawwasthebooks. Theyweretoobig,withtoomuchunnecessarydetailaboutJava,andnotenoughhigh-levelguidanceabouthowtoprogram. Andtheyallsufferedfromthetrapdooreffect: theywouldstartouteasy,proceedgradually,andthensomewherearoundChapter5thebottom would fall out. The students would get too much new material, too fast, and I would spendtherest ofthe semester picking up thepieces.Two weeks before thefirst day of classes,Idecided towritemy own book. Mygoals were:• Keep itshort. Itisbetter for students toread 10 pages than not read 50 pages.• Be careful withvocabulary. I triedtominimize the jargon and define each termat firstuse.• Build gradually. To avoid trap doors, I took the most difficult topics and split them into aseries ofsmall steps.• Focusonprogramming,nottheprogramminglanguage. Iincludedtheminimumusefulsubsetof Java and left out the rest.Ineeded atitle,soon awhim I chose How to<strong>Think</strong> Like aComputer Scientist.My first version was rough, but it worked. Students did the reading, and they understood enoughthat I could spend class time on the hard topics, the interesting topics and (most important) lettingthestudents practice.IreleasedthebookundertheGNUFreeDocumentationLicense,whichallowsuserstocopy,modify,and distributethebook.Whathappenednextisthecoolpart. JeffElkner,ahighschoolteacherinVirginia,adoptedmybookandtranslateditinto<strong>Python</strong>. Hesentmeacopyofhistranslation,andIhadtheunusualexperienceof learning <strong>Python</strong> by reading myown book.Jeff and I revised the book, incorporated a case study by Chris Meyers, and in 2001 we releasedHow to <strong>Think</strong> Like a Computer Scientist: Learning with <strong>Python</strong>, also under the GNU Free DocumentationLicense. As Green Tea Press, I published the book and started selling hard copiesthrough Amazon.com and college book stores. Other books from Green Tea Press are available atgreenteapress.com.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!