归因理论在《C语言程序设计》实验教学改革中的运用

时间:2022-09-24 12:42:44

归因理论在《C语言程序设计》实验教学改革中的运用

摘 要:基于《C语言程序设计》实验课程的特点,以归因理论为依据,分析了实验教学中学生归因心理的变化过程,找出不同学习动机产生的原因,并从教学方法、辅助教学环节、实验评价等方面进行改革和创新,采取适当的措施引导学生正确归因,增强自信心和学习的兴趣,达到良好的教学效果。

关键词:归因理论;程序设计;实验;改革

中图分类号:TP434 文献标识码:A 文章编号:16727800(2013)002015303

0 引言

《C语言程序设计》是大学生入学后接触的第一门程序设计类的公共基础课程,它数据类型丰富、结构清晰、运行效率高、灵活性强,旨在培养学生模块化程序设计的思想,达到一定编写、调试程序的能力。程序设计类课程具有很强的实践性,充足的上机实践可以加强对语法的理解和记忆,增强调试程序的技能。因此加强实验环节的指导和学习,对提高课程教学效果有着重要的意义。由于学生对本课程特点缺乏足够、正确的认识,在学习过程中所出现的成败都会给其心理造成一定的影响,错误的认识和理解会对以后的学习行为产生误导作用,而归因理论则为对学生成败进行正确归因提供了理论依据,在学校教育实践中有着重要的指导作用。

1 归因理论简析

归因理论是社会心理学中的重要概念。归因是指个体通过分析他人或自己的行为表现以推论和解释其原因的过程。归因理论是指说明和分析人们活动因果关系的理论,人们用它来对自己的行为进行推论,进而解释、控制和预测周围的环境和随环境而出现的行为。

美国心理学家维纳提出并修订的归因理论是解释学习动机最系统的理论。他认为人们对行为成败原因的分析可归纳为以下6个原因:个人能力、努力程度、任务难度、运气、身心状态、其它因素。维纳又按各因素的性质,分别将其归纳入3个维度:因素来源(因素来自个人条件或外在环境)、稳定性(因素在性质上是否稳定)、可控性(因素能否由个人意愿所决定)。维纳认为,对成功和失败的理解会对以后的行为产生重大的影响。如果把学习失败归因为个人缺乏学习此门课程的能力、课程本身难度大等稳定因素,那么对以后的学习就不抱有成功的希望;如果把失败归因为自己的努力程度不够、运气差等不稳定因素,那么以后的学习就会有更大的动力,成功的希望就很大。因此分析学生思想的问题所在,及如何采取措施引导学生正确归因是讨论的主要问题。

2 对课程的认识、学习中存在的问题

初次接触《C语言》课程时,对程序设计的好奇感使得一部分学生对课程的学习有浓厚的兴趣,并且期望将来自己能开发系统,实现自我价值,以此为动力,上机实践时能积极、自主地利用所学知识设计程序,反复调试程序,不断总结经验、教训,学习效率很高,课堂效果较好;还有一部分学生出于某些原因,例如自己非计算机专业,感觉课程与自己的专业关系不大,或者对编程缺乏兴趣,再加上从不少高年级同学那里听说课程有多么难,就会对课程产生畏惧的情绪,缺乏学习积极性,实验目的不明确,甚至上机干些与学习无关的事情。由此可见,对课程的不同认识造成了在学习过程中存在不同的态度和行为,教师应该从本质上分析学生产生消极学习态度的原因,有针对性地给出相应的对策,帮助学生消除思想上存在的一些误区,端正对课程的认识,进而提高学生的兴趣和积极性,以便达到较好的学习效果。

3 归因心理在实验课中的发展过程

C语言中的实验环节难度是从简单逐步过渡到复杂,可以分为三个阶段。第一阶段为基础性实验阶段,主要学习基本数据类型和选择、循环结构用法;第二阶段为中期提高阶段,主要学习函数、数组的用法;第三阶段为后期增强阶段,学习指针、结构体及文件读写的用法。整个过程结合学生心理变化特点,可将归因心理的发展分为三个时期:正确归因形成期、自我效能敏感期、习得无助消除期。

3.1 正确归因形成期

一个人对自己成败分析的原因会反过来激发他的动机,影响他的行为和期望。在《C语言》实验的第一阶段,程序结构相对简单,但出于刚开始学习的原因,调试过程会经常出现大量的错误提示信息,给学生造成一定的心理影响。能独立将程序调试成功的学生会将成功暂时归因为运气好,对以后的成功并没有太大信心,但随着以后多次成功的出现,这些学生就会逐渐将自己的成功归因为自己学习能力强,增强了自信心和学习积极性。反之,程序调试失败的学生刚开始可能会将失败归因为自己的努力不够,对以后的成功抱有希望,但随着多次实验的失败,就逐渐将自己的失败归因为自己的学习能力差、课程难度大等因素,因此就逐渐降低了自信心和学习的积极性。因此在这个阶段,如何引导学生进行正确归因至关重要。

3.2 自我效能敏感期

在实验的中期提高阶段,增加了函数、数组的用法,程序的结构更加复杂,要求学生能够通过定义、调用函数进行模块化程序设计。数组中面临处理的数据量增大,一些学生由于第一阶段中的基础知识掌握薄弱,造成这个阶段新知识不能很好消化,调试程序屡屡失败,就将自己的失败归因为自己能力低,降低了自我效能感,出现情绪低落、丧失信心,不再抱有成功的希望。反之基础知识掌握牢固的学生,接受新知识的效果就好,取得成功自然会归因为自己的学习能力强,进而提高自我效能感。在这个阶段引导学生客观对待失败是使其取得成功的有力保障。

3.3 习得无助消除期

随着课程实验进入最后的增强阶段,数据类型愈加复杂,要求能够利用前面所学语法结构和算法综合开发程序。程度较差的学生在这个阶段失败感愈加强烈,再加上课程已进入收尾阶段,自己学到最后一无所获,就完全将失败归因为课程太难学、自己不具备程序设计的能力等因素上,感觉失败是无法避免的,结果就会自暴自弃。这个阶段教师要尽一切努力挽救学生的自信,消除无助、恐惧感,重新树立信心。 由此可见,学生个人成败的归因方式与最终的学习效果间存在着密切的关系,这就要求教师在每个阶段针对学生的心理特点从教学方法、辅助教学环节、实验评价等方面进行改革和创新,采取适当、有效的对策引导学生形成积极的归因方式。

4 实验教学方法的改革

4.1 降低基础实验项目的难度

由于学生没有程序设计的基础,刚开始对相关的概念还是似懂非懂的,感觉很抽象、很笼统,这时作为入门实验,教师可以从运行环境和实验内容上尽量降低难度,比如操作环境可以先使用较为简单的TC系统,而且只介绍跟程序运行相关的几个主要命令,切勿将菜单中的所有命令向大家灌输,这样会让学生对这个软件产生凌乱、复杂的印象,甚至厌恶,不愿意去用它,其次是实验内容,挑选出一些使用频繁、简单的语法例子让学生去分析,基于课堂上对于这些内容的多次强调和讲解,大部分的同学已基本掌握,便可以轻松地完成程序的调试,运行成功就会有小小的成就感,就会认定自己具备此课程的学习能力,从而增强自信心。还有部分同学由于知识掌握不牢固,在调试过程中遇到困难,教师可以翻开课本,把相应的知识在书上进行标注,让学生对这部分知识重新复习,掌握后再调试程序,自然就能成功。如此操作,学生就不会将起初的失败归因为课程太难,而是归因为自己不够努力,对以后的成功就会有更大的信心。

4.2 采取协同合作的实验方式

开放、协同的学习方式,有助于促进学生对问题的深入理解,激发其向问题的深度和广度进军。每次实验课可将学生分成多个小组,每个小组推选出一名组长,组长要提前在教师指导下完成本次实验的内容,上课时充当教师的角色对本组成员进行及时地辅导答疑,提高实验课的辅导效率,另外还要对本组成员出现的典型问题进行记录。小组内的成员还可以互相查错,当从对方的程序中找出错误并正确分析、修改时,即是对自己知识掌握程度的一种肯定,证明自己对这个内容的掌握做的比对方好,从而增强了自我效能感。当互相查错完毕,小组长将所记录的共性问题对全体成员进行评讲和强调,避免再次出错。对于本组成员中好的编程方法和思想,小组长要积极向大家介绍,从而提高学生协同合作、自主学习的能力。

4.3 采取任务驱动的实验方式

《C语言》实验的内容是循序渐进的,其实这些内容正是一个实际系统开发过程中所要包含的组成部分。教师可以在实验开始时给出一个基于实际的程序设计任务,比如“学生信息管理系统”,实现学生信息的管理功能,并且告知学生每次实验完成这个系统的一部分,当所有实验做完,这个系统就设计成功。比如:首先设计主函数,利用输入/输出函数编写菜单的雏形;学完选择结构就可以编写菜单选取函数;学完数组,用数组存放所有学生的信息;学完函数,对于程序的每个功能设置一个子函数进行调用;学完结构体,用结构体来存放学生信息;学完文件,将学生的信息保存到文件中。这样每次实验学生就会有一个任务驱动的力量,调试成功就向最终的胜利迈进一步,逐步体会着胜利的喜悦。这样循序渐进,学生就会感觉这个课程并不难,即便偶尔失败,也会归因为自己努力不够,进而增强学习动力,争取下一次的成功。

4.4 采用实验分级教学方法

由于我国地区经济、文化的不平衡,计算机知识普及程度的差异,使得高校新生在入学时对计算机知识的了解和应用技能的掌握程度都有很大不同。有的学生动手能力较强,语法知识掌握较好,轻松完成实验任务后无所事事,将时间浪费在与学习无关的事情上。还有的学生基础较差,面对程序无从下手,实验课的效率过低。因此上机的题目难度对于学习者一定要适当,既不能打击较差学生的积极性,又要给程度较好的学生提供进一步学习的机会。

因此在《C语言》实验教学中应引入分级教学的方法,将实验内容分为普通实验和高级实验。普通实验供对程序设计兴趣不高、知识掌握薄弱的学生选作,主要是一些难度较小的实验项目,要求掌握最基本的语法知识,熟悉程序设计的一般应用技能。高级实验供动手能力强,对程序设计兴趣较高的学生选作,实验项目要求除了掌握最基本的知识外,还有数组、指针、结构体及文件等复杂数据结构的应用,培养综合程序设计的能力,最后附带一些课程设计的案例,供学习者进一步参考。

4.5 结合多媒体技术讲解实验

在每次实验的过程中,总会出现一些共性的问题,教师逐个去讲解会增大教师的工作量,降低工作效率。在上实验课的机房安装多媒体设备,上课开始的10分钟,教师将本次实验中的难点及容易出错的地方向大家先做讲解,并通过投影仪演示整个调试过程,这样就避免了逐个学生重复讲解,获得事半功倍的教学效果。本次实验结束前,还可以对大家出现的新问题进行汇总,通过屏幕演示给大家看,出错的同学还可以跟随屏幕中的操作步骤同步进行调试,增强学生实际操作的技能。

4.6 加强课外实践力度

在课程内部的实验教学主要是为了加强对课堂所学理论知识的理解,实验的内容与课本知识紧密相关,可以培养学生的实际操作能力,但要真正调动其参与实践的积极性,培养学习兴趣,就需要带领学生开展一些与课程有关的课外活动,比如职业技能大赛、科技创新性的活动,并与一些单位、部门联系开发一些具有实际应用价值的小型系统,在巩固所学知识的基础上,让学生感觉到学有所用,从而增强自我效能感,以更大的激情投入到学习中。

5 实验评价环节改革

教师对学习效果的评价,对学生以后的学习方向有很好的引导作用。应当客观、合理地进行评价,既要积极地发现学生进步的表现,给予适当的鼓励,让学生增强自信,还要发现学生的不足,及时指出算法上有待改进的地方,进而培养学生的创新能力。

5.1 评价准则

每次实验课完成后,对上机效果的评价不能单以程序运行结果正确度为准,结果并不能反映学生的综合能力,单看结果更有可能助长互相拷贝等虚假行为。应综合考虑学习态度、算法设计、调试程序的能力以及实验结果等多种因素,给学生一个合理、适当的综合成绩,有助于学生客观、正确地认识自己,既肯定了优点,又发现了不足。

5.2 实验报告评价

实验报告是每次实验课之后的书面记录,通过书写既可以使学生对自己的知识体系有清楚的认识,也有助于教师及时发现学生实验课的问题。评价时主要参照的内容有:①调试过程:即在本次实验中遇到了哪些语法错误,原因是什么,采用什么方法进行修改和调试;②实验结果:即本次实验所有项目调试成功之后的运行结果,要有输入和输出数据;③实验结论:本次实验用到了哪些语法知识点,根据实验的完成情况总结自己对这些知识点的掌握程度,对其他同学好的程序设计思想进行借鉴。

5.3 综合实践能力考核

当本学期所有实验项目完成后,应安排一次系统的上机考试,检验学生对整个实验内容的掌握情况。考试的环境可以模拟国家二级计算机等级考试软件,考试结束后成绩一目了然,对于错题,分析出错的原因,这样既让学生对自己的学习效果有直观、正确的评价,而且也提前熟悉了大型考试系统的操作流程,强化了自己的实践技能。

6 结语

《C语言》是一门实践性很强的程序设计课程,实验课在整个课程体系中占有至关重要的地位,课堂效果的好坏直接决定了对知识的掌握程度。在整个实验课的进程当中,学生的心理也会逐渐发生变化,归因理论为正确分析与判断学生学习成败的原因提供了理论依据,教师可以采取适当的对策引导学生进行正确的归因,增强自信心和学习积极性,加强自我效能感,在教学方法、手段上进行改革和创新,以取得良好的教学效果。

参考文献:

\[1\] 杨林慧.归因理论在教育中的应用\[J\].文教资料,2006(12).

\[2\] 成新文.归因理论在C语言实验教学中的应用研究\[J\].硅谷,2008(12).

\[3\] 张筱兰.基于问题解决的协同发展学习设计\[J\].电化教育研究,2006(5).

\[4\] 王宇英.C语言程序设计实验分级教学改革探索\[J\].新西部,2010(3).

\[5\] 石玉强.《C语言程序设计》课程实验教学改革\[J\].现代农业科学,2009(5).

\[6\] 宋加涛,王蔚.任务驱动法在C语言实验教学中的应用研究\[J\].合肥工业大学学报:社会科学版,2010(2).

上一篇:贵州高校大学生消费观的调查与思考 下一篇:影响黑龙江省村落体育发展的因素分析