Chapter 2 review. Are the following statements true or false? Explain why or why not.

a) "Elementary, my dear Watson," alludes to Holmes' analytical approach to problem solving.
True. a mysterious solution proves elementary when Holmes explains the analytical steps he has taken.

b) Hacking is a common but not a recommended problem solving strategy for novices.
True. Blind hacking is a slow and cumbersome way to program and produces awkward programs.

c) Analogical reasoning involves breaking a problem down into smaller problems.
False. That's analytical reasoning--analogical reasoning exploits similarities. 

d) A recipe is analogous to a well-defined solution to a problem.
True. It tells precisely how to achieve the desired goal (the dish to be prepared). 

e) Sentences and programs are both essentially sequential structures.
False. Although they have a sequential appearance, they both have underlying non-sequential structures. 

f) Famous detectives and expert hackers ignore considering the givens and goals of a problem.
False. Understanding the givens and goals is essential for good problem solving. 

g) Turing kept the resources of Turing machines in his head.
False. The resources of a Turing machine were made explicit--move, read, write, etc. 

h) The resources of Knobby's World are its walls and characters.
False. These are the givens--the resources are the moves Knobby can make. 

i) The givens of Knobby's World are defined in its situation file.
True. The situation file shows the givens--the walls and characters. 

j) Real world problems usually start out well-defined.
False. Making the definition clear is a crucial first step in problem solving. 

k) A "blinder" effect can cause us to miss important givens, goals or resources of a problem.
True. The "blinder" effect keeps us focused on the familiar, thus overlooking important novel features of a problem. 

l) Preliminary analysis begins the implementation of a program.
True. After perhaps a few earlier orientation questions, preliminary analysis is a crucial early step in problem solving.

m) In the fox-goose-corn problem, the location of the boat is a variant, accounted for in our notation.
False. Though the boat moves from shore to shore, it's always on the same side of the river as you (the rower), thus it requires no additional notation. 

n) A blind hacking approach can get "blind-sided" by a combinatorial explosion.
True. Although the fox-corn-goose program is a relatively simple case, it's easy to find much more complicated ones. 

o) Informed hacking relies on knowledge of a problem domain to get through a problem space.
True. Informed hackers know the characteristics of the problem space well--that's why it's called "informed hacking." 

p) Interacting sub-goals is something that only happens in toy, "blocks world" problems.
False. Think of scheduling classes, for instance. 

q) Decomposition is an excellent way to tackle problems about which one has little knowledge.
True. Thinking about the parts of a problem is an easy way to understand it better. 

r) Analogical problem solving is just copying an old solution, as is, into a new problem.
False. There are often important differences to take into account. 

s) Object-oriented programming combines analogical and bottom-up problem solving strategies.
True. Object-oriented approaches emphasize reusing standard task "packages" in similar situations. 

t) The first task of object-oriented problem solving is decomposing down to primitive actions.
False . Object-oriented programming is a form of analogical problem solving, seeking to reuse or extend existing classes or components. 

v) A Knobby program must have one main instruction, appearing at the top of the program.
False. A Knobby program must have one (and only one) main instruction, and the main instruction must appear at the bottom of the program, after defining any other instructions.

x) Knobby keeps some handy, reusable instructions for composition of programs in his head.
False. His head can only store up to two characters, in its "blackboards". But you can load reusable instructions in Knobby's World programs.