肖升 李勇帆 阳小
摘 要 编程教学前端分析是保证编程教学顺利实施的基础,包括学习需要分析、学习者特征分析以及教学内容分析。目前对编程教学研究虽已涉及教学模式、教学评价、教学方法、学习者创新思维培养等诸多方面,但仍缺乏系统的编程教学前端分析。由于奥苏贝尔理论能够对教学前端分析的核心问题,如学习心理作用、知识框架构建等形成有效分析,因此本文提出基于奥苏贝尔理论的编程教学前端分析框架,并在此框架下探讨编程教学前端分析所涉及的内容及所应遵循的原则。
关键词 编程教学 前端分析 奥苏贝尔理论
1前言
编程教学前端分析是指在编程教学设计之前,分析直接影响编程教学设计但又不属于具体设计事项的问题,包括学习需要分析、学习者特征分析以及教学内容分。编程作为实践性较强的课程,教学目的通常是使学生掌握编程技巧,因此在编程教学过程中,任教者往往只会重视教学流程设计和教学技巧运用,而不会在意前端分析。但作为后续教学设计的基础,前端分析既是制定教学目标和教学策略的主要依据,也是实现教学内容有效分析的关键手段,还是提高教学效果的重要前提。因此,对编程教学而言,前端分析具有一定的研究价值。
从已有成果看,目前对编程教学的研究虽已涉及教学思想、教学模式、教学方法、教学效果、学习者思维培养等诸多方面,但仍缺乏系统的前端分析。考虑到奥苏贝尔理论能够对教学前端分析的核心问题,如学习需要、学习者特征、教学内容等形成有效分析,以及它在其它教学领域的成功运用,本文提出基于奥苏贝尔理论的编程教学前端分析框架,并在此框架下探讨编程教学前端分析所涉及的内容及所应遵循的原则。
2前端分析框架
戴维·保罗·奥苏贝尔(David Pawl Ausubel, 1918-2008)是美国认知教育心理学家。他的“学与教”理论内涵非常丰富,其中涉及子理论主要有3个,即动机理論、有意义接受学习理论和先行组织者策略。由于动机理论能够分析学习动机,因此可被运用于学习需要分析;而有意义接受学习理论能够分析学习风格和认知结构,因此可被运用于学习者特征分析;加之有意义接受学习理论和先行组织者策略能够分析新旧知识的实质联系和组织结构,因此可被运用于教学内容分析。综合上述三点,本文提出如图1所示的编程教学前端分析框架。
3前端分析内容
在前端分析中,学习需要分析、学习者特征分析、教学内容分析3者是并列关系,均为教学系统设计的后续环节提供依据。
3.1学习需要分析
所谓学习需要是指学习者学习现状和期望之间的差距。学习需要分析的主要目的是找到这种差距,并为缩小这种差距设计能提高学习者学习兴趣的教学目标和方法。学习兴趣是学习者内部动机在学习上的体现,通常认为,内部动机越强,学习者的自主性和积极性也越强,学习者主动学习新知识以及构建知识框架的可能性也越大。奥苏贝尔的动机理论认为,成就动机(学习者试图获取好成绩的倾向)是内部动机的重要体现,并将成就动机分为认知驱力、自我-增强驱力、和附属内驱力。
(1)认知驱力;在编程教学中,认知驱力是指学习者渴望理解、掌握编程知识,以及陈述和解决编程问题的倾向,它是学习者自发形成的驱力,通常由爱好触发。例如,在编程教学开始时,可以介绍图灵奖获得者ken和dmr开发c语言和UNIX的初衷是为了游戏。同时,给学生展示几个有足够吸引力的游戏案例,如最近很受欢迎的消消乐、贪吃蛇大战等,以便让学生知道编程学习和休闲娱乐可以相辅相成。
(2)自我-增强驱力;在编程教学中,自我-增强驱力是指学习者为赢得行业地位而提升自己胜任能力的倾向,通常由外部刺激触发。例如,为了激发学生内心自强不息、坚韧不拔的斗志,可以通过引入同龄人的成功案例,如获得全国第二届微软“编程之美全国挑战赛”冠军——李雪的奋斗历程来实现这一目标。
(3)附属内驱力;附属内驱力是指学习者为赢得附属对象(如老师、同学、朋友等)的认同而努力学习、积极表现的学习倾向。由于具有比较明显的年龄特征,因此,随着学习者年龄的增长和独立性的增强,附属内驱力不仅在强度上有所减弱,而且附属对象也从家长和教师转移到同伴身上。在编程教学中,学生的附属对象上一般为同学或朋友,故而应该发挥同学和朋友的积极作用,例如,在讲授“用数组来实现简单的学生成绩管理系统”这一程序时,教师可以给出不同难度的选题,让学生组队完成任务,通过组内成员间的相互讨论和组间成员间的相互竞争来激发学生提高编程效率的热情。
3.2学习者特征分析
学习者特征分析是指在学习新知识前分析学习者的初始能力和学习风格,以便更好地因材施教。学习者具有的认知、情感、社会等特征都会对学习信息加工过程产生影响。因此,学习者特征分析是决定编程教学前端分析成功与否的关键因素。
奥苏贝尔的有意义接受学习理论认为,形成学习者特征的主要因素包括个性化学习风格和认知结构。
(1)个性化学习风格;个性化学习风格是学习者保持的带有个性特征的学习方式,是学习策略和学习倾向的总和。在编程教学前,如果能够了解学生的个性化学习风格,将有助于教师有针对性地施教。所罗门从信息加工、感知、输入、理解4个方面将学习风格分为4组8类(活跃型与沉思型、感悟型与直觉型、视觉型与言语型、序列型与综合型),并设计了具有很强操作性的学习风格量表。这一量表测试简单,是进行学生学习风格测试的有效途径。学生只需填好量表,并通过简单计算就可以匹配出与自己对应的学习风格。
在编程学习中,活跃型学生思维比较灵活,敢于尝试新的学习方法,但不够严谨,而沉思型学生对问题的解决办法考虑得更加全面细致、透彻合理。可见,不同学习风格的学生各有优劣,所以在编程教学中教师可以根据学生的个性化学习风格进行分组,实现学生间的优势互补。
(2)认知结构;认知结构是指学习者已有观念的全部内容和组织。具体到编程教学中,它是指学生在编程领域内已有观念的全部内容和组织。由于认知结构分析强调“已有性”,因此,首先要重视对学生已有知识储备及技能上限的分析。同时,奥苏贝尔理论认为,认知结构中对新知识获得和保持的影响因素主要有3个:观念的可用性、可辨性和清晰性,因此,在摸清学生已有知识储备及能力上限的基础上,还要进一步分析他们对知识细节的辨析能力、灵活运用能力,以及技能的可扩展空间。例如在讲解“常用字符与ASCII值”编程时,可以结合高中所学的关于数制转换的知识帮助学生理解,但考虑到高中运算不用二进制,学生对常用字符的ASCII码表示也不熟悉,因此不宜过分讲解常用字符与二进制的同质性。
3.3教学内容分析
教学内容分析是对学生起始能力变化为终点能力所需要的从属知识和技能,及其上下、左右关系进行详细剖析的过程。奥苏贝尔提出的有意义接受学习理论、先行组织者策略揭示教学内容各个部分之间的联系,安排其呈现顺序。
(1)有潜在意义材料的挖掘
有意义接受学习理论提出,如果教师能将有潜在意义的学习材料与学生已有认知结构联系起来,融会贯通,学生也能采取相应的有意义学习的心向,从而获得更好的学习效果。实践性较强编程教学中挖掘有潜在意义的材料不仅能激发学生主动思考,还有利于学生形成多种思维方式。例如,实现两个数的交换,数学的思维方式是直接对两个数重新赋值,而计算机思维方式是借助中间变量进行交换,通过“实现两数交换”可以帮助学生理解和掌握多种思维方式,实现更好的教学效果。
(2)教学内容分类
先行组织者是指先于新知识本身呈现的一种引导性知识或材料,它包括上位组织者、下位组织者、并列组织者3类。
豍上位组织者;所谓上位组织者是指包容性和抽象概括性均高于新知识的先行组织者。从知识层次看,作为上位组织者的先行组织者位于新知识的上方,或者说先行组织者是上位观念,新知识是下位观念。例如,在讲解二叉树遍历之前,先回顾二叉树的相关知识,此时,由于二叉树的包容性和抽象概括性均高于二叉树遍历,因此,它是上位概念,或者说它是被引入的上位组织者。
豎下位组织者;所谓下位组织者是指包容性和抽象概括性均低于新知识的先行组织者。从知识层次看,作为下位组织者的先行组织者位于新知识的下方,或者说先行组织者是下位观念,新知识是上位观念。例如,在讲解最优二叉树之前,先引入哈夫曼编码,此时,由于哈夫曼编码的包容性和抽象概括性均低于最优二叉树,因此,它是下位概念,或者说它是被引入的下位组织者。
豏并列组织者;所谓并列组织者是指包容性和抽象概括性既不高于、也不低于新知识的先行组织者。从知识层次看,作为并列组织者的先行组织者与新知识之间存在并列组合关系。例如,在讲解树后序遍歷之前,先引入树前序和中序遍历的相关知识,此时,由于前序、中序及后序遍历都是指遵循某种次序访问树中节点,因此,树前序和中序遍历就是被引入的并列组织者。
对实践性较强的编程教学内容进行分类,有利于帮助学生理解实践性知识,从而形成完整的编程知识框架。
4前端分析原则
由于动机理论强调学生主体地位;有意义的接受学习理论强调知识融会贯通;先行组织者策略强调内容合理分类。因此,在基于奥苏贝尔理论的编程教学前端分析中,应遵循如下3个基本原则:
4.1坚持以学生为中心
一方面,由于学习者是学习活动的主体,学习者具有的认知、情感、社会等特征都会对学习的信息加工过程产生影响。另一方面,由于学习需要分析受学习动机的影响,动机越强,缩小现实与理想间的差距,进行高效教学的可能性越大。因此,奥苏贝尔的动机理论强调学生主体,基于奥苏贝尔理论的编程教学前端分析也应坚持以学生为中心。例如,在双向链表编程教学中,不能仅考虑学习者对双向链表灵活程度的喜爱,还应充分考虑学习者对链结构及链操作的思维和实践基础。
4.2重视有潜在意义学习材料的挖掘
有潜在意义的学习材料是指能够帮助学生更好理解和掌握新知识的材料。在编程教学中,有潜在意义的学习材料一方面可以帮助学生实现新旧知识之间的沟通,建立起基本的知识框架;另一方面由于其挖掘的基础是学生原有的认知结构,因此,可以提高学生学习积极性,即学生在学习新知识的过程中积极主动的从原有知识结构中提取出最易于与新知识联系的旧知识。例如,在学生已掌握了栈相关知识的基础上,进行队列知识的教学时,可以将栈知识作为有潜在意义的学习材料,一方面可以降低队列知识的教学难度,另一方面通过分析栈与队列的异同点,可以帮助学生理解掌握队列知识。
4.3根据组织者类型采取合适的教学策略
根据不同的组织者类型,选择不同的教学策略。只有当先行组织者类型与教学策略匹配时,才能帮助学生更好地理解新知识,建立合理的知识框架,实现高效的教学效果。反之,若两者不匹配,则容易导致学生的思路混乱,不利于建构知识框架,更不能实现高效率的编程教学。例如,由于栈与队列都是线性结构且两者属于并列组织者类型,因此宜采取整合协调的策略进行教学,而不宜采取适合上下位观念的教学策略,如逐级归纳、渐进分化等。
5小结
编程教学前端分析是保证编程教学顺利实施的基础。基于奥苏贝尔理论的编程教学前端分析利用动机理论、有意义接受学习理论和先行组织者策略从如下3个方面完善了传统的编程教学前端分析:
(1)关注学生内部动机、情感、兴趣等对教学的影响,重申学习积极性对教学质量的正面影响。
(2)重视有潜在意义学习材料的挖掘,强调构建包含新旧知识的知识框架是保持教学连贯性的重要基础。
(3)指出对教学内容进行合理分类是实现编程教学优化的前提。
除上述优点外,基于奥苏贝尔理论的编程教学前端分析还存在如下2点不足:
(1)教学情境设计比较欠缺。编程教学的复杂性和枯燥性要求教学情境更加丰富,以便激发学生的学习热情和兴趣;
(2)缺少对教学效果再反馈的分析。编程教学的长期性和更新性要求任教者经常关注教学效果的再反馈和再提升。
故而,在利用奥苏贝尔理论进行编程教学前端分析时,还需要进一步考虑教学情境设计和教学效果再反馈,教学前端分析只有在实践中不断改进,才能与时俱进。
参考文献
[1] 徐伟.步进顺序思想在基于S7-300系列PLC编程教学中的应用探讨[J].实验技术与管理,2017,34(3):183-186.
[2] 王旭卿.学习编程,编程助学——2014年哈佛大学Scratch教程评析[J].现代教育技术,2016,26(5):115-121.
[3] 魏妮妮,宋翌.结对编程在程序设计基础课程实验教学中的研究与实践[J].实验技术与管理,2013,30(12):163-165.
[4] 寇海莲,万正刚.概念图用于C程序设计教学评价的实践研究[J].中国电化教育,2012,(10):114-119.
[5] 吴博.“任务驱动教学法”在“网络编程”课程教学中的应用[J].中国大学教法,2010,(7):63-64.
[6] 张仁竞.基于奥苏贝尔的对话型教学模式构建[J].教育理论与实践,2016,36(13):59-62.
[7] 伍叶琴,郑志辉.论课堂教学时间的理性存在与优化[J].教学与管理,2013,30(7):3-6.
[8] 赫兴无.认知同化说指导下的地理教学策略[J].教学与管理,2013,30(32):151-153.
[9] 冯霞.奥苏贝尔的“有意义接受学习”理论对国内成人教育的启示[J].中国成人教育,2016,(23):17-19.
[10] 丁淑平.基于有意义接受学习理论的非指导性教学研究[J].教学与管理,2013,30(2):12-14.