Six Learning Barriers in End-User Programming Systems http://www.cs.cmu.edu/~ajko/LearningBarriers.pdf
學(xué)習(xí)在傳統(tǒng)上被認(rèn)為是人類特有的活動(dòng), 怎樣降低學(xué)習(xí)的難度一直是理論上非常令人迷惑的問題, 同時(shí)它也是人類所面臨的最大的實(shí)際困難之一. 在軟件的世界中, 關(guān)于學(xué)習(xí)的研究也是一個(gè)非常重要的領(lǐng)域, 例如所謂的可用性(usability)和用戶友好設(shè)計(jì),其核心問題就是如何降低用戶學(xué)習(xí)的難度. 我們目前的了解多半是一些經(jīng)驗(yàn)的總結(jié),例如Pane所總結(jié)的,
. 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等人作了更加嚴(yán)謹(jǐn)一些的研究, 試圖對(duì)Learning Barriers作出一個(gè)基本的分類(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的障礙體現(xiàn)了所謂的gulf of execution(the difference between users' intensions and the available actions), understanding的障礙則體現(xiàn)了所謂的gulf of evaluation(the effort of deciding if expectation have been met), 而selection和information的障礙則同時(shí)體現(xiàn)了gulf of execution和gulf of evaluation.
關(guān)于以上分類的一件有趣的事情是它們之間的相互關(guān)系, 經(jīng)常出現(xiàn)的情況是我們通過一些不正確的假定(invalid assumption)暫時(shí)克服了當(dāng)前的困難,但是很快又遇上了其他不可克服的困難. 例如design barrier經(jīng)常導(dǎo)向seletion barrier, 而coordination barrier和use barrier經(jīng)常導(dǎo)向understanding barrier.
對(duì)于如何克服這些學(xué)習(xí)上的障礙, Andrew J.Ko等人通過Factory的隱喻,提出了一些具體的建議, 但是實(shí)用意義不是很大.
學(xué)習(xí)在傳統(tǒng)上被認(rèn)為是人類特有的活動(dòng), 怎樣降低學(xué)習(xí)的難度一直是理論上非常令人迷惑的問題, 同時(shí)它也是人類所面臨的最大的實(shí)際困難之一. 在軟件的世界中, 關(guān)于學(xué)習(xí)的研究也是一個(gè)非常重要的領(lǐng)域, 例如所謂的可用性(usability)和用戶友好設(shè)計(jì),其核心問題就是如何降低用戶學(xué)習(xí)的難度. 我們目前的了解多半是一些經(jīng)驗(yàn)的總結(jié),例如Pane所總結(jié)的,
. 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等人作了更加嚴(yán)謹(jǐn)一些的研究, 試圖對(duì)Learning Barriers作出一個(gè)基本的分類(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的障礙體現(xiàn)了所謂的gulf of execution(the difference between users' intensions and the available actions), understanding的障礙則體現(xiàn)了所謂的gulf of evaluation(the effort of deciding if expectation have been met), 而selection和information的障礙則同時(shí)體現(xiàn)了gulf of execution和gulf of evaluation.
關(guān)于以上分類的一件有趣的事情是它們之間的相互關(guān)系, 經(jīng)常出現(xiàn)的情況是我們通過一些不正確的假定(invalid assumption)暫時(shí)克服了當(dāng)前的困難,但是很快又遇上了其他不可克服的困難. 例如design barrier經(jīng)常導(dǎo)向seletion barrier, 而coordination barrier和use barrier經(jīng)常導(dǎo)向understanding barrier.
對(duì)于如何克服這些學(xué)習(xí)上的障礙, Andrew J.Ko等人通過Factory的隱喻,提出了一些具體的建議, 但是實(shí)用意義不是很大.