ABSTRACT

Computers are universal machines that can be programmed to perform almost any task. The stages of computer automation are conceptualization, algorithm design, program design, and program implementation. In other words, programmers must devise solution strategies, implement algorithms, and write program code to achieve the desired results. Finding good algorithms to automate problem solution is at the center of modern computing. There are many good techniques including, brute-force iteration, chipping away, recursion, top-down divide and conquer, bottom-up building blocks, tree traversal, backtracking, and others. When trying to solve a problem, this chapter considers top-down as well as bottom-up thinking. Top-down problem solving involves taking a big and complicated problem and breaking it down into several smaller subproblems. Each subproblem can either be solved directly or be broken down further. When all the subproblems are solved, the big problem is finished.