How To Think Like A Computer Scientist

Learning with C++

by Allen B. Downey

Table of Contents
Contributor List
Chapter 1: The way of the program
Chapter 2: Variables and types
Chapter 3: Function
Chapter 4: Conditionals and recursion
Chapter 5: Fruitful functions
Chapter 6: Iteration
Chapter 7: Strings and things
Chapter 8: Structures
Chapter 9: More structures
Chapter 10: Vectors
Chapter 11: Member functions
Chapter 12: Vectors of objects
Chapter 13: Objects of vectors
Chapter 14: Classes and invariants
Chapter 15: Object-oriented programming
Chapter 16: Pointers and references
Chapter 17: Templates
Chapter 18: Linked lists
Chapter 19: Stacks
Chapter 20: Queues and priority queues
Chapter 21: Trees
Chapter 22: Heap
Chapter 23: File input/output and matrices
Appendix: Gnu free documentation license