Top-down design is about starting with our problem at the highest level and then breaking it down into smaller pieces, bit by bit, until we have smaller problems that are much more easily solvable.
Not only useful for coding, but life's worries as well...