How to Think Like a Computer Scientist¶
Learning with C++¶
2nd Edition
by Allen B. Downey, Jeffrey Elkner, and Paul Bui
illustrated by Natalia Cerna
Last Updated: 5 January 2024
Chapter 1 The way of the program
Chapter 2 Variables and types
Chapter 3 Functions
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 Pointers and arrays
Chapter 12 Member functions
Chapter 13 Vectors of objects
Chapter 14 Objects of vectors
Chapter 15 Classes and invarients
Chapter 16 Extending classes
Chapter 17 Vectors of vectors
Chapter 18 Reusing classes
Chapter 19 Advanced topics
Chapter 20 Linked lists
Chapter 21 Stacks
Chapter 22 Queues and priority queues
Chapter 23 Trees
Chapter 24 Heaps
Appendix A Code source
Appendix B Debugging
Appendix C Setting up a development environment
Appendix D Customizing and contributing to the book