As programs become more complex, programmers must structure their programs in such a way as to effectivelymanage their complexity. Most humans have a difficult time keeping track of too many pieces ofinformation at one time. It is easy to become bogged down in the details of a complex problem. The trick tomanaging complexity is to break down the problem into more manageable pieces. Each piece has its owndetails that must be addressed, but these details are hidden as much as possible within that piece. Thesepieces assemble to form the problem’s complete solution