How to Think Like a Computer Scientist

Python Version

by Allen Downey, Jeffrey Elkner and Chris Meyers

Table of Contents
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: Classes and methods
Chapter 15: Sets of objects
Chapter 16: Inheritance
Chapter 17: Linked lists
Chapter 18: Stacks
Chapter 19: Queues
Chapter 20: Trees
Appendix A: Debugging
Appendix B: Creating a new data type
Appendix D: Recommendations for further reading