Book contents
- Frontmatter
- Contents
- Preface
- Python for Software Design
- 1 The Way of the Program
- 2 Variables, Expressions, and Statements
- 3 Functions
- 4 Case Study: Interface Design
- 5 Conditionals and Recursion
- 6 Fruitful Functions
- 7 Iteration
- 8 Strings
- 9 Case Study: Word Play
- 10 Lists
- 11 Dictionaries
- 12 Tuples
- 13 Case Study: Data Structure Selection
- 14 Files
- 15 Classes and Objects
- 16 Classes and Functions
- 17 Classes and Methods
- 18 Inheritance
- 19 Case Study: Tkinter
- Appendix
- Index
Preface
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Python for Software Design
- 1 The Way of the Program
- 2 Variables, Expressions, and Statements
- 3 Functions
- 4 Case Study: Interface Design
- 5 Conditionals and Recursion
- 6 Fruitful Functions
- 7 Iteration
- 8 Strings
- 9 Case Study: Word Play
- 10 Lists
- 11 Dictionaries
- 12 Tuples
- 13 Case Study: Data Structure Selection
- 14 Files
- 15 Classes and Objects
- 16 Classes and Functions
- 17 Classes and Methods
- 18 Inheritance
- 19 Case Study: Tkinter
- Appendix
- Index
Summary
THE STRANGE HISTORY OF THIS BOOK
In January 1999, I was preparing to teach an introductory programming class in Java. I had taught it three times and I was getting frustrated. The failure rate in the class was too high, and, even for students who succeeded, the overall level of achievement was too low.
One of the problems I saw was the books. I had tried three different books (and had read a dozen more), and they all had the same problems. They were too big, with too much unnecessary detail about Java and not enough high-level guidance about how to program. And they all suffered from the trap door effect: they would start out easy, proceed gradually, and then somewhere around Chapter 4 the bottom would fall out. The students would get too much new material, too fast, and I would spend the rest of the semester picking up the pieces.
Two weeks before the first day of classes, I decided to write my own book. I wrote one 10-page chapter a day for 13 days. I made some revisions on Day 14 and then sent it out to be photocopied.
My goals were:
Keep it short. It is better for students to read 10 pages than not read 50 pages.
Be careful with vocabulary. I tried to minimize the jargon and define each term at first use.
[…]
- Type
- Chapter
- Information
- Python for Software DesignHow to Think Like a Computer Scientist, pp. xi - xviPublisher: Cambridge University PressPrint publication year: 2009