How To Think Like A Computer Scientist<br>Learning with C++<br>by Allen B. Downey<br><br>Table of Contents <br>Contributor List <br>Chapter 1: The way of the program <br>Chapter 2: Variables and types <br>Chapter 3: Function <br>Chapter 4: Conditionals and recursion <br>Chapter 5: Fruitful functions <br>Chapter 6: Iteration <br>Chapter 7: Strings and things <br>Chapter 8: Structures <br>Chapter 9: More structures <br>Chapter 10: Vectors <br>Chapter 11: Member functions <br>Chapter 12: Vectors of Objects <br>Chapter 13: Objects of Vectors <br>Chapter 14: Classes and invariants <br>Chapter 15: Object-oriented programming <br>Chapter 16: Pointers and References <br>Chapter 17: Templates <br>Chapter 18: Linked lists <br>Chapter 19: Stacks <br>Chapter 20: Queues and Priority Queues <br>Chapter 21: Trees <br>Chapter 22: Heap <br>Chapter 23: File Input/Output and pmatrices <br>Appendix A: Quick reference for pclasses <br>Index