Levels Of Understanding

Visualize concepts of depth and width of knowledge by visualizing knowledge as a stacked bar chart where the width of knowledge becomes the width of the chart and the depth the height of each bar. Each bar within this chart identifies specific items of knowledge, experience, practical application, education and research a person has. The stacks in each bar are visualized as a base line of item knowledge colored in red, average as yellow, above average in green and lifes research in blue. Utilizing your personal visual chart when interfacing with others allows you to place your own level of understanding with each stacked bar item covered during communications with others. By identifying knowledge item benchmarks for each knowledge item, at each of the defined stacks and pinging others with questions surrounding the specific level, not only allows you to view others level of understanding but promotes a comparison of visual bar stacks. Once level comparisons have been complete, either coaching or learning opportunities abound. Executing these opportunities depends on whether you want an even knowledge playing field or not.

I question the usefulness of this, because people are often unable to recognize their own incompetence (http://www.apa.org/journals/psp/psp7761121.html). Oftentimes, levels below one's current level of understanding appear obvious, but levels above it don't necessarily seem like something to work towards. Instead, advanced knowledge often seems simply "weird", something incomprehensible and irrelevant.

We see ample examples of this on Wiki. Certain TableOrientedProgramming fans find OO counterintuitive, unnecessary, and generally "weird", and hence write it off as ReinventingTheDatabaseInApplication despite the advice of many more-knowledgeable programmers. Their opponents see TableOrientedProgramming as counterintuitive, unnecessary, and generally "weird", and hence write it off as the ravings of an incompetent lunatic. And a certain non-technical pest continues to insist that his ideas are new and revolutionary, even though they represent only the most basic examples of elementary programming.

The SmugLispWeenies have a name for this: BlubParadox. To someone steeped in CeePlusPlus or JavaLanguage, Lisp seems foreign and incomprehensible, with LotsofIrritatingSillyParentheses and strange concepts like binding vs. assignment, DynamicTyping, LispMacros, LexicalClosures, and error handlers that don't automatically unwind the stack. They don't realize the power that these features give, and see only the cognitive load to learn them. SmugLispWeenies are just as guilty of this as anyone else: many of them look at HaskellLanguage and say, "It's just a weird academic language. CL is used for real production systems", not realizing how LazyEvaluation and first-class everything eliminate most of the need for macros. And they overlook some of the advantages that Java or ErlangLanguage might have over Lisp - like in concurrency, library support, or internationalization.

Developmental psychologists speak of "scaffolding" and the "zone of proximal development." Basically, you can only comprehend material that's one level removed from your current level. Any higher than that, and it looks like Greek. Any lower, and you've so internalized the knowledge that it's automatic and hence very difficult to teach, unless you have a really good long-term memory. That's why many courses - and most of the school system - are structured in spirals, where you revisit each topic in more detail later on. -- JonathanTang

See also KnowledgeCapture KnowledgeAwareness?

View edit of July 24, 2010 or FindPage with title or text search