How to Think Like a Computer Scientist

Learning with Python

by Allen B. Downey, Jeffrey Elkner and Chris Meyers

Table of Contents
Foreword
Preface
Contributor List
Chapter 1: The way of the program
Chapter 2: Variables, expressions, and statements
Chapter 3: Functions
Chapter 4: Conditionals and recursion
Chapter 5: Fruitful functions
Chapter 6: Iteration
Chapter 7: Strings
Chapter 8: Lists
Chapter 9: Tuples
Chapter 10: Dictionaries
Chapter 11: Files and exceptions
Chapter 12: Classes and objects
Chapter 13: Classes and functions
Chapter 14: Methods
Chapter 15: Sets of objects
Chapter 16: Inheritance
Chapter 17: Linked Lists
Chapter 18: Stacks
Chapter 19: Queues and priority queues
Chapter 20: Trees
Appendix A: Debugging
Appendix B: Creating a new datatype
Appendix C: Complete Python listings
Appendix D: Recommendations for further reading
GNU Free Document License
Index


download a gzipped tar file
of the LaTeX source here