《C语言程序设计》教学方法浅析
2011-12-29毕莹
成才之路 2011年3期
摘要:《C语言程序设计》是程序设计的入门课程,也是学习计算机的基础,但是由于C语言的理论性、概念性强,运算符、数据结构多,学生在学习这门课程过程中往往感觉难度大,不好学。为此,本文针对此问题,在教学方法方面提出了一些建设性的意见。
关键词:趣味性;任务驱动教学模式;创新能力
C语言是目前世界上流行、使用最广泛的高级程序设计语言,很多学校的计算机及其相关专业都将《C语言程序设计》作为必修课,但是在这门课的授课过程中,很多教师感到力不从心,教学效果不理想,因此,探讨一套行之有效的教学方法就显得尤为重要。
一、增加课堂趣味性,提高学生的学习兴趣
工作中我们常常有这样的体会,并不是所有的教学内容都是有趣的,如《C语言程序设计》与其他课程的教学相比,就愈发显得枯燥。现代心理学的研究已证明:愉快、欢乐、适度平稳的情绪能使中枢神经活动处于最佳状态,保证体内各系统的协调一致,充分发挥机体的潜能。在课堂中安排有趣味的例子吸引学生、培养兴趣,刺激学生的好奇心,能使教学有趣有味,达到事半功倍的效果。在多年的实践过程中,笔者的趣味教学得到了学生的认可,学生由厌学上升到喜欢学,受益匪浅。
由于C语言是计算机相关专业最基础的课程之一,学生一般在学习C语言之前,对程序语言没有任何概念,这就增加了教学的难度。为了增加学生对C语言的趣味性,教师在授课过程中,可以适当的演示一些用C语言编写的声音、图形、动画等小程序,使学生明白C语言编写的程序不仅仅是那些枯燥的文本数字,知道C语言的重要性,从而产生浓厚的兴趣。同时,授课过程中多创设一些情境,例如在通过讲解 “九宫图”问题时,我们可以这么讲解:请大家做一回黄蓉,帮靖哥哥填九宫图。为逃避裘千仞的追杀,靖哥哥背着黄蓉逃进瑛姑的住所,瑛姑出了一道难题,要求靖哥哥将1~9这9个数字填入九宫图中,使得横向、纵向、斜向的数字之和均为15。这种方式就使问题变得非常形象化。总之,所有的教学方式的选择都应该以增加课堂趣味性,提高学生学习兴趣为基准,使学生由被动学习转变为主动学习。
二、重视教学内容的组织,突出重点、难点
在教学过程中,教师一般都按照教材的编写顺序来讲解,在《C语言程序设计》中,前几章介绍的都是一些变量、运算符、表达式、控制语句等,这些内容对于一群之前没有接触过编程的学生来说,显得非常的枯燥乏味,容易打击他们的积极性,从而产生厌烦情绪。因此,教师在授课过程中,应该以程序设计为主线,将这些内容的讲解都融入到程序设计当中,让学生多动手、多思考,这样的学习过程不仅使学生掌握了最基础的知识,也增加了学生的学习能力。
另外,教师在《C语言程序设计》的教学过程中要突出课程的重点、难点。如:
1. 复合语句
复合语句就是用一对“||”把若干语句括起来构成一个语句组。复合语句是C语言中最重要的一种语句,也是比较难理解、容易混淆的语句。教师在讲解这部分时,可以给出一些程序示例的源码,让学生进行自主分析。
2. 指针
C语言学习中最重要,也是最难的一点就是指针的使用,正所谓“学好了指针就等于学好了C语言”。
首先要让学生理解指针的概念。其次,让学生理解指针和地址在概念上的区别。再次,让学生区分内存单元的指针和内存单元的内容。最后,让学生掌握指针的相关操作(指针函数参数、指针数组、指针函数等),要注意在实践应用中让学生学会如何运用指针解决问题。
三、加强课堂间的讨论,增加课堂的互动
《C语言程序设计》和其他学科一样也有很多待讨论的问题,所以讨论在《C语言程序设计》教学中占有很重的地位,如一些开放型问题、疑难问题等,都比较适合讨论。
1. 提出讨论的主题
即创设讨论的“焦点”问题。教师可以自己先设计一些问题,让学生针对这些问题提前阅读资料,再展开讨论,也可以让学生自己提出问题。
讨fagfpioCBeoYgH0urc6eB/cviDFzUPzdkPvQA+9nyNA=论的主题可以是多种多样的,例如:
(1)根据教材的重点和难点,为便于学生掌握并加深理解而精心设置的题目。例如:指针的调用、指针作为参数的传递等。
(2)探讨性的题目。如在教学中,学生之间对某个问题的认识发生分歧,或者学生对教材中的结论提出怀疑时,教师不作正面回答,将分歧点和疑点交给学生讨论。例如:两种不同算法之间的效率比价等。
(3)设置一些难实现的问题引发讨论。例如:如何用C语言实现链表等。
总之,讨论的主题应是探讨性或比较难实现的问题,也可以是解释性或应用性的问题。一个明确的事实或共识的观点,是无法引起讨论的。讨论题不能太简单也不能太深奥,太简单会让学生觉得无话可说,或者几句就说完,积极性调动不起来;太深奥,学生会感觉吃力,无从下手。对于一个较大或者较复杂的问题,可以将问题化小,按层次序列化。
2. 列出讨论提纲
为防止讨论时跑题,或者没有焦点,教师可以预先准备一个讨论提纲,以便学生在讨论时能有次序、有焦点地进行。
3. 讨论前的准备
宣布讨论的原则,向学生介绍讨论的题目、目的以及评价等具体问题;根据讨论的形式作必要准备。对于需要做资料调查或实验准备的讨论,可以预先布置讨论的任务,让学生分工去搜集资料、从事调查或实验,写好讨论发言稿,然后再进行课堂讨论。
4. 展开讨论
组织学生发言,可以有以下的形式:自由发言、指定主要发言人、临时指定发言人或者轮流发言等。
四、引入任务驱动教学模式,提高学生创新能力
任务驱动教学模式的实施过程是学习者在教师的引导下,紧紧围绕一个共同的任务活动中心,在问题动机的驱动下,通过对学习资源的积极主动应用,进行自主探索和互动协作的学习。在学习过程中,学生通过完成相应的任务,构建真正属于自己的知识与技能。
1. 提出任务
任务的提出应该说是任务驱动教学模式中最为关键的第一步,任务设计的好坏能够直接决定教学目标的能否成功实现。任务是课堂教学的“导火线”,是问题提出的表现。任务驱动的特点是:把所要讲授的内容巧妙地隐含在一个个任务中,使学生通过完成任务达到掌握所学知识的目的。因此,教师在授课之前应该悉心设置任务。
例如在讲解控制语句时,可以提出以下任务:
任务1:根据学生成绩决定奖学金等级。
任务2:小学生四则运算程序的开发。
通过这些任务,可以使学生很好地理解:(1)if…else…多分支选择结构;(2)switch开关结构;(3)选择语句的嵌套。
2. 分析任务、搜集资料、发现问题、解决问题
任务给出后,教师不要急于讲解,应先让学生讨论、分析任务,搜集相关的资料,提出完成任务需要做哪些事情,发现要完成任务存在哪些问题。导致这些问题存在的原因,可能是知识的掌握问题,也可能是资料搜集不全的问题。对于知识的掌握问题,如果知识是以前己经学习过的,学生复习以前的内容,自己就会给出解决方案,如果知识是没有学习过的,即含在任务中的新知识点,教师可在学生提出问题之后给予积极的引导,让学生自己去探索,弄懂相关知识,寻求解决问题的方案。而如果是资料不全的问题,教师可引导学生利用网络查阅资料,学会利用因特网搜集资料,解决自己碰到的问题。只有通过这种方式,才能培养起学生解决问题的能力。
3. 总结与评价
在解决问题、完成任务之后,教师要针对完成任务过程中暴露的问题进行分析总结,针对不完善的地方进行修改。对任务进行评价时,教师要多说一些鼓励的话,激发学生的兴趣。
参考文献:
[1]