What can be automated?

We want to know when a computer will be a useful tool, how to solve problems using a computer, how to evaluate the quality of our solutions, and how to establish confidence in the correctness of solutions. Computer science begins with efforts to answer these four questions.

  1. For what kinds of questions can I write a program that will produce the answers?
  2. Given a question for which I can write programs that will produce the answer, how do I write the program?
  3. If we ask several people to write programs that solve a given problem and let them work independently, we should expect our programmers to deliver non-identical software. Given several programs that produce the answer for the same question, how do I select the best program?
  4. If I am given a program, how can I be sure that the program solves exactly the problem we set out to solve.




Leave a Reply