Programming by Design#
Programming by Design is a connected two-book path through introductory C++ programming. The series is designed for a CS1-to-CS2 sequence using C++17 as a stable teaching baseline.
The current course syllabus and applicable CSN or college policy take precedence over anything on this website or in textbook-related material.
Books in the series#
Think Before Coding develops structured problem solving from first programs through a complete CS1 project. Own the Design continues through classes, ownership, abstract data types, linked structures, and a complete CS2 project.
The books emphasize problem analysis, tracing, testing, documentation, and explainable design rather than isolated syntax.
Leanpub is the first public distribution channel for the books, not the final or exclusive authority on editions. Print editions are planned, and additional distribution details will be added as they become available.
Public appendices#
The appendices are shared across the series. They hold common reference material that belongs with both books, including future print editions, without duplicating the same content in two places.
Use these PDF appendix files as the public reference copies for Think Before Coding. The appendices are listed separately so they can be updated without requiring readers to download the complete book again.
- Appendix A: Development Environment and Workflow
- Appendix B: Code Style, Documentation, and Quality Tools
- Appendix C: Debugging and Error Handling
- Appendix D: Testing with Catch2
- Appendix E: C++17 Quick Reference
- Appendix F: Computer Organization and Memory
- Appendix G: Containers, Iterators, and Algorithms
- Appendix H: Curriculum and Assessment Alignment