您好, 访客   登录/注册

平衡再平衡学习理论在Java编程教学中的应用

来源:用户上传      作者:章铁飞 傅均

  摘要:本文基于平衡再平衡学习理论,解释了当前Java教学过程中很多问题产生的根源,提出“推拉”的教学方式,激发学生对新知识技术的好奇心,促进新知识技能替换旧知识,加速新旧知识思维平衡的更迭,并以正则表达式为例解释并阐述“推拉”教学原理,助推学生学习新知识、应用新技能的步伐。
  关键词:平衡再平衡;Java 教学;推拉;正则表达式
  中图分类号:G434  文献标识码:A  论文编号:1674-2117(2020)08-0102-03
  Java程序设计课程是很多计算机院校的基础课程,教学效果的优劣直接影响后续如移动端程序开发以及互联网后端服务器开发等课程的教学。经过几十年的发展,Java程序语言汇聚积累大量的概念和技术,这给教学带来困难:直接灌输大量的知识概念容易沦为填鸭式教育,对于编程语言如此强调动手实践的课程,效果可想而知;如果削减课程内容,收缩课程覆盖广度,又会陷入与C程序语言教学内容重叠的尴尬境地,使得学生无法体会Java语言魅力。
  在实际编程过程中,普遍存在的问题包括相同代码片段的重复与冗余、一个源代码文件中大量类的堆积、过分依赖结构式语言开发方式等。出现这些问题的原因在于学生对新概念的理解应用速度慢,过分依赖旧有的知识技术。根据平衡再平衡学习理论,人脑趋向停留已有知识技能的思维平衡状态,而掌握以及应用新的知识技能,则要求脱离旧有的思维平衡状态达到新的平衡。学习的过程就是旧平衡不断被新平衡替代的过程。
  因此,提升学生接受新概念和新技术的速度,就要加快学生头脑中平衡到再平衡的过程,但大脑又趋向于停留在旧有思维平衡。所以,在教学过程中,要主动地去打破学生头脑中的旧平衡,不断地推动学生进入新的平衡状态。笔者提出“推拉”方法,加速旧有平衡到建立新平衡的过程,即缩短新知识替换旧知识和解决问题的时间,同时引入了正则表达式的具体教学案例,来说明基于“推拉”的教学方法,加速学生理解和掌握运用正则表达式。
  平衡再平衡学习理论
  建构主义学习理论以学生为中心,而平衡再平衡学习理论更进一步,主要描述学生的思维发展过程,其核心思想是大脑学习全新的知识技能后,并不是马上替换旧知识,而是潜藏在思维深处,平常行事时,仍旧采用旧有的成熟思维,直到现实环境证明新的思维能够胜出旧的思维,或者旧思维不再胜任时,才会启用新的思维,采用新的知识技能解决问题。这个过程发生在潜意识中,需要时间且不被意识感知。
  因此,思维能力的提升不是线性平滑上升的,而是呈现阶梯状,如图1所示。只要还能应付当下的问题,根据能量经济性和运作稳定性,大脑不会轻易更新当前的思维结构,即处于图1中的旧平衡状态。即使解决当前问题要大量的重复操作,大脑也不愿脱离当前的平衡。只有当前知识技能对遇到的新问题不再胜任时,旧的平衡才被迫打破,新知识和概念替换旧有的,新的思维平衡状态才会建立。学习的过程就是旧平衡不断被新平衡替代的过程。因此,要加快学生学习新知识、应用新技能的步伐,首要的就是要加快其头脑中新旧思维平衡的替代速度。
  对Java教学的指导
  大学的Java编程教学内容的安排一般是先易后难、先初级再高级。其优势是学生易于接受,不足之处在于学生在面对新问题时,总是采用已知的、熟悉的方式,而不是用高效的方式来解决问题,如将所有的代码都写在同一个源代码中(不以职责为界切分)、大量地复制和拷贝相同的代码片段(不采用构造工具类)等,这是因为学生停留在既有知识的思维平衡中。学生知识能力与当前的问题相匹配,但匹配只是就可解性而言,如果引入新的评价维度,如时间效率,学生当前的知识技术只能低效地解决问题。
  因此在引入新的知识技能前,首先要让学生认识到当前其所掌握的知识技能与要解决的问题在新的评价维度上是不匹配的,进而产生失衡感,催生对新的技能和知识的心理渴望。下面,以解决问题的时间效率维度为例,说明教师如何采用“推拉”方式,加速旧有平衡到建立新平衡的过程,也即缩短理解新知识到替换旧知识解决问题的时间。所谓“推”,就是提供与学生当前知识能力匹配的可解性问题,待学生解决后,再提供大量相同类型的可解性问题,以致学生产生厌烦情绪,激发学生对更高效解决方案的好奇心;所谓“拉”,就是展示新的概念技术如何高效地解决问题,对比“推”过程中的繁复低效,学生自然产生原来可以这么快速方便解决问题的顿悟感,激发其学习掌握新知识技术的内在动力,保证教学过程的流畅性,加速旧平衡的打破到新平衡建立的进度,提升课堂教学效率。
  实际的Java教学案例
  “正则表达式”是表示和处理字符串的强大工具,但繁杂的内容和高度的抽象性让学生心生畏惧,不愿尝试使用,取而代之,学生更习惯自己手写代码实现字符串对比、查找等功能。要打破这种旧有的思维平衡状态,在教学内容设计上,可让学生依次解决如下的问题(在介绍正则表达式之前):
  问题1:输入一字符串,编写一方法找出其中以“13”开头的手机号码;
  问题2:输入一字符串,编写一方法找出其中以“15”开头的手机号码;
  问题3:输入一字符串,编写一方法找出其中以“13”或“15”开头,并且以“9”结尾的手机号码。
  在没有正式讲授“正则表达式”教学内容前,面对上述问题,学生基本是自己动手实现字符串处理功能,代码中必然存在大量的if、else等条件判断语句,学生容易厌烦。同时,教师需要引入代码重用率的评价标准,来评价代码的重用率。虽然上述三个问题属于同类问题,但前者的代码不能直接应用于后者,这种实现方式代码重用率低,每次解决一个问题,都是重复地对大量的if、else条件判断代码的操作(如上页图2),令人心生厌烦也在情理之中。利用大脑对重复劳动的厌恶,基于代码重用率评价维度,笔者构建了打破旧有思维平衡的“推”力。
  在学生完成问题1、2和3后,教师再展示如何利用正则表达式漂亮而简洁地解决上述三个问题,则是建立新平衡的“拉”力。基于正则表达式,三个问题的代码可以完美重用,即第一个问题的代码可以不经修改地用于问题2和问题3,唯一的微调在于表示正则表达式的StringRegex变量,如图3中代码所示,不同问题对应的值不同。通过对比,正则表达式代码重用率高、出错率低、维护简单的多重优点,自然诱导学生建立以正则表达式为中心的新思维平衡,用以解决字符串相关的问题。后续教师可以采用更多的案例来展示正则表达式的强大字符串处理能力,学生则更加容易接受;同时,辅以针对性的练习,可以加快学生对正则表达式的理解与应用。
  结语
  结合Java程序设计教学中的常见问题,笔者提出了“推拉”的教学方式,帮助学生摆脱了对既有知识和技能的惯性依赖,打破了旧有的思维平衡,促进新思维平衡的构建。本文引入正则表达式为具体教学案例,来说明“推拉”的教学方法,加速学生理解和掌握运用正则表达式,激发其学习掌握新知识技术的内在动力,保证教学过程的流畅性,加快旧平衡的打破到新平衡建立的进度,提升课堂教学效率。
  参考文献:
  高振国,刘彦文,赵蕴龙,等.基于建构主义学习理论的Java网络学习系统的设计与开发[J].实验室科学,2011(05):116-119.
  作者简介:章铁飞,男,浙江工商大學计算机与信息学院副教授。
  基金项目:浙江工商大学研究生教育改革项目(YJG2019222);2019年校级线上线下混合式教学改革项目;浙江工商大学省级及以上教学平台自主设立校级教学项目(1130XJ0513027-003)。
转载注明来源:https://www.xzbu.com/9/view-15180922.htm