提要高等院校中程序设计课程是一门很重要的基础课程,其理论性强、应用性广,知识结构抽象复杂,知识内容不易于理解,加之传统教学方法不宜于调动学生的学习主动性,学生在学习过程中时感枯燥无味,教学效果不甚良好。建构主义教学方法可以弥补传统教法的不足,通过创设情境,调动学生学习的积极性,有助于学生自主学习和协作学习能力的提升,从而使学生掌握扎实的程序设计知识和学习方法。
关键词:建构主义;抛锚式教学方法;支架式教学方法
一、程序设计课程的特点及建构主义理论
程序设计课程是高校计算机相关专业学生的专业基础课程,同时也是非计算机专业学生的公共必修课程,在对学生的整体教学计划和课程设计中占据着非常重要的地位。程序设计课程是对数学知识的延伸和应用,具有相当的逻辑性,学好程序设计课程对于提高学生的抽象思维能力和逻辑分析能力有极大的帮助。但由于各类程序语言均存在着概念抽象、语法繁多、数据结构复杂等特点,对于初学者来说学习起来有一定难度,尤其是在传统的“以教为中心”的教学模式下,学生的学习兴趣不高,知识再生能力较差。为了提高学生的学习效率、帮助学生牢固地掌握知识和技能、提升学生的信息素养,就需要转变教学观念,探索出有助于学生长久发展的教学方法。
建构主义学习理论认为学习是学习者在原有经验的基础上,在一定的社会文化情境中,主动对信息进行加工处理、建构知识意义的过程。其核心是:学生是知识意义的主动建构者,而不是外部信息刺激的被动接受者;教师是学生在学习过程中主动建构知识意义的帮助者,而不是知识意义的灌输者。wwW.133229.cOM在建构主义学习环境下,学生的知识不是通过教师传授而获得,而是自己在一定的情境下,借助于他人的帮助,利用必要的学习资料,通过意义建构的方式获得。建构主义学习理论有利于学生发散性思维、批判性思维和创造性思维的培养,有利于学生创新精神和实践能力的提升。
二、建构主义教学方法的应用
在建构主义学习理论指导下,在“以学为中心”的教学模式中,包含着两种较为成熟的教学方法:抛锚式教学方法和支架式教学方法。
(一)抛锚式教学方法及其应用。这种教学方法要求建立在有感染力的真实事件或真实问题的基础上,确定这类真实事件或问题被比喻为“抛锚”。建构主义认为,学习者要想完成对所学知识的意义建构,即达到对该知识所反映事物的性质、规律以及该事物与其他事物之间联系的深刻理解,最好的办法是让学习者到真实情境中去感受(即通过获取直接经验来学习)。抛锚式教学方法由创设情境、确定问题、自主学习、合作学习和效果评价等环节组成。
示例:冒泡排序法的教学设计。排序是处理数据时常用到的一种计算方法,在很多实际应用中都会涉及到排序。冒泡排序是一种经典的排序,其基本思路为:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后,并重复以上过程。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
1、创设情境。用多媒体演示实际社会中某项比赛所采用循环赛的过程。模拟5个人参赛代表5个数,先从第5个人与第4个人开始第一场比赛,比赛后的胜者(即是二个数比较后较小的数)交换到前面,再与第3个人比赛,依此类推,直到最后胜者(第一名即最小数)交换到第一个位置为止;再对剩下的4个人重复上述比赛过程,直至所有人的名次排好为止。
2、确定问题。对上述实例进行讲解,详细阐述冒泡排序的含义和规则,提出问题:写出5个数的冒泡排序程序代码。在给出问题的基础上,要对解决问题所用到的知识技能点加以讲解,本例中需用用到数组、循环结构、分支结构等知识点。
3、自主学习。教师提供给学生某些线索,如每轮指定一个位置的数,依次和后方的数进行比较,如果比较中发现指定的数字较大,则交换位置,并且每轮比较的次数递减一。
4、协作学习。在自主学习的基础上,对学生进行分组,以小组为单位讨论并写出算法流程图,并确定如何用循环和分支程序结构实现算法,最后编写代码。
5、效果评价。可以用同样的教学方法解决另外一种排序方法,以此来检验学生对知识的掌握和迁移能力,来评定教学效果。
(二)支架式教学方法及其应用。这种教学方法是为学生建构对知识的理解提供一种概念框架。这种概念框架是为发展学生对问题的深刻理解所必需的,为此,事先把复杂的学习任务加以分解,以便于把学习者的理解逐步引向深入。支架式教学方法由确定主题、创设情境、独立探索、合作学习、效果评价等环节组成。
示例:方法调用的教学设计。方法是面向对象程序设计中重要的知识点,其概念抽象,理解起来有一定难度,方法是函数和过程的统称,近似于数学中函数的含义。通过支架式教学方法,帮助学生充分理解方法的含义与调用过程。
主要参考文献:
[1]周玲玲,尹观海.基于建构主义的“复杂学习”课堂教学设计[j].教育与职业,2010.12.
[2]李咚.建构主义在高职计算机应用基础课程中的应用[j].教育与职业,2010.8.
[3]何克抗,李文光.教育技术学[m].北京:北京师范大学出版社,2009.
[4]蔡红.建构主义教学方法在c程序设计教学中的应用[j].上海教育科研,2007.8.