Six Learning Barriers in End-User Programming Systems
http://www.cs.cmu.edu/~ajko/LearningBarriers.pdf
學習在傳統上被認為是人類特有的活動, 怎樣降低學習的難度一直是理論上非常令人迷惑的問題, 同時它也是人類所面臨的最大的實際困難之一.
在軟件的世界中, 關于學習的研究也是一個非常重要的領域,
例如所謂的可用性(usability)和用戶友好設計,其核心問題就是如何降低用戶學習的難度.
我們目前的了解多半是一些經驗的總結,例如Pane所總結的,
. Use signaling to highlight important information.
. Support incremental testing and feedback.
. Choose an appropriate computational metaphor.
. Help detect, diagnose, and recover from errors.
. Provide guiding knowledge through online help.
. Support recognition rather than recall.
Andrew J. Ko等人作了更加嚴謹一些的研究, 試圖對Learning Barriers作出一個基本的分類(classification),
1. Design barriers: I don't know what I want the computer to do, 需要mapping a desired program behavior to an
abstract description of a solution.
2.
Selection barriers: I think I know what I want the computer to do, but
I don't know what to use, 需要mapping a behavior to appropriate search
terms for use in help or web search engines, and interpreting the
relevance of the results.
3. Coordination barriers : I think I know
what things to use, but I don't know how to make them work together,
需要mapping a desired behavior to a computational pattern that obeys
“invisible rules."
4. Use barriers: I think I know what to use, but I don't know how to use it, 需要mapping a desired behavior to a
programming interface’s available parameters.
5.
Understatnding barriers: I thougtht I knew how to use this, but it
didn't do what I expected, 需要interpreting the external behavior of a
program to determine what it accomplished at runtime
6. Information
barriers: I think I know why it didn't do what I expected, but I don't
know how to check,需要mapping a hypothesis about a
program to the environment’s available tools, and interpreting the tool’s feedback.
其中design, coordination和use的障礙體現了所謂的gulf of execution(the difference
between users' intensions and the available actions),
understanding的障礙則體現了所謂的gulf of evaluation(the effort of deciding if
expectation have been met), 而selection和information的障礙則同時體現了gulf of
execution和gulf of evaluation.
關于以上分類的一件有趣的事情是它們之間的相互關系,
經常出現的情況是我們通過一些不正確的假定(invalid assumption)暫時克服了當前的困難,但是很快又遇上了其他不可克服的困難.
例如design barrier經常導向seletion barrier, 而coordination barrier和use
barrier經常導向understanding barrier.
對于如何克服這些學習上的障礙, Andrew J.Ko等人通過Factory的隱喻,提出了一些具體的建議, 但是實用意義不是很大.