认知导师:经验教训
Cognitive Tutors: Lessons Learned | John R. Anderson, Albert T. Corbett, Kenneth R. Koedinger, Ray Pelletier(卡内基-梅隆大学)| The Journal of the Learning Sciences, 4(2), 167–207, 1995
摘要:本文回顾了以高级计算机辅导(advanced computer tutoring, ACT)理论(J. R. Anderson, 1983, 1993)为基础的导师研发的十年历史。我们在 ACT 中建立了学生如何在 LISP、几何和代数中解决问题的产生式系统模型,并围绕这些认知模型开发了计算机导师。这些导师的构建由一套大致基于 ACT 理论的八项原则来指导。对这些导师的早期评估通常(但并非总是)显示出显著的学业成绩提升。最佳情况的评估表明,学生能以传统教学三分之一的时间达到至少同等的熟练水平。实证研究表明,学生是以产生式规则为单位学习技能的,而最佳的辅导交互方式是导师提供即时反馈,即简短而有针对性的错误提示。这些导师若以协助学习的非人类工具、而非对人类导师的模仿的面目呈现在学生面前,效果似乎更好。学生使用这些导师学习时,其技能向其他环境迁移的程度,取决于他们能把导师环境映射到测试环境中的程度。这些经验最终凝聚成一套开发与部署导师的新系统。该系统包括:选择一个问题解决界面,在领域专家指导下构建课程,为在该环境中解决问题设计一个认知模型,围绕该模型中的产生式来设计教学,并把导师部署到课堂中。目前人们正在用这一系统构建新的导师,以求在城市环境中达到全美数学教师理事会(NCTM)为高中数学制定的标准。
(索取抽印本请致函:John R. Anderson, Carnegie-Mellon University, Department of Psychology, Pittsburgh, PA 15213-3890。)
在过去 10 年里,我们的研究团队(卡内基-梅隆大学高级计算机辅导项目,Advanced Computer Tutoring Project,简称 ACT)一直在研发一种我们称之为认知导师(cognitive tutor)的计算机教学技术。这项工作在各个阶段、各种应用中的核心承诺是:教学的设计应当参照一个认知模型(cognitive model),它刻画了要求学生学会的那种能力。这意味着系统拥有一个计算模型,能够以期望学生采用的方式来解出交给学生的那些问题。如后文所详述,有关提供这类教学的一切决定都参照该模型做出。这些系统之所以被称为”导师”(tutor),是因为我们最初的工作受到了 20 世纪 70 年代末、80 年代初智能辅导(intelligent tutoring)研究的启发(如 Sleeman & Brown, 1982)。事实上,在启动这个项目时,我们怀着一个不太明确的目标:让我们的系统像私人人类导师那样与学生互动。尽管这些年来我们淡化了对人类导师的模仿,但”导师”这个名称沿用了下来。
本文综述我们在辅导方面的研究:描述投入辅导研究的动机、支撑这项工作的理论假设、相关论断的实证证据,以及当前的研究方向。这一综述按三个可辨识的阶段组织:(a) 20 世纪 80 年代中期的导师构建热潮;(b) 80 年代后期的评估热潮;(c) 当前构建并部署实用导师系统的努力。
第一阶段:早期的导师构建
1982 年,关于学习与问题解决的 ACT* 理论宣告完成,该理论在《认知的架构》(The Architecture of Cognition,J. R. Anderson, 1983)一书中得到阐述。该理论的大部分内容关注认知技能的习得,我们先后在几何证明生成(J. R. Anderson, Greeno, Kline, & Neves, 1981)和 LISP 初始编程技能(J. R. Anderson, Farrell, & Sauers, 1984)这两个领域对它进行了检验。该理论主张,认知技能在很大程度上由与目标相关的知识单元构成。认知技能的习得涉及形成数以千计的规则,把任务目标和任务状态与动作及后果联系起来。该理论采用产生式规则(production rule)形式体系来表示这种面向目标的知识。例如,一条几何证明规则是:
如果(IF)目标是证明两个三角形全等, 那么(THEN)就设一个子目标:证明对应部分全等。
一条 LISP 编程规则则是:
如果目标是取得列表的第二个元素, 那么编写 car,并设一个子目标:把列表的尾部作为参数传给 car。
关键并不在于产生式规则记号本身,而在于这种记号所支持的一组表征特性。例如,产生式是程序性的、抽象的、模块化的、有方向的、与目标相关的。关于这些特性的详细阐述,参见 J. R. Anderson(1993,第 2 章,尤其是 2.4 节)。
一个关于认知技能习得的理论,应当对其教学有所启示。我们认为,如果能用这一理论来优化学习,将是对它的一次重要检验。然而,把关于某一现象的科学理论转化为关于如何促进该现象的工程学理论,绝非易事。我们最初投身智能辅导研究,正是要探索这种转化如何实现。
ACT 理论
由于辅导工作与 ACT 技能习得理论(最初是 ACT* 理论,J. R. Anderson, 1983;现在是 ACT-R 理论,J. R. Anderson, 1993)联系如此紧密,有必要回顾该理论的主要信条。
程序性与陈述性知识之分。 该理论区分陈述性知识(如知道”边角边”定理)与程序性知识(如能在证明中使用”边角边”定理的能力)。理论的假设是:与目标无关的陈述性知识最初以一种可以或多或少直接从观察和教学中编码的形式进入系统。认知技能有赖于把这些知识转化为如前所述的产生式规则,这些产生式规则代表着程序性知识。
知识编译。 该理论假定,学生可以运用各种解释性程序(如遵循指令、类比),把陈述性知识与任务目标联系起来,从而生成问题解决行为。一个称为知识编译(knowledge compilation)的学习过程,把这种解释性的问题解决转化为产生式规则。因此,该理论认为,产生式规则只能通过在问题解决活动中运用陈述性知识来习得。
强化。 该理论假定,陈述性知识和程序性知识都会随练习而增强。应用薄弱的知识可能导致失误和错误。因此,即便知识已被成功编码,进一步的练习仍会使执行更顺畅、更迅速、更少出错。¹
这三条假设为我们指明了一种教学方法的方向:先向学生呈现简短的初始陈述性教学,然后进行大量有指导的练习。正如我们在别处强调的(J. R. Anderson, 1993; J. R. Anderson, Conrad, & Corbett, 1989),这种技能习得观相当简单。学习认知技能表面上的复杂性,来自所学领域本身的固有复杂性。这种复杂性体现在必须学习的规则集的复杂性上,而每条产生式规则的学习都相当简单。
脚注 1:ACT* 理论中还有一些关于产生式规则学习的其他思想,但它们在 ACT-R 理论中被抛弃了;ACT-R 在许多方面是对早期理论的一种简化。
认知技能的本质
我们已经使用了认知技能(cognitive skill)这个术语,并将在全文中继续用它来描述我们的导师所教的内容。因此,有必要澄清这个术语与人们在特定领域(如几何)中可能设想的”能力”(competence)之间的关系。我们用认知技能指在该领域习得的那组产生式规则。按照 ACT 理论,领域能力并不只是这些产生式规则,还包括代表领域知识的陈述性结构。尽管理论上可以让全部领域知识都以产生式规则表示,或者全部以陈述性形式表示(由领域无关的程序来解释),但我们认为这两种途径都无助于发展领域能力。如果一切都必须表示为产生式规则,那么所需的规则会过多,因为每条知识都必须以其可能被使用的每一种方式来表示。如果一切都必须从陈述性表征出发来解释,那又会过于低效,并给工作记忆造成过重的负担。
几何领域中陈述性结构的一个例子,可能是边角边定理:“如果两个三角形的两条边及其夹角对应相等,那么这两个三角形全等。”程序性知识则可能包括这样一些技能:把两个三角形置于对应关系、确定什么是夹角、设置子目标、进行推断等;它还可能包括这条规则的一些常见用法,比如识别出满足该条件的三角形是全等三角形。
既然能力同时依赖陈述性知识和程序性知识,我们为什么把重点放在程序性的一面?这是因为我们的看法是:陈述性知识的习得相对而言不成问题。然而,陈述性知识本身是惰性的,而且往往相当无用。² 陈述性知识光靠别人讲就能习得,而我们的导师总是应用在学生从导师之外接受此类陈述性教学的情境之中。成问题的是习得程序性知识——正是程序性知识使这些惰性知识能够成为在使用情境中有效行动的基础。产生式规则无法光靠听讲来学习;它们是只能通过实际去做才能获得的技能。因此,关键在于创设这样的情境:让这些技能得以展现、受到监控,并给予适当反馈来塑造其习得。这正是我们导师的功能。
脚注 2:尽管我们对这一现象的理论解释有所不同,“惰性知识”(inert knowledge)问题当然是教育中一个人们熟知的难题(如 Brown, Collins, & Duguid, 1989; Cognition and Technology Group at Vanderbilt, 1990; Whitehead, 1929)。
导师研制的起步工作
我们开发智能辅导系统的最初动机,主要是想更多地了解技能习得,而不是产生实际的课堂效果。对 ACT 理论的一次重要检验,是看我们能否通过让学生按照底层产生式规则模型的方式去行动,从而产生成功的学习。在当时,把 ACT 产生式规则模型应用到此类教学情境中是否会出现重大缺口,绝非显而易见。
1983 年,LISP 导师和几何导师的研制工作启动(J. R. Anderson, Boyle, Corbett, & Lewis, 1990; J. R. Anderson, Boyle, & Yost, 1986; J. R. Anderson & Reiser, 1985)。前者帮助学生编写简短的 LISP 程序,后者帮助学生搜索几何证明并以证明图(proof graph)的形式表示它们。两个导师的屏幕显示如图 1 和图 2 所示。这两个导师体现了关于计算机教学应如何实现的一系列关键思想,这些思想贯穿于我们此后所有的导师之中。
模型。 导师中应包含关于底层技能的产生式规则模型。这一模型能够完成期望学生完成的任务。在问题解决的每一点上,该模型都能生成一组代表该问题正确解法的产生式序列。
在路径上的动作。 如果学生的动作位于模型生成的某条正确解题路径上,就被认定为正确动作。如果学生是对的,导师不作评论,而是让学生继续推进解题。
偏离路径的动作。 如果学生做出了偏离路径的动作,教学就聚焦于让学生回到路径上来。我们早期的导师要求学生始终保持在路径上;较新的导师允许学生偏离路径,但当学生偏离路径时,教学仍聚焦于让他们回到路径上来。
错误反馈与帮助。 导师拥有两类教学。如果学生犯了一个可识别的错误(一个”bug”),可以给出一条消息,解释它为什么是错误。这条消息由体现该错误的缺陷产生式(buggy production)生成。如果学生请求帮助,则呈现一条帮助消息,引导学生走向正确解法。这条消息由沿着正确路径的信息生成。缺陷消息和帮助消息都利用一般产生式规则在具体情境中的实例化来生成,从而切合其发生的特定语境。
我们把这种辅导方式称为模型追踪(model-tracing)方式,因为它试图把学生在计算机上解题的行为表现,与认知模型中某种产生式激发序列对应起来。这是计划识别问题(plan-recognition problem)的一个版本;人们公认,由于其组合性质(一个计划与外部行为相拟合的组合方式可能极多),这个问题在其一般形式下计算上极其困难。我们最初的处理办法,是坚持让学生的每个动作都落在可解释的路径上。当对学生动作的解释存在任何歧义时,就向学生呈现一个消歧菜单(disambiguation menu),以确定对该动作的正确解释。如果学生的动作有误,学生要改正它并回到一条可解释的路径上。这一做法,再加上一个能产生相对丰富的行为轨迹、并对行为的可能解释施加限制的界面,驯服了这一问题的组合学,使我们能够实时跟踪学生的解题过程。正如本文后文所讨论的,我们后来放松了学生必须保持在可解释路径上的要求,但所采取的方式避免了潜在的组合爆炸。
这一技术成就本身就绝非小事。它过去是、现在仍然是唯一实用的口语报告(protocol)自动分析方法。这种模型追踪方法已被改造用于心理学实验中问题解决的自动口语报告分析,其中没有辅导干预(J. R. Anderson, 1993)。然而,解决了模型追踪这一技术问题,并不自动带来教学有效性的保证。
图 1|一个编程问题开始时 LISP 导师屏幕的外观。(引自 Rules of the Mind 第 146 页,J. R. Anderson 主编,1993 年,Hillsdale, NJ: Lawrence Erlbaum Associates, Inc.;版权所有 1993 年 Lawrence Erlbaum Associates, Inc.)
图 2|几何导师的一幅屏幕图像,显示证明图形式。问题的已知条件位于屏幕底部,待证明的命题位于顶部。(引自 Rules of the Mind 第 171 页,J. R. Anderson 主编,1993 年,Hillsdale, NJ: Lawrence Erlbaum Associates, Inc.;版权所有 1993 年 Lawrence Erlbaum Associates, Inc.)
与 LISP 导师交互
我们首先需要说明与这类导师交互是什么样子。因为我们报告的来自 LISP 导师的实证研究比其他导师多,它是举例说明的最佳选择。本节描述与我们所创建的最初版 LISP 导师的一次交互。³ 图 1 描绘了一次练习开始时的终端屏幕。最初的 LISP 导师运行在 Vax 计算机上,通过常规的 24 × 80 字符终端与学生通信。屏幕分为两个窗口,问题描述出现在屏幕顶部的”导师窗口”(tutor window)中;学生打字时,代码出现在屏幕底部的”代码窗口”(code window)中。本练习选自引入迭代概念的课。到这一步学生已经熟悉函数定义的结构,所以导师为学生摆出了定义的模板,替学生填好了 defun 和函数名。尖括号中的符号使剩余的目标具体化(reify),也就是说,它们代表尚待学生补齐的代码成分。导师把光标放在学生需要展开的第一个符号〈PARAMETERS〉上。导师逐个符号地监控学生的问题解决,只在需要澄清、出现错误或请求帮助时才打断。
学生做练习时,这个导师基本上逐个符号地监控学生的输入。只要学生沿着某条合理的解题路径前进,导师就保持在后台,界面的行为就像一个结构化编辑器(structure editor):导师为函数调用展开模板、配上配平的右括号,并把光标前移到尚待展开的符号上。然而,如果学生犯了错误,导师立即提供反馈,并让学生再有机会输入一个正确的符号。如果学生请求解释,或者看起来正陷入困境,⁴ 导师也会给出解法中正确的下一步,并附上解释。
表 1 记录了一名假设学生完成该练习代码的过程。⁵ 该表并不打算展示练习每一步中终端屏幕的实际样子,而是展示交互的一个简化的”电传打字”版本。如前所述,学生操作时,问题描述一般保留在导师窗口中(向学生呈现消息时除外),代码窗口则逐个符号地更新。该表没有逐一描绘交互中代码窗口的每次更新,而是描绘了导师打断并与学生交流的九个关键”循环”。在每个列出的循环中,都给出代码窗口的完整内容以及导师的回应。导师的回应显示在代码之下,以体现事件的时间顺序;在真实的终端屏幕上,导师的沟通会出现在代码上方的导师窗口中。在每个循环中,学生自上一个循环以来输入的全部代码在表 1 中以粗体显示。但在每一种情况下,导师都是专门针对学生最后输入的那个符号做出回应的。
脚注 3:事实上,我们构建过多个不同的 LISP 导师。最初的那个在我们的实验室里被亲切地称为”经典 LISP 导师”(LISP tutor classic)。
脚注 4:当学生在解题的某一步重复犯三次同一类错误,或犯两次导师无法识别的错误时,即判定该学生陷入困境(floundering)。
脚注 5:毫无疑问,使用 LISP 对不熟悉 LISP 的那部分读者造成了沟通障碍。不过,理解导师如何交互、这些交互如何依赖底层的产生式规则模型,其实并不真正需要懂得 LISP 的语义。
表 1|某假设学生借助导师完成函数 create-list 代码过程的电传打字式描绘
问题描述:
定义一个名为”create-list”的函数,它接受一个参数,该参数必须是一个正整数。此函数按升序返回 1 与参数值之间的所有整数构成的列表。例如: (create-list 8) 返回 (1 2 3 4 5 6 7 8)。 你应当在这个函数中向下计数,这样你就可以直接把每个新数插入结果变量的前端。
导师与学生交流的各个循环(每个循环中粗体为学生新输入的代码,其后为导师的回应):
循环 1
(defun create-list (num)
(loop)
这个函数需要局部变量。所以在你编写其他任何代码之前,有一个特定的 LISP 算子需要你编写。
循环 2
(defun create-list (num)
(let (()
<BODY>))
你想做下列哪件事? 按键:如果你想要 1 初始化一个变量,存放 1 与参数值之间的数字构成的列表。 2 初始化一个计数器变量,记录我们绕循环的次数。 3 让导师来选。
菜单选择:2
循环 3
(defun create-list (num)
(let ((count 1)
<OTHER-INITIALIZATIONS>)
<BODY>))
在这个问题中,我们不会想在每次调用函数时都从同一个值开始计数,所以我们不能把计数器初始化为 1 这样的常量。起始值是怎样传给函数的?
循环 4
(defun create-list (num)
(let ((count num)
(numlist (list num)))
(loop))
你是想输入 loop 吗(y 或 n)?y
循环 5
(defun create-list (num)
(let ((count num)
(numlist (list num)))
(loop
(cond ((equal count 1) numlist))
<LOOP-ACTIONS2>)))
你确实想在这里返回变量”numlist”,但只是把它敲进代码达不到这个目的。哪个 LISP 算子能让你从 LOOP 中返回某个东西?
循环 6
(defun create-list (num)
(let ((count num)
(numlist (list num)))
(loop
(cond ((equal count 1) (return numlist)))
<LOOP-ACTIONS2>)))
在数值迭代中,退出测试之后你首先应该做的是更新计数器变量。你可以用函数 SETQ 来做这件事。
循环 7
(defun create-list (num)
(let ((count)
(numlist (list num)))
(loop
(cond ((equal count 1) (return numlist)))
(setq count (1- count))
(cons)))
你的想法是对的,因为你需要用到函数”cons”,但记住你是要把计数器的新值插入列表。哪个 LISP 函数能让你把这个函数调用的结果赋给一个局部变量?
循环 8
(defun create-list (num)
(let ((count num)
(numlist (list num)))
(loop
(cond ((equal count 1) (return numlist))
(setq count (1- count)
(setq numlist (list))))
如果你把 7 和 (8) 这样的参数用 LIST 拼在一起,得到的是 (7 (8))。你要的是 (7 8)。再试试另一个把东西组合起来的函数。
循环 9
(defun create-list (num)
(let ((count num)
(numlist (list num)))
(loop
(cond ((equal count 1) (return numlist)))
(setq count (1- count))
(setq numlist (cons count numlist)))))
—你已完成。测试完你定义的函数后,键入 NEXT 继续—
—LISP 窗口—
=> (create-list 10)
(1 2 3 4 5 6 7 8 9 10)
=> next
在上述循环的第一个中,学生已输入参数表,并调用 loop 来进行迭代。导师提醒学生:进入循环之前需要创建一些局部变量。在第二个循环中,学生调用了 let,正要创建一个局部变量。数值迭代的模板在这个函数中要求两个局部变量,因此导师摆出一个菜单,以澄清学生打算先声明哪一个变量。这说明了导师必须随时了解学生的意图,才能跟得上学生;一旦出现歧义,它就会通过这样的菜单询问学生。在第三个循环中,学生编写的初值如果函数是向上计数的话本是对的,但这个练习意在让学生练习向下计数,所以导师把学生引回正轨。在第四个循环中,学生犯了一个导师能识别的录入错误;在第五个循环中,学生试图从循环中返回正确的值,却忘了调用 return。导师提醒学生:退出循环需要一个特殊的函数调用。导师与学生的交互就这样继续下去。请注意,为了便于说明,这段交互中学生的出错比通常要多:错误率一般在 15% 左右,而这段对话中约为 30%。每做完一个练习,学生就进入一个称为 LISP 窗口(LISP window)的标准 LISP 环境。学生可以在 LISP 窗口中随意实验;唯一的约束是他们必须成功调用自己刚定义的函数(导师已自动加载该函数)。
课堂上的最初尝试
1984 年,我们让几名高中生试用几何导师,并在卡内基-梅隆大学(CMU)用 LISP 导师讲授了一门计算机科学微型课程。结果超出了我们最初不高的预期。学生使用几何导师学得相当好。LISP 微型课程分成两组以便评估:一组用 LISP 导师做练习,另一组在标准 LISP 环境中做同样的练习。使用 LISP 导师的学生用时少 30%,期末测验成绩比控制条件的学生高出一个标准差。
针对这些结果,我们开设了一门完整的学期 LISP 课程,面向人文与社会科学专业学生;这门课程至今仍然办得成功,只是期间经过了几次修订。⁶ 我们决定把几何导师投入真实课堂使用,并得以建成了一个配备 10 台 Xerox D-machine 的教室,1985 至 1988 年间设在匹兹堡的 Peabody 高中。
脚注 6:目前,这门课程已是 LISP 与 Prolog 合上的课程,学生同时学习两种语言。导师如今在 Macintosh 系统上交付。
受实用导师前景的鼓舞,我们着手创建第三个导师——代数 I(Algebra I)导师;该导师同样在 D-machine 上实现。它辅导代数符号操作技能(如解线性方程),这类技能曾是认知科学中一些讨论的焦点(如 Matz, 1982)。图 3 展示了代数导师的外观(更多细节见 Milson, Lewis, & Anderson, 1990)。我们对代数符号操作技能的分析表明,完成所有任务都有清晰的算法,成功的学生学到的正是这些算法。各种教科书对这些算法或多或少都有描述。这些算法的一个关键特征是相当层次化:要解一个线性方程,可能得先去掉内嵌的表达式,这需要进行分配(distribution),分配可能又需要分数乘法,分数乘法又需要整数乘法,如此等等。我们观察到,较弱的学生常常在较低层次的操作上发生混淆,而且很难让他们识别出自己的问题出在哪个层次。为了便于这种补救,我们试图用类似图 3 的表示来呈现这种层次结构:把表示子运算的方框嵌在表示较大运算的方框之内。这样我们就能识别学生遇到困难的层次,并把教学聚焦于该层次。
图 3|代数导师中表示层次化算法分解的方框记法。
八项原则
大约在那个时候,我们觉得应当设法在 ACT* 理论与我们的辅导实践之间建立更紧密的联系。J. R. Anderson、Boyle、Farrell 和 Reiser(1987)考察了 ACT* 理论,从中提炼出我们认为足以指导导师设计的八项原则。下面评述这些原则。
原则 1:把学生能力表示为一个产生式集合。 根本性的洞见是:辅导这项事业应当以对目标技能的准确模型为依据。认知模型使我们能够设定恰当的课程目标,并正确解释学生的动作。这一直是我们的方法与更为行为主义取向的计算机教学方法之间的本质区别。与典型行为主义分析的行为目标相比,产生式规则为目标技能提供了一种更抽象——我们也相信更准确——的表示(如 Bunderson & Faust, 1976; Gagné & Briggs, 1974)。不过,我们的方法与行为主义方法共享这样一种理念:把技能分解为成分,并按照这种成分分析来组织教学。区别在于成分是什么。
这条原则并未规定如何定义计算机界面、如何与学生交互、何时让学生升入课程的下一阶段。这些都取决于关于这类产生式规则如何习得的理论。其余的辅导原则所关注的,都是如何把这条首要洞见转化为教学策略。这些原则是从 ACT 技能习得理论推导出来的,但推导的严格程度不一。
原则 2:传达问题解决背后的目标结构。 ACT 理论的一个持久假设是:解决问题涉及把问题分解为一组目标和子目标。另一个观察是,在许多学生难以掌握的领域(如几何证明技能或编写递归程序),支配问题解决的目标结构没有得到向学生的充分传达。于是合理的假设是:暴露并传达这类目标应当成为一个教学目标。我们采用了一种被称为”物化”(reification)的思路(Brown, 1985; Collins & Brown, 1987),力图开发出能把那些在教学中只是隐含着的目标结构显式呈现出来的界面。我们至少有两次显著的成功。一是在几何中使用证明图来展示某些结论与证明的最终结论之间的子目标关系。⁷ 另一个是 Singley 运用子目标树来展示相关变化率(related-rates)微积分问题中链式法则的使用(Singley, 1986)。
脚注 7:关于证明图在辅导之外的额外贡献的评估,见 Scheines 和 Sieg(in press)。
原则 3:在问题解决的情境中提供教学。 这条原则的依据是表明学习具有情境特异性的研究(如 J. R. Anderson, 1990, 第 7 章)。当前的情境学习运动(如 Collins, Brown, & Newman, 1989; Lave & Wenger, 1990)想必赋予了这条原则新的时代意义。这条原则的困难在于,对它为什么成立并没有详细的理论解释,因此不太容易知道如何具体运用它。这是否意味着教学应当在导师使用的同一节课上提供?在每个问题之前?还是在每个问题进行之中?随着在我们各项应用中的演化,这条原则的含义变成:在导师的每个新章节之间提供教学(一个章节从引入新产生式规则之处开始),并允许学生在问题解决过程中回看这些教学。我们曾试验过把教学放在问题中恰好需要它的那个点上,但学生觉得这会干扰他们的问题解决。
原则 4:促进对问题解决知识的抽象理解。 这条原则的动因是这样一种观察:学生常常从具体的问题解决例子里发展出过分特定的知识。就产生式规则而言,这意味着规则的条件不够一般。尽管这个问题无疑真实存在,这条原则却没有就如何实现抽象提供任何指导。实践中,我们力图借助帮助消息和错误消息的语言来强化正确的抽象。
原则 5:使工作记忆负荷最小化。 这条原则的动因是:在 ACT 中学习一条新的产生式规则,要求与待学产生式的条件和动作相关的所有信息同时在记忆中处于激活状态。让其他信息保持激活,可能会干扰对目标信息的学习。Sweller(1988)表明,高工作记忆负荷会干扰学习。这条原则意味着把与目标产生式无关的信息的呈现和加工降到最低,其中包括在问题解决过程中尽量少呈现教学,因为加工这些教学会造成另一重工作记忆负荷。
这也意味着,应当只在技能的其他成分已被相对熟练掌握时,才尝试就特定成分提供教学。这导致一种每次只教少量新内容的课程设计。有人可能认为这与认知学徒制(cognitive apprenticeship)或锚定式教学(anchored instruction)等当前取向相抵触,后者主张在复杂的真实世界问题情境中教授各种成分技能。然而,我们的做法并不否认在这类情境中学习的价值,而是主张学生应当逐步获得应对这种复杂性的技能,而不是必须一次性全部习得。
原则 6:对错误提供即时反馈。 这显然是我们的辅导原则中最具争议的一条。ACT* 理论主张,新的产生式是由问题解决轨迹的记录创建的。因此,从出错到改正之间等待的时间越长,学生为形成一条产生式而必须加以整合的问题解决跨度就越长。当前的 ACT-R 理论则主张,人从问题解决的产物中学习:学习者检查得出的解(代码、证明、代数推导),并据此构建产生式。这样一来,各个关键步骤是否都在时间上紧挨着出现就无关紧要了——只要它们体现在最终的解之中。因此,在 ACT-R 中,即时反馈的主要理论依据已不复存在。我们后文将讨论来自我们导师的、与当前 ACT-R 观念相一致的有关反馈即时性的证据。尽管如此,我们要指出,即时反馈在减少处于出错状态所耗的时间、使学生的解题过程更易于解读方面,仍是有益的。
原则 7:随学习的进程调整教学的粒度。 这条原则的动因是 ACT* 中的组合学习算子(composition learning operator),它声称单个产生式会被组合成更大的产生式,后者用一个认知步骤完成原先许多步骤所做的事。虽然 ACT-R 没有这样的组合学习算子,它仍然预言问题解决粒度的这种变化,只是基于其他机制(J. R. Anderson, 1993, 第 4 章)。因此,把界面设计成能够以越来越大的分析单位加工学生的问题解决,似乎是合理的。然而,此前只有过一次早期的尝试,即用代数导师所做的尝试(J. R. Anderson et al., 1990),而且那次尝试并不算成功。事后看来,我们的问题反映出我们对界面在问题解决中的作用存在一些根本性的误解。这是本文后面要详细讨论的话题。
原则 8:促进对目标技能的逐步逼近。 学生最初尝试执行一项技能时,常常无法完成所有步骤。我们让导师补上缺失的步骤。预期是:随着反复练习,学生与导师之间的这种分工将会改变,学生承担越来越多的工作,直到导师完全退居后台。实践中,这种逐步逼近常常相当有效。这条原则似乎与认知学徒制术语中的”渐隐”(fading)颇为类似(Collins, Brown, & Newman, 1990)。
这些原则中有一些与伴随更行为主义取向的教学设计尝试的想法相似(Bunderson & Faust, 1976; Gagné & Briggs, 1974),原则 3、6、7 和 8 尤其如此;区别在于,这些原则被用来服务于一种不同的底层技能表征。这些原则对标准行为主义方法有所增益之处(原则 1、2、4 和 5),则反映了不同的表征假设。这个例子说明,关于知识表征的假设是举足轻重的。
我们的导师体现了目标能力的认知模型,但这并不意味着它们总会表现得与基于行为主义原理的教学系统不同:这取决于领域。如果我们构建一个以记忆为目标的拼写导师,我们猜想它会与行为主义式的应用(如 Porter, 1961)非常相似,产生与我们系统相似的学业提升。然而,我们选择把应用聚焦在复杂得多的技能上;在这些技能上,我们的认知模型确实导向了不同的教学策略。在我们的印象中,行为主义式的程序在扩展到这类复杂领域方面并不太成功。
第二阶段:评估与实证研究
J. R. Anderson 等(1990)报告了 1987 年辅导工作的状况,包括第一阶段研究活动的结果。本节回顾那些结果,并把研究记录更新至今。前三小节描述对几何导师、代数导师和 LISP 导师的总结性评估。随后几小节讨论关于技能习得的成分性本质、学生建模以及反馈的控制权与内容方面的证据。
几何导师
几何导师在 1985–1986 学年的一项试点研究中得到使用。若干班级接触了它,全都显示出很大的成绩提升。1986–1987 学年是主要检验:我们把使用导师的班级与不使用导师但由同一位教师任教的班级进行比较。我们做了多次回归分析,试图预测学生在纸笔证明技能期末测验中的表现。下列方程预测了学生在 0 到 80 分量表上的表现:
35 + 7.5 ×(代数课的字母等级) + 14(若一对一使用导师) + 4(若二对一使用导师)
学生前一年代数课的字母等级(1 = D 到 4 = A),是预测几何测验成绩时衡量学生个体间差异的最佳指标(优于智商)。导师带来的 14 分,在该总体中超过一个标准差,在测验上超过一个字母等级。由于机器不够,有时是两名学生共用一台机器;在这种情况下,导师的大部分效益消失了,这些学生剩余的 4 分优势与对照组相比没有统计学差异。
除了我们自己对导师的评估之外,还有第三方观察者(Schofield & Evan-Rhodes, 1989)和任课教师(Wertheimer, 1990)的报告,证实了导师对课堂的巨大积极影响。Schofield 和 Evan-Rhodes 报告了学生学习动机的大幅改善,学生在任务上花费更多时间。⁸ Wertheimer(1990)报告说,作为教师,他觉得这段经历令人满意,因为它使他能够专注于具体学生的具体困难。
脚注 8:后来发展到学生之间为争夺使用导师的机会而打架的地步。
一个较新的几何导师已经完成,它基于 Koedinger 和 Anderson(1990)的几何证明认知模型。它接受了一次初步评估(Koedinger & Anderson, 1993);在评估中我们同样发现了很大的积极结果,但只出现在与项目深度整合的那位教师身上。使用导师且由项目教师执教的学生,平均做对八道证明题中的五道多一点,而其他三种条件(项目教师而无导师、有导师而非项目教师、非项目教师而无导师)下的学生平均做对三道多一点。⁹ 导师只对项目教师产生效益这一事实,凸显了把导师整合进课堂的问题。¹⁰
脚注 9:这是一个标准差的差异。
脚注 10:后续研究提示,教师大约需要一年时间才能对导师运用自如;教师使用导师的第二年,其学生的成绩提升更高。
代数导师
1987–1988 学年对代数导师进行了一次评估。可以使用导师的实验班级与没有导师的控制班级之间没有差异。我们认为没有效应的主要原因在于:导师界面与课堂所用界面(即纸笔)之间存在巨大差异。把方框化的算法分解表示(见图 3)映射到纸笔后测中用来评定成绩的逐行线性变换上,实在不明显。一个较次要的原因与某所城市学校的九年级代数班有关。符号操作足够容易,以致一些学生不用辅导干预就能把技能掌握得相当好;另一些学生则完全无心向学(常常缺课),代数导师在其经历中过于边缘,无助于改变他们对待学校的一贯行为模式。
我们在代数导师之后又做了一个文字代数导师(word algebra tutor),它在实验室中显示出一些很大的积极结果(Singley, Anderson, Gevins, & Hoffman, 1989),尽管从未在课堂中检验过。我们认为文字题导师在实验室中成功的两个基本原因是:其一,导师中的文字题与纸笔后测之间的映射一目了然。其二,文字题实际上对即使有积极性的学生也是难题,而我们能够用解题的认知模型来阐明其教学。我们目前正在开发又一个更新的代数文字题导师,它正在匹兹堡公立学校中使用。初步评估再次显示出显著的学业提升。
LISP 导师
LISP 导师在其研发早期就在课堂情境中得到评估。1984 年秋,我们讲授了一门 LISP 微型课程,学生听课并完成一组固定的编程练习:或用导师完成,或在标准 LISP 环境中完成。使用导师的学生完成练习快 30%,后测成绩好 43%。我们做了第二次实验室评估,它更接近当前自定步调的课程结构(Corbett & Anderson, 1991)。学生逐一学习各课内容,阅读同样的课文并试图解决同样的练习,分别在使用导师与不使用导师的条件下进行。在这项评估中,使用导师的学生完成练习快 64%,后测成绩比使用标准 LISP 环境的学生高 30%。正如后文所详述的,我们认为后测差异的唯一原因是:在标准的无导师环境中学习的学生无法为所有练习生成可行的解。可以设想,如果控制条件的学生投入足够的时间,他们最终也能找到可行的解,并在后测中取得同样好的成绩。尽管如此,这项研究支持如下论断:一个设计良好的导师能让学生以不超过传统学习环境所需时间的三分之一,达到同样高或更高的成绩水平。
教育评估中更常见的做法,是固定学习时间、考察成绩分数的差异。这是我们在代数和几何评估中被迫采用的做法,因为我们无法操纵学生花在这些题目上的时间。成绩差异总是有点难以评判——80 分测验中的 14 分究竟意味着什么?一种解决办法是用标准差来报告成绩水平的差异(如 Bloom, 1984)。然而,标准差差异所反映的,与其说是教学处理的影响,不如说同样多地反映了测验分数的方差。这类方差在很大程度上受测验编制和总体固有变异的影响。因此,这些数字除了确立差异的方向之外几乎毫无意义。更有意义的做法,是固定所要求的掌握水平,考察达到该水平所需时间的差异。这才反映一种教育技术的真正收益。
在 LISP 导师之后,是一个通用编程环境,其中已构建了 LISP、Prolog 和 Pascal 导师(J. R. Anderson et al., 1993)。Pascal 导师刚开始在公立学校中使用。这将为在相当特殊的 CMU 人群之外开展评估提供基础。
学习的成分分析
认知科学与教育当前的一个争论是:能否把一项复杂能力分解为它的各个成分,并依据各成分的学习与表现来理解该能力的学习与表现(如 Shephard, 1992)。当我们在导师的语境中处理这个问题时,答案是响亮的”能”。
考虑这样一个问题:预测一名特定的学生会在多快、多准地生成某个特定 LISP 程序中的特定一段代码。J. R. Anderson 等(1989)对来自 LISP 导师的数据做了相当详尽的分析,结论是基本上有四个关键因素。
产生式练习。 第一个因素是学生此前应用相关产生式规则的频繁程度。随着学生在各练习中有更多机会使用某条产生式规则,他们在这条规则上的表现就会改善。由于产生式规则与不同语境中的表层代码符号(如 car、+、write、for)之间存在多对一的映射,我们得以证明:练习的关键单位是规则,而不是表层构件。类似的特定产生式学习在几何中也得到证明,那里产生式规则与”边角边”这类表层规则之间同样存在多对一的映射(J. R. Anderson, Bellezza, & Boyle, 1993)。在 ACT 理论中,这被归因于产生式规则的强化。图 4 显示了在一课中新引入的”新”产生式与此前各课中引入的”旧”产生式的学习曲线。可以看出,两者都随课内练习量的增加而改善;旧产生式因为此前各课的练习而起点更优。J. R. Anderson 等(1989)还表明,学生对旧产生式在新一课开始时的表现,接近其上一课结束时的水平,只有少量遗忘。
图 4|在 LISP 导师中,为本课新引入的产生式与旧产生式编写一段代码所需的时间。错误率也得到类似的函数曲线。(引自 Rules of the Mind 第 153 页,J. R. Anderson 主编,1993 年,Hillsdale, NJ: Lawrence Erlbaum Associates, Inc.;版权所有 1993 年 Lawrence Erlbaum Associates, Inc.)
问题内练习效应。 在 LISP 和几何中,我们都能证明:随着学生在某个特定问题中的推进,规则应用的时间和准确性都会改善,而且这是在剔除了规则特定练习的效应之后得出的。在 ACT 理论中,这被归因于通过反复提取而使问题的陈述性表征得到强化。
习得因子。 在对学生表现的因子分析中,我们发现学生在某一课新引入的新规则上的表现存在个体差异。这一因子的实际意义尚不清楚。它可能反映某种深层的个体差异,也可能只反映学生复习材料的用心程度。
保持因子。 同一项因子分析还识别出在保持此前各课产生式方面表现较好的学生。这一因子与习得因子大体正交。同样,这一因子的实际意义也不确定。它可能反映某种深层的个体差异,也可能只反映学生在课与课之间复习了多少材料。
这一分析的结论是如下一套预测学生在某段代码上表现的方案:首先确定生成该代码的是一条旧产生式还是一条新产生式。如果是新产生式,就需要用新产生式的学习曲线推算课内练习效应,加入一个表示学生在这道题上花了多少功夫的因子,再加入一个个体差异效应,以反映该学生在习得因子上所处的位置。要预测旧产生式上的表现,则加入旧产生式的课内练习效应、题目练习效应,以及一个反映该学生在保持因子上所处位置的效应。据我们所能确定,这些考量捕捉到了全部可预测的变异。
知识追踪
LISP 导师拥有一项称为知识追踪(knowledge tracing)的学生建模设施,这是几何导师和代数导师都不具备的。¹¹ 学生做练习时,导师用一种贝叶斯程序估计学生已经学会认知模型中每条规则的概率。知识追踪被用来实现一种掌握学习(mastery learning):在进入下一节之前,学生在课程的每一节获得足够的练习,使其对本节引入的各条认知规则达到规定的掌握程度。这一特性对学生的成绩水平有实质性的影响(J. R. Anderson et al., 1989)。知识追踪是我们当前正在开发的所有导师的标准配置(见本文”实际部署”一节)。
脚注 11:公立学校教师一直不愿让学生以知识追踪设施所支持的各自节奏前进。最近,我们已使匹兹堡公立学校的教师接受了这种个别化的进度。
对知识追踪模型更细致的考察进一步印证了认知模型中的成分分析:支撑导师中知识追踪的学习模型和表现模型,可以用来预测后测表现。学生正确解出每道后测练习的概率,可以从学生已学会各条必要规则的概率中准确地推导出来(Corbett & Anderson, 1992; Corbett, Anderson, & O’Brien, in press)。
这些结果对教学有很强的含义:它们意味着,我们应当能够通过让学生掌握各个成分,使他们掌握整体技能。许多分析报告了基于掌握的课程设计的积极结果(如 Guskey & Gates, 1986; Kulik, Kulik, & Bangert-Downs, 1986),尽管对这些结果的解释并非没有争议(如 L. W. Anderson & Burns, 1987; Guskey, 1987; Slavin, 1987)。我们对掌握原理的应用与多数其他工作的不同之处在于:它以单个学生为单位进行,并且适用于目标技能的详细成分。
反馈控制权的配置
按照最初几条辅导原则中的一条的规定,我们的导师常规地采用即时反馈并要求立即改正错误。LISP 导师曾充当一系列研究的载体,这些研究在导师与学生之间以不同方式分配反馈的控制权和纠错的时机。我们开发了三个新版本,它们在学生/导师控制这一维度上差异很大。在与即时反馈和控制相对的另一个极端,我们创建了一个不就如何达成编程目标提供任何建议的版本:学生用结构化编辑器输入代码,可以使用 LISP 解释器,但基本上全靠自己。这个导师只提供一比特(bit)的信息:在问题解决过程中的任何时刻,学生都可以询问自己的解是否正确(类似于翻看书后的答案)。这提供了衡量我们导师有效性的最佳对照,因为它使问题解决界面的类型、非导师教学以及所尝试的练习保持恒定。
其余两个版本能够提供与标准即时反馈版本相同的建议,但在不同的情形下提供。一个版本我们称为错误标记导师(error-flagging tutor),它更接近标准即时反馈:错误一出现,导师就通过在屏幕上以粗体标记来识别它,但不提供反馈消息,也不要求立即改正。学生可以请求一条反馈消息(与即时反馈条件下自动呈现的相同)、不用反馈自行尝试纠错,或者继续生成新代码、稍后再回来处理这个错误。另一个版本我们称为按需导师(demand tutor),因为它在被学生请求之前不提供任何帮助:学生操作时,它看起来就像无反馈对照版本,除非学生请求错误反馈;到那时,导师会识别代码中的第一个错误(如果有),并提供与即时反馈版本中自动出现的相同的消息。在这两个版本中,除错误反馈外,学生还可以就如何达成某个编程目标请求建议;在这些导师的每个目标上,可获得的建议都与标准导师相同。
在无反馈、按需反馈和错误标记导师中,学生可能生成一个导师无法识别(无法生成)的完整可行解。其结果是,导师会在一组测试用例上试运行它无法识别的任何代码,只要可行就接受该解。实践中这种情况很少发生:学生未被识别的解中只有约 5% 是可行的。
我们用包含五课的序列比较了导师的四个版本,这些课程带学生从最容易的(入门)课程走到最具挑战性的(递归)课程(Corbett & Anderson, 1991)。每名学生用四个版本之一尝试一组固定的练习(不一定足以达到掌握),然后完成纸笔后测和标准 LISP 环境中的在线后测。无论在哪种后测环境中,即时反馈导师、标记导师与按需反馈导师之间都没有显著差异:两个后测环境的平均正确率分别为 55%、55% 和 58%。在两种后测环境中,这三个组都可靠地优于无反馈对照组(正确率 43%)。
完成导师练习所需的时间见图 5。可以看出,各条件按导师支持程度排序:即时反馈最好,随后依次是错误标记、按需反馈和无反馈。¹² 三个反馈条件下的学生必然为每个练习得出了可行的解;而无反馈对照条件的学生虽然尝试了每个练习,却有 25% 未能解出。因此,唯一表现出较差后测成绩的条件,正是学生未能解出全部问题的条件。这强化了我们的结论(J. R. Anderson et al., 1989):后测表现主要取决于学生成功解出并理解的练习集合。
脚注 12:被试在后面的课程中耗时更长,因为练习更长、更难。
图 5 描绘了前文提到的即时反馈与无反馈之间 3:1 的用时比。由于无反馈条件的学生未能解出所有练习,这一比值低估了真实收益。相对于典型课堂,它也可能低估了收益,因为所有条件的学生至少都能接触到陈述性教学,以及为传达并教授目标产生式而精心设计的题目。典型的课堂可能远没有那么组织有序。
图 5|五个导师课程中的平均练习完成时间。(引自 Rules of the Mind 第 160 页,J. R. Anderson 主编,1993 年,Hillsdale, NJ: Lawrence Erlbaum Associates, Inc.;版权所有 1993 年 Lawrence Erlbaum Associates, Inc.)
对错误标记与按需反馈条件下学生表现的分析表明,这两个条件的学生对所获得的控制权的回应相当被动。在错误标记条件下错误被立即标出时,学生 80% 的情况下会立即修正错误;相反,在按需反馈条件下导师不主动提供错误信息时,学生很少中断自己的编程活动去请求帮助或评估。在按需反馈条件下,90% 的练习中,学生在完成一个初步解之前不请求反馈。最后,我们询问学生有多喜欢导师和他们得到的反馈。也许令人意外,各组之间没有可靠差异,不过与课程存在交互作用:练习越难,学生越感激即时的帮助。
反馈内容
导师的一个关键特征,是在问题解决过程中它对学生说些什么。在问题解决过程中与学生沟通,有两个显而易见的时机:一是学生犯了某种错误、导师可以就该错误发表评论时;二是学生请求帮助或看起来需要帮助、给出某种帮助消息时。显然,如果学生永远得不到关于其解中错误的任何信息,他们就不会学会避免这些错误;同样,如果学生永远得不到任何形式的帮助,他们就有在某些问题上永久卡住的危险。然而,人们可以构建这样一个导师:它只把错误标记为错误、指出正确解法,而不附带任何解释。那么,附带解释的潜在收益是什么?我们进行过两次这样的比较——一次用 LISP 导师,一次用几何导师。
在 LISP 导师中(J. R. Anderson et al., 1989),我们采用了多项测量来考察错误消息有多大帮助。其一是学生在单条产生式上的表现。我们发现,如果学生接受解释性反馈,每条产生式上的错误更少(15% 对 22%)。此外,当学生犯错并收到反馈(一个解释,而不只是告知他们做错了)时,他们更可能在第一次尝试时就改正错误(改正率 65% 对 38%)。然而,当我们寻找长期学习收益时,没有发现任何显著差异。在导师练习之后紧接着的测验上,接受解释性反馈的学生正确率为 90%,没有接受的学生为 91%。在期末考试上,接受解释性反馈的学生正确率为 76%,没有接受的学生为 80%。两个差异都远未达到统计显著。
因此,LISP 导师中这类教学的影响,在于促进学生在材料中的进展,但没有任何永久性的成绩后果。这并非无足轻重的结果,因为学习速度是一个关键的因变量。合理的反馈消息似乎也对导师在学生心目中的形象有积极影响:即便最终学到的内容一样多,学生对无反馈导师仍颇有贬损之词。
McKendree(1990)对几何导师反馈消息的评估得出了多少有些不同的结论。在其第一项博士论文研究(McKendree, 1986)中,她像在 LISP 导师中一样发现:这些消息促进了在导师中的进展,却没有任何永久性收益。出于对缺乏永久收益的失望,她逐条打磨反馈消息,使其对具体问题格外切题。在其第二次评估(报告于 McKendree, 1990)中,她得以证明收益同时体现在导师中的进展和最终成绩上。
McKendree(1990)对其学生为何受益于这些精心打磨的反馈消息做了理论分析。她得以证明,学生的底层陈述性知识存在缺陷,而反馈能够纠正这些缺陷。一些没有反馈的学生得以穿过导师的学习,却没有真正纠正自己的误解和知识漏洞。该导师没有基于掌握的教学课程,学生只需完成固定数量的题目。这提示我们面对的是一种时间—成绩权衡(time-achievement tradeoff),也提示了一条与 LISP 导师结果相调和的途径。在 LISP 导师实验中,学生被给予足够多的题目以达到高水平的成绩,反馈的效应体现在达到该水平所需的时间上;在几何导师中,学生以相对恒定的时间(且以小时计的时间很短)完成题目,效应则体现在成绩水平上。
设计帮助消息时,人们往往在给学生的消息里滔滔不绝,既想让导师显得聪明,又想传达自己对问题的洞见。学生的态度却颇为不同。他们意识到这只是台计算机,充其量是帮助他们学习的一个工具,对别人的长篇大论毫无兴趣。他们想解决问题,常常对长消息不耐烦。在一项代数导师的研究中,Lewis(1989)把简短的消息与更像自然英语的较长消息(该导师最初使用的消息)做了比较,发现学生用较短的消息反而做得更好,尽管该效应未达统计显著。
第三阶段:实际部署
尽管我们的辅导研究在实证评估上相当成功,我们的导师却没有得到多少使用。编程导师在 CMU 常规使用,偶尔也在别处使用。几何导师的一个精简版被移植到 Mac SE 上,偶尔在全国各地的课堂中使用。然而,直到最近,我们的软件还没有在任何 CMU 课堂之外的组织的教学规划中扮演重要而持久的角色。虽然我们当时使用的机器是些庞大而不实用的自动教学巨物,但缺乏实用性示范并不是一个突出的问题。而如今,我们的导师已经可以部署在美国教室里想得到的机器上了。
当我们检视为何距实用导师如此之远时,事情变得很清楚:我们回避了一系列问题:
- 我们从未尝试过涉及教育工作者想教的课程。一个明显的例子是几何导师的处境:它聚焦于教证明技能,而数学教育者强调的却是更一般的推理与问题解决技能。
- 我们没有考虑学生通过我们的导师之后会怎样。我们总是把某次期末测验上的表现作为成功的衡量标准。然而,要有教育价值,我们的导师必须与更大的一组课程目标相配合。
- 我们开发的系统在使用方式上不灵活,没有给教师留下任何余地,让他们无法按照自己的需要和对教学的信念来调整导师的应用。
- 我们对如何在课堂中支持这些导师的部署知之甚少。与此相关的一个观察是:凡是没有深度参与项目、投入大量时间的教师参加的课堂评估,我们没有一次得到过积极结果。¹³
脚注 13:这当然引出了关于评估的有趣问题。由于我们并没有仅仅靠把计算机放进课堂就得到积极结果,这表明我们与项目教师合作取得的积极结果并非单纯的霍桑效应(Hawthorne effect)。在我们项目的控制班级(无导师班级)中,教师的表现至少不亚于非项目教师的控制班和辅导班。因此,导师与教师使用导师的准备工作的结合有其特殊之处。我们正与匹兹堡公立学校合作,试图开发一个合适的教师培训项目。
应对这些问题,使我们超越了最初”证明认知模型能带来成功学习”的目标。我们已开始处理如下议题:如何开发实现外部规定课程的导师,使其能部署到大范围的课堂中,并使学生获得一种能力,对导师所教领域之外的活动做出可证实的贡献。为回应这一新议程,我们承担了两项重大事业。其一是创建一个开发系统来制造此类认知导师,并开始为导师的创建建立一套开发规范。其二是与匹兹堡公立学校建立紧密关系:他们充当我们的客户,我们努力构建可用于其课堂的教学软件。
我们在三所市立高中拥有三个配备 Mac II 和 Quadra 电脑的固定教室,其他市立高中的额外教室目前也在规划之中。我们正在努力支持该市的数学与计算机科学课程。数学课程的重点是在城市环境中落实全美数学教师理事会(NCTM)标准(NCTM, 1988)。这里的一个重大议题是:教一门能使学生有能力参与现代社会的课程。在一个许多学生来自经济困难家庭的大型城市学区,这是一个格外重要的问题。
我们已经创建了一系列开发系统(J. R. Anderson, Corbett, Fincham, Hoffman, & Pelletier, 1992; J. R. Anderson & Pelletier, 1991)。我们已在其中实现了三种编程语言(LISP、Pascal 和 Prolog)的导师、初等算术导师和代数 I 导师。我们计划在该系统中构建一个几何导师,把 Koedinger 和 Anderson(1993)的几何导师扩展为构造、探索、猜想与证明相结合。这个导师开发系统的一个主要目标是易用性。这既意味着方便教师使用和修改系统,也意味着让尽可能多的人能够用该系统开发软件。
开发一个导师的实际过程有五个可辨识的阶段:界面构建、课程规定、认知建模、教学设计与课堂部署。下面逐一讨论。
界面构建与迁移问题
开发导师的第一步,是界定学生的问题解决将要发生于其间的那个世界,也就是学生与计算机之间的界面。把界面设计置于产生式系统设计之前,代表着我们导师构建方式的重大重构。在早期的工作中,我们从一个认知技能的抽象产生式规则模型出发;界面设计是一项次要却并不琐碎的任务,我们考虑的是在屏幕上描绘产生式与目标的最优方式,以及适当的学生动作集合。我们现在的看法是:我们所教的技能,就是在特定界面中进行的问题解决。因此,必须先设计界面,才能识别产生式规则。界面设计中我们必须面对的重要问题是迁移(transfer):学生学习所用的界面,将对他们技能迁移到哪里产生重大影响。
设计界面时,必须记住技能应当迁移到的那个领域。那个领域往往仍然是纸笔。例如,多数大学的数学系仍然期望入学新生熟练掌握纸笔代数运算。然而,目标技能越来越多地涉及计算机软件的使用。因此,我们目前在代数导师中试图教的能力,有一部分就是如何使用电子表格、符号操作包和绘图程序。确定了目标技能之后,就必须设计界面,使技能得以向这些目标技能迁移。迁移问题是一个心理学问题;在这里,值得区分迁移得以发生的三种层级。
完全相同的产生式。 导师练习的产生式规则可能与目标领域的产生式规则完全相同。在这种情况下,我们会预期完全的迁移。例如,如果目标领域是一套计算机系统,而我们的导师教的就是如何使用它,就可能是这种情况。另一些情况下,导师的产生式只会与目标领域的产生式部分重叠。在后一种情况下,Polson 和 Kieras(1985)以及 Singley 和 Anderson(1989)表明,迁移量将是产生式规则重叠程度的函数。例如,我们的编程导师聚焦于代码的选择而非语法,语法由结构化编辑器代劳。因此,从我们导师结业的学生是成功的编码者,但在没有结构化编辑器的测验中会在语法上遇到一些困难,因为他们没有习得必要的语法产生式。尽管学生必须在掌握语言的其他方面之后再补学语法,这看起来并不是一个主要的学习障碍(Goldenson, 1989a, 1989b)。
动作的转换。 即使导师的产生式与目标领域的产生式不同,学生也可能明显看得出如何把所学产生式的动作转换为目标领域中的适当行为。例如,我们观察到,从让学生通过菜单选择编程结构的导师,到要求学生凭记忆写出这些结构的测验环境,迁移程度相当高。这是因为对多数学生来说相当明显:既然他们在导师中是从菜单里选择”writeln”,那么在向标准文件写代码时就应该把它打出来。在 1986–1987 年的几何导师研究中,我们发现学生从证明图形式做证明,到两栏证明形式,迁移程度很高。这一次转换不那么显然,但教师曾与学生一起讲过证明图与传统两栏证明之间的关系。
陈述性迁移。 即使一个领域中的动作无法直接转换为另一个领域中的动作,底层能力仍可能发生陈述性迁移。因此我们发现,用 LISP 导师练习编码的学生,在求值 LISP 表达式方面做得相当好(尽管这两种活动之间几乎没有完全的迁移;J. R. Anderson et al., 1989)。这是因为这两种技能都依赖于对 LISP 的同一种陈述性理解,而学生必须先把陈述性表征搞对,才能习得成功的编码产生式。
近来,学生未能跨领域迁移的情形引起了极大的兴趣(Lave & Wenger, 1990)。在我们的视角下,迁移何时会发生、何时不发生,并没有什么神秘之处。迁移要求学生在训练领域中习得的产生式规则,能够解决目标领域中的问题。在训练领域规则的动作与目标领域所需不同的情形下(如菜单选择对书写),学生必须能明显看出如何把一个动作映射为另一个动作。在某些著述中,人们会得到”不迁移才是常态”的印象。然而,我们的辅导研究表明,由产生式规则重叠所预测的迁移相当常见。我们在某个导师之外的纸笔测验中每报告一个积极结果,都是一例迁移。
在我们的导师开发包中,界面构建有两种途径。一种是自己构建界面。我们有一套基元(primitives),便于开发这类界面,并把它们与我们的产生式模型关联起来。另一种可能是拿现成的软件,给它加上挂钩(hooks),使它链接进我们的辅导系统。无论哪种情况,与界面交互都要满足以下要求:
- 发向界面的动作必须经由导师传递。导师需要知道学生采取了什么动作,才能跟随学生沿其所追求的解题路径前进,并提供适当的指导。
- 导师必须被告知任何界面动作对界面状态造成的后果。基本上,认知模型需要在其工作记忆中维持学生所见界面的一个表征。
- 导师必须能够自己执行界面动作。
在满足这些约束的前提下,我们能辅导的界面种类没有限制。我们尤其乐于采用市面上通用的软件,并就学生在该软件中的问题解决进行辅导。学生离开我们的导师之后,仍将拥有一个有用的问题解决环境(迁移问题也随之最小化)。例如,我们正在做一些工作:用 Excel 辅导学生的代数问题解决,用 Sketchpad 辅导学生的几何猜想(Key Curriculum Press, 1991)。使用这样的界面,我们可以坐享多年努力所带来的灵活、可靠与高效。
课程构建
一旦规定了学生展示问题解决能力的环境,下一个问题就是:他们要在该领域展示何种能力。规定能力,归结为确定期望学生在该领域解决的问题类型,以及对其问题解决施加的约束。在这一点上,我们的态度是:从作为客户的教育共同体那里获取规定。例如,在与匹兹堡公立学校的数学教育者合作时,他们想要学生解决什么问题,我们就采纳其意见。幸运的是,我们选择的客户正处于在城市环境中实现 NCTM 标准的前列,因此我们相信我们的导师会有更广的适用性。
客户对计算机问题解决界面也有很强的发言权。例如,在几何上,正是匹兹堡公立学校选择让我们使用几何画板(Geometer’s Sketchpad;Key Curriculum Press, 1991)。不过,那个问题解决界面的确切形式早已由其他力量决定。他们做这个选择,就像选用教科书一样:他们无法规定界面的微观结构,正如无法规定教科书的确切内容;但像教科书一样,他们可以规定界面该如何使用。
在特定界面之内,客户对他们想让学生解决的问题、以及想让学生在什么约束下解决这些问题有自己的构想。约束问题是这里的关键。例如,客户可能想用一个自带代数符号操作包的软件,但想阻止学生在课程的某些部分使用该包,以锻炼学生自己的符号操作能力。这相当于教师可能就如何解题给学生的那种指示。
尽管我们的软件最初是为响应一个客户的需求而开发的,其他客户可能想带着稍有不同的目标使用它。这意味着我们必须允许他们选择解题的约束以及实际要解的题目。最好有一个设施,让教师能够录入新题目。此外,教育者需要能够使用某些辅导选项。前文我们描述过多种辅导模式,如即时反馈、标记辅导(flag tutoring)和按需辅导(demand tutoring)。我们当前的导师开发包允许所有这些不同的辅导模式,教育者可以在其中选择。
我们的导师将跟踪学生在各条产生式规则上的表现(知识追踪),并在学生掌握这些规则时让他们升入课程的下一阶段(掌握学习)。同样,教师需要能够在某些环节关闭掌握学习或知识追踪,或覆盖这些设施。
产生式系统建模
规定一个问题解决环境,以及在该环境中要解决的一组受约束的问题,就等于对目标能力做出了行为层面的规定。作为认知建模者,我们的主要任务是弄清:这种能力意味着怎样一组底层产生式规则,它们能够以认知上合理的方式生成那种行为能力。这就是构建学生模型(student model)的任务。这样的学生模型之所以可用,在于它能向界面发送动作,而这些动作将构成该问题的一个正确解法。多数情况下,解题路径不止一条,理想的学生模型必须能够非确定性地生成全部解法。
产生式规则对工作记忆中的信息做出响应。典型地,工作记忆中的信息有两类:关于问题当前状态的信息,以及关于目标是什么的表征。在某些情况下,比如几何问题中待证明的命题,目标表征是直截了当的。然而,当目标用自然语言陈述时(如编程问题),如何表征它可能相当棘手。我们不想表示或建模理解题目陈述所涉及的自然语言处理:那实在无法可行地建模。因此,我们以某种形式表示我们认为的自然语言理解的产物。问题在于,人们很难忍住不把问题解法的一部分悄悄塞进那个表征。这样一来,我们可能就没有充分表征学生所面对的问题,或需要学习的技能。
一旦规定了解题的产生式规则,就需要能把学生的行为与这些规则匹配起来。这要求给规则加上与学生行为相匹配的测试,使导师能够确定哪些规则在学生头脑中激发了。出现歧义时,必须从与规则一同存储的模板生成消歧菜单。
这项工作的成果可以看作一个”无需教学”(instructionless)的导师,类似评估一节所描述的无解释导师,能够以多种导师模式(如即时反馈、标记、按需、无导师)部署。它能为学生识别错误在哪里,并指出正确的行动路线。然而,它说不出为什么一个动作是错的、另一个是对的。那有待下一阶段构建陈述性教学。
陈述性教学
正如本文开头所指出的,部分领域能力来自导师之外给出的陈述性教学。导师的成功运作,以这些陈述性知识的成功习得为前提。这些陈述性教学有的涉及一般概念(如什么是内错角),有的传达一些信息,这些信息将充当陈述性基础,产生式规则将由其编译而来(如证明两直线平行的一种方法,是证明其内错角相等)。这种陈述性教学可以来自课堂讲授,也可以来自课文材料。我们常常为学生提供专门编写的配套材料。最近,我们成功地使用了一种可与导师并行访问的超文本设施。这些教学的内容,由即将学习的小节中要学习的产生式规则确定。教学试图提供阐释这些规则的例子,并在例子上加注评论,以突出规则的重要方面。我们教学方法的一个总原则是极简主义:不说多余的话。这一明智的做法多数教科书并未遵循,但它得到了研究的充分支持(Reder & Anderson, 1980; Reder, Charney, & Morgan, 1986)。尽管这种导师外部的教学很重要,对导师开发系统更要紧的,是从导师内部提供的两类陈述性教学。
错误消息。 学生出错时,可以呈现一条消息,力图就该错误告诉学生一些有用的东西。这需要编写缺陷产生式,并给这些产生式附上教学。一般而言,我们不试图对错误的认知根源做深度诊断,而只是力图解释它为什么是错的。
帮助消息。 学生可以在不同时刻请求帮助,或被判定为需要帮助,从而生成一条帮助消息。这些消息由一些模板生成,这些模板与”在该时刻本应激发的正确产生式”相关联。
关于如何呈现帮助消息,有若干问题。我们一直努力使系统尽可能把消息做得简短中肯,哪怕消息听上去不像人话。另一个问题涉及呈现的通道(modality)。虽然我们一直以视觉通道给出这些消息,但我们希望为教学增加听觉通道。以视觉通道教学,会干扰同属视觉通道的问题加工;以听觉通道教学,则会进一步抬高短消息的价值(Ladday, Levine, & Suppes, 1981)。
另一个问题涉及如何应对过度使用提示、因而学得甚少的学生(Shute, Woltz, & Regian, 1989)。我们发现,把知识追踪与求助行为挂钩,是对付提示滥用者的有效办法。如果学生在导师中的进度取决于最终要无须帮助地解出题目,那么除非真正需要,他们就不会求助。
关于帮助消息,还有两个悬而未决的问题:一是是否向看起来需要帮助的学生主动提供帮助;二是把所有内容放在一条消息里呈现,还是提供一连串渐趋明确的连续消息。当前导师中的提示规约,旨在让学生尽可能靠自己完成,其依据是心理学研究:被试对材料的记忆,取决于他们在多大程度上参与了该材料的生成(J. R. Anderson, 1990, 第 7 章)。因此,我们当前的导师从不主动提供帮助,只在被请求时提供。¹⁴ 此外,我们当前的导师采用渐次提示(successive hinting)的方案:最初的帮助只给出模糊的刻画,随后的帮助消息越来越具体,直到明确告诉学生该做什么。然而,这些未必是最佳选择。有些学生固执地拒绝求助,哪怕确实需要。另外,就渐次提示策略而言,学生常常对最初的模糊消息感到恼火,干脆认定求助功能毫无用处。导师在课程中的部署方式,也可能影响帮助消息的内容。当学生在自定步调的课程中或以其他方式独立使用导师时,如有必要就必须明确告诉学生该做什么,好让他们得以继续。在课堂上,学生如果不理解某个解释,与教师互动可能更好,因此帮助消息可以点到为止,不去描述具体的动作。
脚注 14:这可以看作在导师内部嵌入了让学生自行发现概念的机会。
课堂部署
考察这些导师实际上是如何部署的,是件有意思的事。在 CMU,编程导师用于自定步调、自学自练的环境。与导师配套的课时虽然存在,但主要用于行政目的。学生通过阅读准备好的课文和做题成功地学习。遇到导师处理不了的特殊问题时,可以去找教师,偶尔也确实去。他们还会凭借在导师中积累起来的能力,在导师之外做一些较大(但仍然适度)的项目。
尽管这种相对无教师、相对孤立的模式对我们的编程课程行之有效,但对于导师在公立高中中的普遍部署而言,这一模式并不可行。CMU 模式依赖以下事实:(a) 我们的编程导师经过设计,恰好只交付我们想教的材料;(b) 我们对自己的课堂有完全的控制;(c) 我们面对的是相对成熟的学生,他们自主前来、普遍熟悉计算机;(d) 我们期望入门编程课程的学生在其他学生不在场的情况下展示技能。这些假设在一般情况下都不成立。我们编程课程的特殊性质,使它成为研究技能习得与辅导问题的绝佳实验室,却也使它不能代表这些导师在其他教育环境中将如何部署。
美国高中数学课的典型教育环境,在几个方面与此形成对照。第一,各州、各学区的课程差异很大,一个学区之内几乎每位教师之间还有更小的差异。结果,任何数学导师都只能交付特定教师所教课程的一部分,因此导师必须与其他课堂活动整合。第二,学生还不够成熟,无法简单地出现在一个没有教师的班里自己学习。他们会过于频繁地以导师无法补救的方式卡住,纪律问题也会滋生。第三,NCTM 在其标准(1989, 1991)中把教授小组问题解决放在重要位置,因此小组活动将在不同程度上取代个人技能表现。
我们的导师已在这类课堂中取得了一些成功。目前,匹兹堡当地一所高中有 30 个代数、几何和 Pascal 编程班级正在使用一间基于 Mac II 的导师教室。这些课程的学生在导师练习与其他课堂活动之间交替,因此使用导师的感觉就像在常规课程中上机房,尽管学生可能把多达三分之二的课堂时间花在机房里。
学生与这些导师交互的方式及其对课堂组织的影响,令我们印象深刻。Schofield 和 Evan-Rhodes(1989)以及 Wertheimer(1990)的早期报告描述了其中许多情况;由于班级规模更大,以及自最初课堂研究以来的社会变迁,这些效应在当前的课堂中更为醒目。学生在机房里与机器一对一工作,但这绝不意味着他们在孤立地工作。教室里持续进行着交谈,不同的学生比较各自的进度并互相帮助。在学生需要适应某个新界面特性的情形中,同伴指导尤为关键:关于如何使用该特性的信息,就像任天堂游戏中新招数的信息一样在教室里传播。我们已经认识到,如果没有这种同伴协助,我们的导师不会如此成功。同伴互助对帮助者而言,也可能是一种更深入理解材料的好途径。一名有效的教师在这样的课堂里相当活跃,巡视全班,为那些从导师或同伴那里都得不到所需帮助的学生提供帮助。导师实际上成了一个助手,处理较为常规的学习问题,让教师得以专注于更困难的问题。借助其知识追踪算法,导师还能分别监控每个学生的进度,提供教师永远无法独自完成的簿记功能。
教师似乎需要在课堂里待上一段时间,才能领会”导师作为教学助理”(tutor as teaching assistant)的模式,并把它发挥到极致。
学生对导师课堂的态度相当积极,甚至因此带来一些小的纪律问题:学生翘掉别的课来做导师上的额外练习,下课时拒绝离开,还会提早到校。不过总的说来,导师课堂中的纪律问题和课堂管理问题要少得多。进步与成就带来满足感。课堂访客会为如下事实所震动:学生整节课都沉浸在学习任务之中。教师尤其称道少数族裔学生取得的成功,这些学生在传统课堂中常常是疏离的。我们相信,学生之所以乐于接受我们的导师,与我们的导师在多大程度上实现其根本主张——体现对问题解决细节的准确认知模型——成正比。若果真如此,与导师的交互就大体与学生的思维相一致;而当交互不一致时,它们会把学生引向正确的方向。虽然学生不会有意识地依据认知保真度来评价这个系统,但他们非常清楚由此带来的学习轨迹的顺畅。在一个富有挑战性的问题领域中能力不断增长的感觉,是大多数人都会积极回应的。
导师课堂管理的相对轻松,也令我们印象深刻。如果让教师花几周时间熟悉基本软件,他们似乎就能从容地适应导师课堂。¹⁵ 这与许多课堂改革的努力形成鲜明对比——教师报告说,那些改革加诸他们的要求令人精疲力竭。我们的课堂之所以相对轻松,是因为导师包揽了与课堂相关的全部簿记和低层次教学,教师可以专注于为那些计算机不够用的学生提供一对一辅导。他们普遍觉得这是一个令人满足的角色,并且提升了他们作为学科专家的课堂威望。之所以行得通,是因为我们的导师引人入胜:当教师给某一名学生个别关注时,其他学生仍专注于任务。¹⁶
脚注 15:不过,教师要真正把导师用出全部效果,可能需要更长的时间。有一些证据表明,教师使用导师的第二年,学生的成绩提升更高。
脚注 16:这只有在我们的导师没有 bug、易于使用、并允许从机器崩溃之类的故障中恢复时才成立。当教师与学生的互动不得不聚焦于计算机或导师、而非所教的学科领域时,典型的教师会变得非常沮丧。
反思
与我们最初”让 ACT* 接受严峻检验”的目标相比,我们已经走了很远。确实收获了大批实证数据,它们在促成新的 ACT-R 理论的过程中发挥了主要作用(见 J. R. Anderson, 1993)。我们已经完全放弃了最初把辅导视为对人类导师加以模仿的观念。我们现在把导师看作一个学习环境:在其中可以提供有益的信息、选择有用的问题。我们之所以能够采取促进学习的行动,是因为我们拥有一个认知模型,知道学生在这项任务中所处的位置。
虽然我们没有放弃为理解人类认知做贡献的目标,但应用把我们引向了相当遥远的议题。特别是随着导师开发包和大规模应用,我们发现自己要处理软件工程的问题。尽管我们努力把内容方面的决定权交到”客户”手中,我们还是不可避免地被卷入关于高中教育的内容与目的的问题。最后,我们的课堂中还存在一些重要的社会现象,它们对我们的导师的成功至关重要,因而需要我们去理解。
许多此类议题最终可能被证明,对我们的导师的成功比其认知保真度更为重要。然而,令我们感慨的是,10 年之后,一般的认知建模取向在我们的新应用中似乎仍然可行而且重要。
课程问题
我们不想以这种自我表功的调子来结束本文。我们被说服来正视一些人对我们工作怀有的种种不安。他们的不安大概有许多维度,但本文的评审让我们聚焦于与导师所交付课程的性质相关的问题。我们冒昧引用他们的三段评论,然后加以回应。
我想相信,这一领域十年的研究,已经让作者们对教什么、怎么教、以及如何评估教学的效果形成了扎实的见解。然而,作者们非但没有在这些领域为教育者提供指导,反而似乎愿意放弃这一责任,甘居技术专家的角色:不管合适与否,现行课程规定教什么就教什么。
我们已就如何评估效果(达到规定成绩水平所需的时间)表达了明确的见解;除此之外,这位评审的论断是正确的。¹⁷ 我们的 10 年经历,确实没有为我们就匹兹堡市在决定其数学课程时所面临的一些关键问题提供建议奠定基础。其中一些问题,已经由 NCTM 标准之类的东西非常负责任地处理了,市里也已采纳这些标准。然而,坦率地说,这些标准仍然留下了城市环境中的数学教育所面临的一些重要问题。这类问题的一个例子是:课程应在多大程度上教学生”可就业”的技能(如使用电子表格),又应在多大程度上为学生的大学数学做准备(如准备好理解微积分基本定理的证明)。作为公民,我们可以对此类问题持有意见,但我们的辅导工作并没有告诉我们不同教育目标的相对价值。
脚注 17:然而,要赞同这位评审的意见,需要把”现行课程”理解为匹兹堡的代数与几何课程,该课程沿循 NCTM 标准,并在某种意义上有所超越。
导师构建项目背后的信念是:学科内容可以表示为一个产生式集合。我禁不住怀疑,导师作者们对学科内容的特定选择——无论有意还是无意——反映了这一信念;因而,那些不太契合这一理论框架的材料被弃置不顾。
就这个论断而言,这位评审在实质上是正确的,尽管我们再次从中看到多少有些不同的含义。当存在实质性的产生式规则成分时,我们的导师才有最大的潜在影响。因此,我们没有去教加法这类简单的算法技能,而是聚焦于高中数学,因为在我们看来,最大的影响应当在那里。一些”高级”领域基本上是陈述性的。例如,我们考虑过做一个认知心理学导师,但结论是:本科课程通常所教的知识体系大都是事实性的,所需涉及的推理链非常有限。(顺带说说,以本领域公民和一本认知心理学教科书作者的身份,我们认为这反映了该领域教学目标上的一个严重问题。)此外,开发认知建模是一项昂贵的事业(我们估计每条产生式规则需要 10 小时甚至更多),要把数学较高级领域所涉及的全部能力都建模出来,可能既不经济也不可行。
不过,尽管存在这些实际的限制,我们不认为这一取向存在任何根本性的局限。例如,我们目前正在几何的语境中开发一个关于探索与发现的导师,因为人们通常认为这类技能在我们的导师领域之外。虽然我们还没有任何教育结果,但我们可以报告:这些技能完全能够在产生式系统的框架内建模(诚如更早的研究已经会指出的那样;如 Klahr & Carver, 1988)。
我觉得这种基于产生式规则的学科内容取向……嗯……不怎么有趣。我很难相信,一个学生会自主选择去学几何——会回到家就开始摆弄几何图形、剪纸、模型或随便什么——基于使用这些导师的经历。
我们认为,人们很容易低估”获得学习成就”这一单纯体验所产生的动机收益。匹兹堡公立学校系统内部对我们导师的热情,其主要原因是动机上的收益,而非成绩上的收益。也许我们最喜欢的轶事,发生在另一个州一所拥有 LISP 导师的学校:一名学生因为接触 LISP 导师受限而心生沮丧,故意辱骂一位教师,给自己换来为期两天的停学。他用那两天时间从家里拨号连入学校的计算机,完成了 LISP 导师上的课程材料。
尽管课程内容的问题至关重要,学习上的成就本身就是一种非常能赋予人力量的体验。回想自己的学习经历和当初学习所处的环境,人们很容易把”能够学习”视为理所当然,而只关注学的是什么。在许多美国学校里,“会有东西被学会”这一点是不能想当然的。
(参考文献从略。)
译注: 1. 本文依据 macOS Vision OCR 文本翻译,OCR 无法辨认或明显错乱的段落,均已对照原扫描件(PDF 渲染图像)逐页核对后补正,主要包括:第 2 页”系统拥有一个计算模型……“一句、第 3 页 ACT 理论三条信条之首(程序性与陈述性知识之分)、第 5 页”导师研制的起步工作”一段、第 6–7 页”错误反馈与帮助”及模型追踪诸段与图 1、图 2 图注、第 8 页脚注 3–5、第 11 页错误率与脚注 6、第 17 页脚注 8–10 及三种实验条件、第 19–20 页第 4 因素之前诸句与图 4 图注、第 21 页预测方案一句、第 22 页反馈控制权一节开头、第 24 页 LISP 导师反馈数据(15%/22%、65%/38%、90%/91%、76%/80%)与图 5 图注、第 25 页 McKendree 各段、第 27 页三个固定教室与开发系统诸句、第 28 页开头”纸笔代数运算……三个层级”一段、第 29 页迁移段落、第 30 页课程构建一节开头、第 31 页学生模型一节、第 32 页超文本与极简主义诸句、第 33 页渐次提示诸句、第 34 页 CMU 模式四条事实与美国高中对照诸段、第 35 页脚注 15–16、第 36–38 页脚注 17 与三段评审意见及回应。 2. 原文第 194 页(本文第 28 页)“part of the competence we are trying to teach in the current algebra tutor is how spreadsheets, symbol manipulation packages, and graphing routines”一句疑有排版脱漏(“how”后疑脱”to use”),译文按”如何使用电子表格、符号操作包和绘图程序”译出。 3. 原文第 183 页几何导师新评估中第二种条件作”tutor without nonproject teacher”,按上下文(共四种条件:项目教师×有无导师、非项目教师×有无导师)疑为”tutor with nonproject teacher”之误,译文照原文字面译出并在此说明。 4. 表 1 的循环 7、8 中代码在原书扫描件中即存在括号不配平之处(如 let 局部变量表写作”(let ((count)“),系原文排版如此,译文未作改动;各循环中学生新输入的代码在原书以粗体排印,译文以粗体标出。 5. 原文正文使用上标数字标注脚注,译文改为”脚注 N”的形式附于相应段落之后;图 3 为代数导师屏幕截图(含方框记法与错误消息”15=4X is wrong because you added 3X instead of its inverse to X. Try again.”),其截图内容未逐字翻译。