MetaProblem: The set of all problems that make up a single problem-- the one you have to solve. The MetaProblem, for instance, could be "Allow any arbitrary script in any language(PythonLanguage, PerlLanguage, &c) to execute and be executed by the ObjectiveCeeRuntime as ObjectiveCee code". Big! But... this problem is easily factored into: * Implement a generic interface to the runtime. * Implement a parser to read in scripts. The first of which can be factored into: * Implement an API for calling of methods of ObjectiveCee objects * Implement an API for addition of new methods to the runtime * Implement an API for addition of classes to the runtime And so on. None of these new problems is especially daunting. Thus, a scary MetaProblem is reduced into tiny little problems that can be easily solved. This is the foundation, I would argue, of all applied learning. We don't learn how to solve new MetaProblem''''''s: we learn how to break MetaProblem''''''s into known problems, and fix them. When I was helping to teach little kids(1st-4th grade) at an accelerated math course, I was constantly harping on how the "new" material was really just old material put together--especially with fractions arithmetic. Similarly to how compositions of simple objects or combinations of simple rules can produce interesting results, any non-primitive mathematical or algorithmic problem is just a bunch of smaller problems in disguise. "Prove that the sum of the lengths of the two legs of a right triangle squared is equal to the length of the hypoteneuse squared" is a collection of problems solved by the individual lines of the proof. The only "new" knowledge needed is how to break the MetaProblem into normal problems. The tools and heuristics for gaining that knowledge, then, are the ones that we develop as we program. What's a good name for the MetaProblem-solving skill? That's what I think, at least. This sort of thing is common sense, one might say, but it's good to take note of. Contrast with MeatProblem(A joke, but if someone wants to carry it on...). -- JoeOsborn This sounds like a TopDown approach, but perhaps the MetaProblem is more interesting than (an) approach used to solve it? -- MatthewAstley Noted, and reflected in the above text. -- JoeOsborn ---- This isn't really a ''meta'' problem - that would be a problem about problems. It's really a ''super''problem. Maybe. ''You caught me. The metaproblem might be 'how do we solve problems?'. Agreed?--JoeOsborn''