情境教学模式在“C语言程序设计”中的应用研究*

2012-10-20 05:39郭华丽李伯飞
中国教育信息化 2012年5期
关键词:C语言程序设计C语言程序设计

王 云,郭华丽,李伯飞

(山西师范大学 教育技术与传媒学院,山西 临汾 041004)

情境教学模式在“C语言程序设计”中的应用研究*

王 云,郭华丽,李伯飞

(山西师范大学 教育技术与传媒学院,山西 临汾 041004)

C语言具有概念抽象、语法结构复杂、数据类型繁多的特点。“C语言程序设计”是一门理论性较强、教学内容不容易理解的课程,本文针对该课程的特点,结合多年的教学实践经验,将情境教学模式应用于教学过程中,取得了较好的教学效果。

C语言程序设计;教学案例;情境教学模式;教学效果

一、引言

“C语言程序设计”是高等院校为计算机专业开设的一门必修课,也是非计算机专业的一门重要基础课,还是国家计算机等级二级考试中的考试课程。C语言既能像低级语言一样对位、字节等进行操作,又具有高级语言灵活、便于程序员编写的优点,是学习ASP、Java、C#等高级语言的基础。对于初学者而言,C语言相对其他语言,具有概念抽象、语法结构复杂、数据类型繁多等特点,在传统“C语言程序设计”教学过程中教师往往照本宣科,不重视学生实践能力及问题解决能力的培养,导致许多学生尤其是非计算机专业的学生学习起来很吃力,有的甚至对该课程的学习产生抵触心理。如何解决传统教育中的这些问题,本文将情境教学模式引入到“C语言程序设计”课程的教学过程中,取得了事半功倍的教学效果。

情境教学模式是指教师在教学过程中,创设生动形象的情境,使学生产生感性的态度体验,从而理解教学内容、消化教学知识点、完成教学目标,进而优化学生的知识结构、智力水平、情感态度的教学模式。[1]情境教学模式的关键是情境创设,情境的创设将教学内容渗透到学生的情感活动中,让学生自觉地全身心投入到课程的学习之中,自觉地将知识内化并深刻记忆。[2]这种教学模式下活泼融洽的课堂气氛增加了学生之间交流的机会,能激发学生的学习动力,同时角色扮演和游戏等活动也有利于学生团队意识和组织能力的培养。常用的情境教学法有:直观情境教学法、问题情境教学法、角色扮演情境教学法、游戏情境教学法等。

二、“C语言程序设计”情境教学模式的案例

1.直观情境教学法案例

直观情境教学法要求教师采用实物、模型和言语等方式产生生动的表象,从而丰富学生的感性知识并逐步引导升华到深刻的理性知识。

案例1:讲授“栈和队列的特性”这一知识点时,可以采用如下的直观情境法。

(1)栈的特性。拿一个木桶代表栈(只能在一端放置积木,移走积木),往木桶里放积木(积木就可看成元素),放置了几块积木后会发现:最先放置的积木,反而出现在了木桶的最低端;最后放置的积木反而出现在木桶的最上端。由于移走的时候只能在同一端,所以最后放置的积木反而最先就可以移走,如图1所示。这就充分反映了栈的“先进后出”的特性。

(2)队列的特性。拿一个塑料管代表队列(管有两个口,可以在一端放置积木,在另一端移走积木),按顺序放置了几个积木后发现:最先放置的积木也最先出现在了管的另一端,也就可以最先移走,如图2所示。这就充分反映了队列的“先进先出”的特性。

案例2:讲授“地址”概念的时候,可以用“教学楼”、“教室”等概念来创设直观情境,帮助学生理解“地址”概念。假定教学楼里每个教室里只有一个学生,通过教室的门牌号就能找到想找的学生。类比一下,假定教学楼为内存,学生为变量,那么是不是就可以很快断定教室的门牌号为此变量(学生)的地址?

2.问题情境教学法案例

问题情境教学法要求教师创造未知问题,制造悬念或形成“认知”上的冲突,让学生主动地探索发现。[1]问答具有集中学生注意力、激发学习兴趣、启迪思维、锻炼表达能力及提供反馈信息等教育功能。[4]

案例3:讲授“函数间数据传递的两种形式”时,可以创设这样的问题情境:给出以下程序,请同学们写出输出结果:

很多同学的答案是:

“调用交换函数之前x的值为10,y的值是20

“我拼命为这个国家而战,毕生尽力做好事。”利夫西告诉记者。按照利夫西的说法,他事后已派人去那家餐馆结账,还给当时的送餐员留下小费,餐馆老板也有意撤诉。但是,当地警方对此事穷追不舍,就为了“让我出洋相”。“这是我一生中遇到的最糟糕的事!”这名八旬老人抱怨。

调用交换函数之前x的值为20,y的值是10”

而上机实现的运行结果是:

“调用交换函数之前x的值为10,y的值是20

调用交换函数之前x的值为10,y的值是20”

为什么不同呢?这样的问题打破了学生原有的旧观念,“吊足胃口”,学习欲望也比以往高涨,学生会主动分析缘由,也为教师的知识讲述埋好了伏笔。相比传统教学模式更加引人入胜,让学生积极地参与到解决问题的过程中,提高了学生认识问题和解决问题的能力。

3.角色扮演情境教学法案例

角色扮演情境教学法,顾名思义指采用角色扮演的教学手段创造情境。这种教学模式充分地体现了教学中“以学生为主体”的思想,学生站在自己所扮演角色的角度分析和解决课堂中出现的问题 (这种问题可以由老师提出来,也可以由学生自己发掘)。C语言教学中有些知识点可以采用这种方法。

案例4:在讲述一维数组的元素引用时,可以利用学生的座位特点,让学生练习元素的引用。

角色扮演是以某种任务的完成为主要目标,在设定一个教学目标后,学生无论是亲身体验或是从旁观察,都务必将注意力专注于活动的进行过程中,这样学生在课堂中借着自身经历的过程来学习并获得知识,获得的知识更加形象且记忆深刻。

4.游戏情境教学法案例

爱因斯坦说过:“兴趣是最好的老师”。学生若对某门课感兴趣,就会自发地产生一种对这门课的自信心和克服困难的意志。在教学中我们可以创设游戏情境,将知识点“渗透”到趣味性很强的游戏中,激发学生克服困难的斗志,营造一个趣味盎然的课堂气氛,让学生自发地努力探索知识。

案例5:在讲述冒泡排序和选择排序的时候,可以安排一组同学在课堂上演示每一趟排序后的顺序。

游戏过程:安排甲、乙、丙、丁、戊五个同学分别拿着标号为“5”、“9”、“8”、“4”、“3”的大纸牌。 教师发命令,学生按照命令站好自己的位置,冒泡排序游戏过程具体实施情况如下表1所示。

选择排序游戏过程具体实施情况如下表2所示。

表1 冒泡排序游戏过程

表2 选择排序游戏过程

在这样的游戏中,如果有同学站错位置,就给予惩罚。这样学生为了赢得游戏,就要复习排序算法,并且只有真正掌握其实质才能做好游戏。这种教学模式无疑能增强学生的求知欲望,激发学生的学习兴趣,无形之中提高了学生学习、复习知识的积极性。将“排序算法”这样抽象、枯燥、难理解的知识点穿插进游戏情境中,能让学生觉得新颖、有趣,让学生在乐趣中学习,并能保持记忆的持久性。

三、“C语言程序设计”情境教学模式的反思

通过以上的教学案例,本文认为“C语言程序设计”的情境教学模式应该从以下三个阶段实施。

1.第一阶段:研读教材,设计情境

教师在设计情境之前应该认真研读教材内容和教学大纲,系统地梳理教材各个知识点及重难点,形成知识框图(可运用概念图等工具)。教学情境必须按照教材知识的逻辑顺序进行合理的设计,把教学内容分成许多连续的知识点,形成一个由浅入深、由简到繁的系列。[5]

2.第二阶段:进入角色,体验情境

在情境体验阶段,学生共同讨论问题,自由地发表各自的观点,同时教师要鼓励学生质疑。教师要给予学生最大的发挥空间,同时根据学生的状态和对问题的理解程度进行恰当的引导(直观情境中,教师要运用生动丰富的教学语言和肢体语言向学生展示各个概念和原理),引导语句要有递进性和启发性,帮助学生完成知识构建并注重学生逻辑思维能力和问题解决能力的培养。

3.第三阶段:反思情境,归纳总结

在情境教学活动中,情境的创设产生了很好的教学效果,但是如果学生自觉性差或者不善于概括就可能导致其知识掌握不到位(片面或者零散)。例如角色扮演中某些学生惰性较强,往往只学习与自己扮演角色相关的知识,以应付课堂提问,掌握的知识只是冰山一角。又如问题情境是以问题的设疑为主线展开,问题之间相对独立,学生所学的知识都是七零八落的“个体”,不利于学生认知结构的形成。教师需要在每堂课的最后,把学生“拉”回到教学目标中,重新回顾所涉及的知识点及课堂中的问题并进行总结、补充。

四、结束语

“C语言程序设计”课程内容抽象,理论性强。在传统的教学模式中教师往往采用“填鸭式”教学方式灌输知识,不利于学生自主学习能力的培养。另外,“C语言程序设计”课程的知识点涉及计算机原理、操作系统等高层次概念知识,很多学习者学习起来较为困难,传统教学模式不利于学生实践能力及问题解决能力的培养,将情境教学模式引入到该课程中,可以很好地解决这些问题。情境的创设可以让学生主动参与到课堂中,激发学生的求知欲望,培养学生发现问题、解决问题的能力,极大限度地开发了学生的智力和潜能;可以使抽象的知识形象化,将难理解的概念生动地展现在学生面前,让学生理解原理,避免了死记硬背,达到事半功倍的教学效果。

[1]冯卫东.情境教学操作全手册[M].南京:江苏教育出版社,2010.6.

[2]张九华.创设教学情境,打造魅力课堂[J].江西青年职业学院学报,2010(6):96.

[3]廖丽芳.教师教学情境创造力策略[M].长春:东北师范大学出版社,2010.9.

[4]朱晓鸣.基于Internet情景教学模式的思考[J].计算机教育,2008(16).

[5]高凯,李倩华.情景教学模式在中职计算机网络课程中的应用初探[J].中国科技博览,2011(2).

[6]屈勇,基于信息技术的情景教学策略研究[D].西南大学硕士学位论文,2009.

G424

B

1673-8454(2012)05-0064-03

全国教育科学规划教育部重点课题:网络环境下适应性远程考试系统的实证研究(GFA111016);山西省研究生教育改革研究重点课题:农村教育硕士信息化教育策略研究(20112029);山西省2011年高等学校特色专业建设项目:教育技术学;山西师范大学“十二五”重点学科建设项目(教育学)。

(编辑:金冉)

猜你喜欢
C语言程序设计C语言程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
PLC梯形图程序设计技巧及应用