
An algorithmic view of nature, social interaction, and life itself can be
incredibly valuable. Ranging from the mundane to the complex, many of
life’s essential activities involve following a sequence of simple and discrete
steps to solve some larger problem. Baking a dozen cookies, tying
a Windsor knot, developing a business plan, diagnosing an illness, and
designing a commercial jumbo jet are examples of processes that require
algorithmic thinking to complete.
Perhaps more than any other discipline, computer science has given
deep thought to algorithmic thinking and has developed highly refined
ways of describing and interpreting complex processes. This chapter
describes actions, sequences of actions, conditional actions, repeated actions, and how to reduce complexity by decomposing large problems
into smaller units.