编程教育中的智能导师系统:架构、设计与应用*
2020-01-11孙发勤
孙发勤 冯 锐
(1.扬州大学 新闻与传媒学院,江苏扬州 225009;2.南京农业大学 公共管理学院,江苏南京 210095)
一、引言
新一轮科技革命和产业革命的孕育兴起,对人才需求发生了巨大变化,对教育也提出了新的要求,在中小学阶段开展人工智能与编程教育成为大势所趋。2017年7月,国务院在《新一代人工智能发展规划》中首次明确提出,要“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育”[1]。在2018年新发布的课标方案中,信息技术、通用技术、数学等都加入“了解物联网、人工智能、大数据处理”等与编程教育相关的知识内容[2]。由教育部发布的 《2019年教育信息化和网络安全工作要点》也指出,要“推动在中小学阶段设置人工智能相关课程,逐步推广编程教育”[3]。因此,为了提高基础教育阶段学生的未来数字适应力,现阶段迫切需要在中小学推广实施编程教育的相关课程。
智能导师系统 (Intelligent Tutoring System,ITS)最早出现于20世纪80年代初,是一种基于规则的专家系统,研究和开发的最初目标是模拟学生与人类导师之间的教学和互动。智能导师系统根据学生在某一特定领域的知识现状,动态调整呈现给每位学生的个性化学习内容,并提供学习支持和反馈,以支持学生的认知。其主要优势在于:它是具有智能的交互式应用程序,能够根据学生的需求和偏好,动态改变学习材料的内容、呈现和反馈,并及时调整教学过程和教学策略。智能导师系统可以提供与学习者一对一的个性化学习指导和全面详细的教学反馈,是一种基于学习者需求的定制教学,能帮助有着不同学习需求和特征的学习者,更精准地获得知识和技能[4]。
目前,传统学科的智能导师系统已受到广泛关注,并形成不少成功的应用案例。比如,在数学应用领域,Brown根据学习者模型设计的减法导师,根据儿童在减法中遇到的问题,设计了针对学习者水平的减法学习资源[5];林建祥等着重研究了领域知识的专家系统,如何训练和指导学生的微积分演算求解能力[6]。在外语应用领域,蒋艳等研究了“句酷批改网”的工作原理,然后通过实例分析了“句酷批改网”作为智能导师系统所面临的挑战[7];梁迎丽等设计了基于语音评测的英语口语智能导师系统[8]。在生物学应用领域,Olney等在生物学课程中利用自然语言理解技术,分析学生的话语,然后提供适当的指导和形成性反馈[9]。王世敏、贺继东等在系统架构上,对通用智能导师系统进行过研究[10-11]。
从目前的研究现状开看,相关研究主要集中在传统的学科领域,受时代背景的制约,大部分都是基于早期的专家库系统,编程教育的相关应用研究,目前仍比较鲜见,尤其是人工智能时代背景下关于K-12阶段的编程教育的编程导师研究,更是凤毛麟角。
二、智能导师系统应用于K-12编程教育中的必要性
(一)编程教育的特殊性需要智能导师系统支持
关于编程的定义有很多种,一种典型的定义是:在计算机或任何其他自动化设备上,通过使用预定义的规则和语义,来表示事实、数据或信息,从而对问题的解决方案,进行编码、建模、模拟或呈现过程[12]。因此,相对于其他学科,编程有如下三个重要的特征:第一,编程强调全过程再现。编程者与计算机的“对话”应该包含解决问题过程的每一步,步骤的分解颗粒度应该小到编程语言的“元操作”。如,采用Scratch编程,则过程必须细化到利用现有的“积木块”如何解决问题的每一步骤。第二,观察学习成为重要学习方式。学习者无需言语即可与讲授者进行交流,只要通过观察演示者编程的过程,就能学习到演示者是如何对问题进行界定、分解和解决的。如,直播网站Livecoding.tv通过实时编程过程的直播,来提高学习者编程能力。第三,编程需要学习情感的支持。传统的编程过程是一个与机器交互的过程,机器是冷冰冰的,无法感知到学习者的学习情感,也无法与学习者进行情感交流。当学习者长时间面对没有情感的冷漠的计算机屏幕,而感受不到师生交互的乐趣和教师的情感激励时,不仅容易对学习产生反感,影响学习效果,而且还可能危害到学习者的心理健康[13]。
(二)解决师资匮乏需要智能导师系统支持
编程教育师资力量薄弱且分布不均。首先,在高考和中考政策的指引下,现阶段K-12教育的师资重点分布在中考、高考的考试学科中,作为“副科”且又是新兴学科的编程教育,师资储备极为缺乏,因此,编程教育师资资源很难在短期得到满足。其次,仅有的师资主要分布在经济发达地区,城乡差异大,且相关师资主要来自信息技术老师、合作院校的研究生及部分产品厂家的宣讲讲师,由于信息技术教师课程知识结构陈旧,合作院校的研究生水平参差不齐且流动性大,合作厂商的讲师知识局限及服务时间短,因此,在这些学校开展编程教育同样存在较大教师资源压力。最后,一些乡村及边远贫困地区的学校甚至连基础课程师资都很缺乏,更谈不上发展编程课程的师资。而编程智能导师系统拥有的大量在其他发达地区形成的优秀课程资源,以及编程智能导师系统所具有的共享交流、远程协助、智能辅导等相关学习辅助功能,能有效降低编程教育对当地相关师资数量及质量的需求,在一定程度上能解决边远及欠发达地区的师资问题,落实国家关于在中小学逐步推广编程教育的难题。
(三)未来个性化学习需要智能导师系统支持
随着物联网、大数据和人工智能技术与教育应用场景的深度融合,未来的学校教育将全面进入“人机协同”时代:机器将承担更多“教”的功能,人类教师则会把更多精力放在“育”上,因此,智能导师将是未来教育中“授业解惑”的主体存在。传统的“一刀切”学习系统已不再有效,学习者在动机、先验知识、个性、情感、文化等特征上存在差异,将影响教育主体者的教育实施过程。因此,为每个学习者提供个性化教学也将成为一种必然的选择。
智能导师系统支持的个性化教学分为三个层面。第一,个性化学习服务。以学习者为中心,学习环境、步调和教学方法都是根据学生的独特需求、优势和兴趣量身定做的。第二,个性化安排服务。学习者对自己的学习拥有主动权,可以制定和调整智能导师的学习计划,为学习者设定目标、定期评估学习情况、理解和反思学习过程提供了机会。第三,个性化互动服务。学习者定期与其他在线学习者、教师或业界工程师合作,通过多种途径交互,感受真实的编程体验。智能导师系统利用全新的技术手段,从学习行为轨迹、学习状态数据中,寻找学习者的学习困难和瓶颈位置,为学习者提供有针对性的学习干预和个性化学习[14]、安排及互动支持服务。
三、K-12编程教育智能导师系统的架构
(一)传统的智能导师系统架构
智能导师系统的设计和开发,是以计算机科学、认知科学、心理学、学习科学、计算语言学、人工智能等学科的理论和模型相结合为技术基础的,其最初研究和开发目的,在于模拟学生和人类导师之间的教学和互动。例如,2014年康斯坦蒂娜(Chrysafiadi K.)提出,一个典型的智能导师系统架构结构应包括四个部分,即知识领域模型、学生模型、教学模型、互动模型[15]。其中,知识领域模型,存储向学生讲授的学习材料;学生模型,存储关于学习者的知识水平、能力、偏好和需求的信息;教学模型,提供学生诊断和辅导控制,并根据智能导师系统的其他组成部分提供的信息,做出适当的教学决策;互动模型,提供系统与学习者交互的界面,如图1所示。
图1 康斯坦蒂娜智能导师系统架构
Murphy与Robert也认为,一个典型的智能导师系统架构,至少应该包括三个相互作用的部分:领域模型、学生模型和辅导教学模型[16]。刘清堂等认为,智能导师系统应该包含四部分内容:领域知识库、学生模型、教学策略与推理模块、人机接口[17]。李红美等在研究智能教学系统支持英语学习的研究中,将智能导师系统概括为包含学习模型、教师模型、专家模型及智能接口四个部分[18]。
通过对国内外智能导师系统架构的相关文献梳理,我们发现,典型的智能导师系统,包括知识模型(领域模型)、学生模型(学习模型)、教学模型(教学策略/教师模型)三部分内容;部分扩展的模型加入了智能接口,实现了和学习者的智能互动。从文献分析来看,目前的智能导师系统架构,都无法满足在编程教育中实现对编程过程记录、编程情感支持及编程知识独有的呈现方式的需求。因此,需要对现有的模型进行扩充和改进,建立符合编程需要的编程智能导师系统。
(二)K-12编程智能导师系统架构的设计
鉴于编程学科与传统学科(如,数学、生物等)的教学及实施过程不同,为了建设符合编程教育特点的智能导师系统,在设计K-12编程智能导师系统时,需要重点考虑以下三个核心问题。
1.建立对学生全方位的立体画像
传统的智能导师系统可能只需要关注学生的静态特征(如,学生的人口属性、认知特征、元认知特征、学习准备等)和知识水平,知识水平评估也更多表现为终结性评估,对学习过程中的形成性评估关注较少。全方位立体画像除了要包含学习者上述的静态特征外,还应该包含学习者知识模型特征及学习者问题解决模式特征。因此,在编程智能导师系统中,需要从编程的过程中,全程把握学习者认知水平及认知过程,重新刻画出一个“活生生”的学习者“画像”。在这个过程中,需要加入知识评估模型,对编程过程中的学习者进行实时知识水平评估及问题解决模式评估。对编程过程的记录,需要在智能导师系统架构中加入追踪模型。
2.提供情感感知、情感支持服务
智能导师系统不仅仅在知识学习上为学习者提供精准服务,还应该是一个具备情感支持系统的智能系统[19]。要做到情感支持首先必须做到情感感知,如何让智能导师系统能感知到机器面前的学习者情感?为智能导师系统配备合适的传感器接入系统,就显得非常重要。如,摄像头可以获得学习者表情数据;手环可以获得学习者的脉搏数据;智能椅垫可以获得学习者的坐姿数据;互动文本可以获取学习者的情绪数据等等。因此,需要构建一个追踪模型,来实时获取和处理学习者学习过程中的情感数据,以便为其提供相应的学习情感支持。
3.优化编程知识呈现方式
编程过程其实是在特定语法框架下对问题解决流程的再现,因此,编程知识最好的呈现方式就是过程再现。当然,在编程学习过程中,也有需要识记的基本概念和使用规范等,使用不同的知识载体承载知识,会有“认知带宽”的差异。因此,需要使用媒体模型,根据学习者学习风格及知识的不同选取合适的方式,向学习者呈现知识。
基于以上分析,我们在传统的智能导师系统架构中,加入对规则化编程行为全过程(行为、情感、其他生理数据)记录和分析的追踪模型、知识水平评估及问题解决模式评估的评估模型,包括自动适配知识承载方式的媒体模型,形成K-12编程智能导师系统架构,如图2所示。
图2 K-12编程智能导师系统架构
四、K-12编程教育智能导师系统模型的设计
(一)领域模型
领域模型描述了学习者需要学习的学科知识体系。包含学科所有概念、技能及它们之间的相互关系。即通过学科领域专家,将某一领域的知识简化为解决问题所需要知识结构,在编程领域,表现为通过自动化工具提取编程学习的领域模型[20]。领域内的知识划分应按照颗粒度粗细,分为不同层次。具体而言,首先将学科总知识目标需求分为一个个知识(技能)块;其次将知识块分割为不同的知识条(群);最后将知识条分解为具体的知识点。如,在Scratch教学中,“角色呈现”可以描述为知识块,“角色移动”就是其中一个知识条,而关于“坐标、正负数”则属于知识点,如图3所示。
图3 领域模型:块→条→点三级知识结构
知识图谱(Knowledge Graph)是构建领域模型的重要手段,它通过利用计算机符号来表示和处理知识,通常使用图的方式来存储知识。在Scratch教学中,图4显示了使用SPO(Subject-Predication-Object)三元组,来描述“移动”这个知识条所包含的知识结构:学习者掌握“移动”,需要了解坐标,坐标包含方向、数值和单位,数值包含正负数、单位和单位长度有关的知识点,而单位长度依赖于“舞台大小”和“舞台”这两个知识条产生关联。
图4 知识表示:资源描述框架(RDF)有向标记图
(二)学生模型
建立有效的学生模型是智能导师系统的关键因素。赵小丹等认为,在智能导师系统中,学生模型主要包括学习者的基本信息、学习风格、知识水平、学习历史及心理状态等几个方面[21]。鉴于上述编程课程注重过程化的特点,本文中的学生模型指的是学习者所特有的静态与学习相关的特征,包括人口属性、认知特征、元认知特征、学习准备等,如图5所示。需要指出的是,本文将与学习者知识水平相关的动态特征数据,划分到评估模型,并将与学习过程、学习情感相关的学习过程数据,划分到追踪模型。
图5 学生模型:学习静态特征描述
如图5所示,学生模型主要包括:(1)人口属性。Cabedo等认为,学习者在开始在线学习之前,自身所具有的特征很重要[22]。本研究中的学习者人口属性,包括性别、年龄、教育层次及专业背景等方面信息。学习者人口属性信息可以直接从学习平台的学习者基本信息脱敏后获得。(2)学习准备。学习准备指学习者在从事新的学习时,原有的知识水平或原有的心理发展水平对新知识的适应性,包含学习动机和初始能力[23]。良好的初始知识和具备良好初期表现的学习者,往往能够在最终获得“成功”[24]。(3)认知特征。认知特征是指影响学习者感知、组织、加工和记忆信息能力的因素,如智力、工作记忆能力和学习风格等。(4)元认知特征。元认知特征是指能够使学生意识到自己的知识和能力,并使其能够监控和指导自己的学习过程。
(三)评估模型
评估模型包含:学习者已经掌握了的知识及程度,即学习者的学习地图;学习者解决在学习过程中因误解和错误而导致的问题,即对问题解决模式的评估。
贝叶斯知识追踪(BKT)是一种常用的机器学习技术,用于建模学习者的知识。这种技术可以根据学习者之前的表现,推断出学习者所具有的知识。它是一个隐马尔可夫模型,其中学习表现是一个可观察的变量,而学习者的知识则是一个隐藏的变量[25]。BKT为每个知识元素定义了两个状态:已学习或未学习;并定义了学习者答题情况的四个概率:(1)学习者已经知道某概念的概率;(2)学习者在经过练习后学会该概念的概率;(3)学习者没有掌握该概念,但是蒙对的概率;(4)学习者已经掌握该概念,但答题失误的概率,模型在学习者提交的每一个答案后自动更新[26]。这种方法可以对学习者知识模型进行评估,但缺点是没有考虑到学习者的遗忘因素及学习者的个性因素。加入LSTM网络结构的深度知识追踪,能较好地解决上述问题。
知识水平并不是知识评估的唯一特征,在学习过程中,学习者的误解和错误也是学习者知识评估的一部分。错误的思想或错误的事实,都可能导致学习者在学习过程中产生错误的理解。智能导师系统同样需要对学习者的错误和错误概念进行建模,最常用的模拟学习者错误和误解的方法是微扰模型。再者,编程教育特别强调问题解决能力的培养,因此,评估模型还需要进一步了解他们是如何掌握这些知识的,即问题解决模式评估,问题解决模式评估模型决定了系统如何引导学习者有效解决问题。
根据学习者解决问题的思路过程,学习者问题解决模式分为独立倾向、猜测依赖、求助倾向、求助依赖及放弃努力五种情况,其解决问题的行为路径如图6所示,不同问题解决模式的行为特点如表1所示。具有独立倾向的学习者的问题解决模式以探索为主,他们会先思考后探索,两次解决问题的行为之间的时间间隔较长,且分布随机,他们喜欢独立思考,不愿意向他人或系统求助;属于猜测依赖的学习者往往不经过思考直接尝试解决问题,两次解决问题之间的时间间隔较短,且分布集中;具有求助倾向的学习者与独立倾向的学习者问题解决行为类似,不同之处在于他们遇到问题后,更倾向于向外界发出求助而不是独立解决;求助依赖的学习者在遇到问题后,不愿意探索也不愿意猜测,而是会反复向外界发出求助请求,直至问题解决;放弃努力的学习者在遇到问题后不尝试使用任何解决问题的方法,直接放弃任务。
图6 不同问题解决模式行动图
表1 不同问题解决模式的行为特点
(四)追踪模型
对学习者学习过程数据的收集与分析,一直是智能导师系统中的关键环节[27]。追踪模型是对学习者问题解决的全过程行为数据进行建模。在学习过程中,情绪是学习者的一项重要的内隐式学习特征,情绪互动的缺失,容易引发学习者产生倦怠和迷茫,进而导致学习动机的下降[28]。智能导师系统通过追踪模型分析编程行为状态(模块选择、鼠标移动、键盘敲击、表情、脉搏等),了解学习者瞬时的认知情感并及时对负面情感进行干预,如图7所示。
图7 追踪模型的数据来源
(1)追踪编程过程:详细记录编程过程中鼠标的悬停位置与时间、每次点击的位置与时间、Block的选择、Block 的拖放、Block 的移动、Block 的删除、Block属性的变化(初值与终值)、鼠标移动轨迹等。追踪编程过程可以分析并推断出学习者的问题解决模式。
(2)追踪认知情感:所有的“认知”都带有“情绪”,情感状态与知识同化和建构活动有关。情感产生于环境与人的相互作用活动中,并影响认知行为,如困境导致的困惑和挫折对学习有负面作用。情感状态虽不能直接测量,但可以通过分析学习者表情和学习者行为来“推断”。因此,通过编程过程中学习者表情数据与脉搏数据,可以了解学习者认知情感状态。
(3)追踪互动数据:利用在线协助,在线学习者可以通过众筹的方式,实现学习互助,系统追踪求助过程的时间、方式、对象、问题等全过程信息。通过充分应用文本分析、机器学习、知识图谱等技术,形成问题解决知识库;应用文本情感分析完善学习者的认知情感,通过文本主题分析完善学习者知识地图;通过优秀作品分享提高受助者的编程能力,同时提高了分享者的学习积极性。
(五)适应模型
适应模型的主要功能为学习资源推荐、问题解决思路提醒及学习路径规划。通过综合领域模型(领域地图、知识库/案例库)、学生模型(学生画像)、评估模型(学习地图、问题解决模式)及追踪模型(学习行为数据及情感数据)等“冷、温、热”数据,智能导师系统能动态监测到学习者所遇到的问题,通过知识推理追溯问题来源,提供解决问题的思路,推荐解决问题所需学习资源;同时,拓展问题的外围知识,建议下一步学习路径等。适应模型是智能导师系统的核心功能,该模型能够根据学习者当前的学习需求,与学习者进行个性化互动,如图8所示。
图8 追踪模型结合学习过程中的“冷、温、热”数据形成决策
(六)媒体模型
媒体模型可提供面向不同用户、不同场景下知识的呈现方式。每个学习者都有其特定的学习风格,因此,需要将领域模型中所包含的教育资源与学习者的特点和需求相匹配,并通过媒体模型来提供符合学习者学习风格的知识呈现方式。不同的媒体类型不仅呈现方式不同,其匹配的技术、知识编码系统及信息带宽也不同。图9显示了在编程教育中常见的知识承载方式,相对于传统学科,流程演示、生活场景是编程教育中所特有的知识承载方式,它们都是编程教育中满足观察学习所需的资源呈现方式。
图9 编程教育中知识的承载方式
五、K-12编程教育智能导师系统应用探索
为了让K-12编程智能导师系统能真正落地,并有效弥补当前编程师资缺乏,解决编程教育中的教育公平问题,切实助力我国K-12编程教育的发展,我们需要进一步解决如下两个问题:(1)K-12编程教育智能导师系统的应用模式是什么?(2)应用的过程中有哪些问题需要我们注意?
(一)编程智能导师应用模式探索
1.课前预习与探索
课前的预习有利于学习者尽早了解课堂中需要解决的问题,并对问题进行初步探索。通过编程导师系统的帮助,学习者可以通过前期已学的知识,对要解决的问题进行初步分析建模,并在编程导师系统中探索解决问题的路径。在探索的问题解决的过程中,学习者通过先前知识的局限与新问题的矛盾,从而发现自身的认知不足与认知冲突,引发了他们强烈的内部学习动机,从而为后续的学习提供动力。
2.课中答疑与辅导
在编程课堂进行前,教师可以通过对前期学习者课前预习与探索过程中遇到的问题,进行汇总与总结,找出本次课中学习者容易混淆或出错的相关知识点及操作步骤,在课堂教学时就可以有针对性进行。由于编程过程是一个相对开放的过程,即使在同一思路指导下,每个学习者都会给出不同的步骤来实现,在这个过程中学习者会出现各种各样的问题。如在我们所组织的编程公益课堂中,主讲教师只需要1名,为了达到较好的教学效果,每4名同学就需要安排1名辅导老师,由此可见辅导工作量的巨大。通过编程智能导师系统,系统可以根据学习者的具体情况,进行智能化的答疑和辅导,从而大大降低辅导工作量。
3.课后分享与提高
在编程教育中,每个编程问题往往都有很多种不同的实现方式。通过线下教师指导或线上智能导师辅导后,学习者会形成一个自己对该问题的解决思路。在智能导师系统中,学习者可以将其解决思路或系统记录的其解决问题的步骤在共享区共享,在分享的同时,他也可以学习到其他学习者的解题思路。学习者通过对比回放其他学习者的解题及实现思路,来学习多角度分析问题、解决问题的方式,以达到提高自身编程水平的目的。
(二)编程智能导师应用问题探索
1.以可视编程为基础,开展可视化编程教学
处于K-12阶段的孩子有着丰富的想象力与创造力,利用可视化编程工具可以降低编程的门槛,孩子们可以将繁冗的语法暂搁一边,利用他们熟悉的“搭积木”模式进行可视化编程,这种编程模式更利于孩子创意的自由表达,提高编程的乐趣。现阶段有很多可视化编程工具,如,Scratch、Google Blockly以及由这两种平台扩展开发的其他平台等。通过这些可视化平台,不仅可以降低孩子们编程的复杂性,还可以降低追踪学生编程行为的复杂度。因此,建议K-12编程智能导师系统能提供类似于Scratch、Google Blockly的编程环境。
2.以协作编程为手段,推进协作化编程学习
协作学习作为一种有效的学习模式正被越来越广泛的应用,但现有的可视化编程平台都不具备协作学习的功能。虽然,Scratch社区可以让全球的开发者将作品上传到社区中,学习者可以通过社区进行相互交流,但因其社区和编程平台是分离的,而无法在编程过程中进行协作学习。因此,需要将协作编程的功能加入到K-12编程智能导师系统中,以实时在线交互功能融入到图形化的编程环境中。
在协作学习过程中,学习者可以通过自我调节、合作调节和共享调节三个不同层次的方法,来调节学习,因此,平台中还可以加入合作编程及共享编程的功能。学习者在编程的过程中,就像玩网络游戏一样,可以通过在线交流工具,与学习同一个内容的学习者,进行文字交流或通过网络共同完成问题的解决;对于优秀的编程作品也可以分享在编程窗口的交流区,通过对优秀作品的回放,学习者可以通过观察学习方式,学习优秀作品的问题解决思路与过程。
3.以开放接口为依托,开启多模态数据采集
为了实现对编程过程中认知情感、编程过程及互动数据的追踪,系统应该提供开放的数据采集接口。制定数据规范、开放数据接口,有利于在编程平台上接入多种学习过程数据,如,摄像头采集的用户表情数据、手环采集的用户脉搏数据、眼动仪采集的用户注意力数据、智能椅垫采集的用户坐姿数据、屏幕监控程序采集的鼠标移动轨迹、编程模块拖放记录数据、用户画像的问卷数据等等。利用人工智能、机器学习等数据处理技术,对学习过程中产生的多模态数据进行综合处理、分析挖掘,对学习者进行准确画像,可以精准把握学习者认知水平与情感状态。
4.以智能导师为核心,实施智能化精准辅导
智能导师系统根据学习者画像、认知水平与情感状态,为学习者制定特定的学习计划,提供个性化干预及符合用户认知风格的教学资源。利用知识表示、知识推理与学习案例库等知识引擎,为学习者提供精准的知识支持。由于智能导师系统在刚开始运行时都会涉及到“冷启动”问题,即系统刚开始运行时由于缺乏数据而导致系统失效。因此,要充分利用智能导师系统协作编程优势,利用“人机协作”来解决编程过程智能导师暂时不能解决的疑难问题,并对解决过程进行记录,形成疑难问题解决知识库。
编程智能导师系统不仅要提供知识支持,还应该提供情感支持。通过对学习过程中学习行为、认知情感与问题解决模式的追踪,系统能及时了解学习者在编程过程中是愉快还是困惑,通过系统内智能代理为学习者提供情感激励,以提升学习者编程过程中的兴趣,帮助其克服编程过程中的困难和不足。
5.以智能伙伴为手段,开展个性化快乐学习
相对于面对冰冷的电脑屏幕,有生动形象的虚拟导师的陪伴,可以减少学习过程的孤独感[29]。智能伙伴是学习过程中情感陪护的一种常见形态,学习智能伙伴是一种以学伴的身份出现的教育智能体,智能伙伴通常以一个虚拟的形象呈现在学习者的屏幕上,通过模拟社会交互行为,来提升学习者的学习表现及学习动机[30]。
利用人工智能技术设计的智能导师,应该具备语言表达、表情呈现及部分肢体动作等功能。通过与虚拟智能伙伴的互动,不仅可以激发学习者的好奇心与求知欲,而且还可以培养贫困地区学习者的普通话水平,弥补在学习过程中遇到的语言环境缺失。综上所述,通过与虚拟编程教师一对一的互动交流,可极大提高学习者的学习兴趣。
六、总结
智能导师系统是未来教育的新方向,现阶段编程教育的普及、师资缺乏及教育公平的实现,都迫切需要对K-12编程智能导师系统进行研究。本文从编程教育的特点入手,结合了传统智能导师系统设计模型,首次提出了包含领域模型、学生模型、评估模型、追踪模型、适应模型、媒体模型六大核心模块的编程智能导师系统架构;具体分析了每个模块的核心功能和技术方案,提出了K-12编程智能导师的应用模式;最后指出系统应用时,要从可视化编程、协作编程、开放接口、智能导师及智能学伴等五个方面重点实施,以实现编程教育的可视化、协作化、智能化、个性化的快乐学习。
由于现阶段尚没有面向编程教育的智能导师系统,后续研究应就如何建立高质量的编程教育智能导师系统,探寻如何将智能导师系统有效应用于编程教学的新模式。智能导师系统应用于编程教学中的效果测评,以及如何建立国家甚至全球层面的编程教育共同体,还需要进行详细且深入的研究。
总之,智能导师系统是一门跨学科研究,相对于教育智能体重点关注促进学习者的认知学习而言,智能导师系统还具备了辅助教师教学的功能。值得关注的是,要建立一个适应多用户层次、有效实用、学习者喜欢、对教师有帮助的智能导师系统并非易事,需要不同领域专家的通力合作。