This document summarizes Chapter 2 from the textbook "An Introduction to Programming with C++". The chapter discusses the problem-solving process for creating computer programs, including analyzing problems, planning algorithms with pseudocode and flowcharts, and desk-checking algorithms. It provides examples of analyzing a problem about calculating costs, planning algorithms to solve it, and desk-checking the algorithms by manually working through sample problems and checking the outputs.