高清芬
摘 要:C语言是一门功能强大、应用广泛的计算机高级语言,具有数据类型繁多、结构复杂、运用灵活多变等特点,特别是作为程序设计的入门语言,学生学起来感觉有一定的困难,因此改革教学模式,化难为易、化抽象为具体,提高该课程的教学质量和教学效果势在必行。本文结合笔者自己的教学经验,从如何上好第一堂课,提高学生学习兴趣、充分利用网络资源、开辟第二课堂,以及师生互动等几个方面对该门课程的教学进行了探讨。
关键词:教学探讨 兴趣 师生互动 网络资源
中图分类号:TP312 文献标识码:A 文章编号:1672-3791(2018)08(b)-0198-02
C程序设计课程是计算机专业学生以及大部分理工科专业学生的必修课程,是学生掌握现代信息技术以及学习计算思维思想的入门课。如何在教学过程中充分调动学生的学习兴趣,最大限度地挖掘学生潜能,激发学生的创新思维,培养开放型、实用型人才,是摆在教师面前亟待解决的问题。
1 上好第一堂课
无论任何课程的学习,笔者认为第一堂课的教学至关重要,它关系到学生对该门课的认识以及能否初步引起学生对该门课的学习欲望。在第一堂课的教学中,我们不必急于知识的传授,而重点在于引导,笔者认为不妨从以下角度设计第一堂课。
首先,讲述该门课出现的历史背景,从而使学生了解计算机程序设计最初是为了解决什么问题而产生的。其次,通过一些程序源代码的演示,使学生明白该语言到底是做什么用的,可以解决我们身边的哪些问题。因此,在选用例子时,一定要选用我们身边的大家都熟悉的問题:比如:“菲波纳契兔子问题”“鸡兔同笼问题”“预测身高体重”“竞赛记分”“统计选票”“猜数游戏”等,同时针对不同专业的问题也可以解决专业中的相关问题,比如数学专业的学生可以选用“求解方程问题”“计算行列式”等。这些问题学生虽然暂时还不能自己解决,但是在今后的学习过程中,通过自己的刻苦努力,就能亲自解决这些问题。最后,如果有条件的话可以让学生亲自调试一些已经编好的比较简单的源代码程序,当他们“编”的程序成功地输出结果的时候,学生对程序设计的兴趣自然就产生了。这样,通过这样一堂课的学习,笔者相信同学们一定会对这门课有着强烈的好奇心和强烈的求知欲,从而激发学生学习的内在动力、培养学生对该课程的强烈兴趣。
2 问题教学法
教师在讲授每一节课以前,尽量通过形象生动的操作或有目的的提问,引导学生的求知欲。例如,在讲授《函数的递归调用》这部分内容时,可以首先对学生讲讲汉诺塔的传说:传说在古印度的寺庙里流传着这样一个游戏,当游戏结束的时候也就意味着世界末日的到来。说到这里,学生就会好奇,纷纷猜测这是个怎样的游戏。等学生知道了汉诺塔的问题后,再慢慢给他们讲述这个问题的解决方法——函数的递归调用。在教学中,教师要善于给学生制造一点小小的困难,让学生体验到克服困难获取成功的乐趣,这是保持学生学习兴趣的必要条件。在选择例题时也是由简到难,逐步呈现给学生,并给出学生思考的时间和空间。比如:在讲解循环结构时,我们可以选用猜数游戏。首先,选取一个固定数据,让学生猜测数据是多少,并显示“猜高了、猜低了,恭喜你,猜对了!”三种不同的提示,这个问题很容易解决,同学们用前面所学的选择语句就能完成,然后让学生思考:(1)以上只能猜测一次,如何能够猜测多次,直到猜对为止。这就需要循环结构来完成。(2)上面猜测的数是一个固定的数,那么可否让计算机随机产生一个区间内的整数,而且每次产生的整数不同呢?(3)我们可否限定猜测数据的次数为3次,多了程序自动结束。(4) 我们猜完一个数据后,可否继续猜下一个数,直到不想猜为止。这需要循环的嵌套。这样通过引导学生自己逐步由易到难去解决问题,从而调动他们自主学习的积极性,培养对该门课的浓厚兴趣。
3 充分利用网络资源
利用网络资源,可以节省学生的时间,提高实验效率。如果学生上机调试程序,学生光输入代码就要占据很大的时间,这是没有必要的。为此我们把部分程序代码上传到网上,让学生共享,学生只需要编写本节课所学内容的代码,这样大大节省了时间,也提高了实验效率。比如:在实验函数这一部分的内容时候,我们可以把以前的一些做过的题目的代码放到网上,让学生把这些题目改用函数来实现,重点练习函数的定义以及调用方法,体会函数参数的传递过程。这样就可以做到专项专练,提高教学效果。其次我们把一些课程内容的知识点制作成微课的形式上传到网上,供同学们课下复习使用,同时对于部分教学内容,针对学生的学习能力,让学生提前网课预习,采用翻转课堂的教学模式,这样可以大大增强学生的学习积极性,提高学习能力。
4 师生互动,增加交流的机会
不论哪门课程的学习,师生互动,增加交流的机会都是至关重要的。在课堂教学过程中,要充分调动学生的学习积极性,变被动为主动,变客体为主体,让学生参与到教学活动中来,增加师生间的互动。课上我们可以有意地设置一些不同深浅的笔误或口误,马上让学生肯定对与错,以考查学生注意力集中的程度,提高他们的敏锐性和判别能力。对有些问题,可以给出一种程序设计方法后,让学生讨论,还有没有其他的程序设计方法和思路,让他们发表意见,提出自己的解题思路编程方法,给学生以表达已见、陈述思路、交流观点的机会。这样既可以发现学生中好的解题思路和编程思想,也可以了解学生在学习过程中哪部分内容比较薄弱,以后在教学中予以加强,真正实现教学相长。实际上,这对老师和学生都提出了更高的要求,首先它要求老师既有引导又能放开,既有事先的精心备课,又有课堂上的因势利导;其次,它要求学生不仅要上课注意力高度集中,而且还要充分展开他们的想象,充分发挥他们的主观能动性。这样教师可以从学生讨论中提出的问题来丰富教材内容,学生可以从课上的讨论发言中,感受到参与的乐趣与兴趣,体会到自己的主体作用,收到较好的教学相长的效果。
5 开辟第二课堂,加强课程设计
C语言程序设计是一门实践性很强的课程。只有课上练习是远远不够的。每次课上的实验中不可能完成相对较大的实践项目。课程一开始向学生布置课程设计题目,伴随着教学进度和实践进度,学生根据自己所掌握的知识逐步完成课程设计。通过课程设计,可以使学生将所学课程的各个知识点有机地结合起来,弥补课上实践的不足,同时增强了同学之间相互学习的协作精神,锻炼了学生综合分析问题和解决问题的能力。比如我们可以布置一个学生成绩管理系统的课程设计。在学习选择结构后,可以完成菜单界面的设计。在学习数组后可以完成其中的数据输入、输出以及求和、排序、查找等基本操作。在学习函数后,可以把以上每一个操作用一个函数来完成。学习完结构体类型后,还可以修改成结构体类型来做。学习完文件后,把输入输出的数据都存放在文件中,从而完成整个学生成绩管理系统的设计。在整个学习过程中,采用分组的方式,培养学生开发软件所必需的团队精神。
总之,教学过程就是一个不断精益求精的过程,对于每一位教师,只要能不断在教学过程中进行探索,大胆改革,就一定能取得较好的教学效果。
参考文献
[1] 王春晖,刘志国.基于MOOC平台的混合式教学模式探索——以C语言程序设计公共课为例[J].内蒙古大学学报,2015,28(7):144-146.
[2] 苏小红,王宇颖,孙志岗,等.C语言程序设计[M].3版.北京:高等教育出版社,2016:7.
[3] 蒋斌.高职院校计算机专业《C语言程序设计》教学探讨[J].考试周刊,2011(38):155-156.