赵晓红
(武汉铁路职业技术学院,湖北 武汉430205)
随着计算机专业的逐渐成熟,计算机人才在社会各个岗位上发挥着重要作用。而C语言作为当前最为流行的程序设计语言之一,综合了高级语言和汇编语言的特点,具有很强的实用性,因此高职院校开设C语言教学是必然。目前,大多数高职院校将C语言课程开设为计算机专业的公共基础课,也就是计算机专业学生的必修科目,这是对C语言教学的重要性的认可。但是C语言这块难啃的骨头却经常让计算机教师皱眉头,主要由于C语言与其他的高级计算机语言所不同,它与系统的底层软件资源更为接近,在学习编程时让学生虽然可以直接控制计算机的底层硬件,深入到系统底层,但无形中增加了教学难度,使得教学任务不易完成。
在大多数高职院校,C语言是新生入学所开设的第一门课,一方面C语言操作灵活、功能丰富、表达能力强,另一方面,由逻辑性强、数据类型多所带来的教学困难一直存在。笔者结合自身教学经验,从以下几点分析C语言教学现状:
其一,受传统“填鸭式”教学方法的影响,教师依旧以讲授为主,不注重引导学生主动学习,使得学生在知识的学习过程中被动,久而久之,学生也懒于思考,最终失去了学习兴趣。
其二,高职学生入学成绩普遍偏低,基础较差,知识的积累不足,因此C语言成为计算机教学中的一个薄弱环节。再加上学生缺乏学习兴趣,课上不积极参与,课后不及时复习,学生的学习潜能没有完全被激发出来,因而越学越难懂,最终使C语言课程沦为晦涩难懂、枯燥无味的一份子。
其三,忽视教学实践。在高职院校,C语言学习普遍存在“重理论,轻实践”的问题,学生只知道学习课本内容,而没有将课本内容用于实践的意识,缺乏动手能力。据笔者观察,大多数学生在机房上机实践是为了完成教师布置的作业,遇见不懂的问题时,很少有学生主动询问教师,大多都是得过且过,无视操作中得逻辑错误与语法错误;有些学生甚至还把宝贵的上机时间大把大把地浪费掉,玩游戏、逛网页、听歌,即使课程学完了也不会基本的操作。
C语言是一门较难的课程,而且常常是新生入学的第一课,如何引导学生正视C语言的学习,让学生对这种来势汹汹的开端感兴趣,是教师应该做好的工作。教师一方面要摆正自己的位子,做好角色定位,另一方面还要循序善诱地鼓励学生爱上C语言教学,在学习中主动探究,开展互动,达到“事半功倍”的效果。
首先,重视教材,让学生对教材感兴趣。在第一次上课时,教师可以多给学生讲一讲C语言这门学科的研究与应用现状,并结合学生的专业谈一谈C语言这门课程的重要性,适当“吹捧吹捧”C语言的专业地位。
其次,重视教学中案例分析。如果教师只是干巴巴地讲理论知识,学生的热情就会很快消耗殆尽,这时教师就可以避开枯燥的理论知识,在课堂上展示相关的案例,比如“黑白棋游戏”、“泡泡堂”等利用C语言开发的游戏项目,分析这些游戏的图形界面和动画效果,使学生因为好奇而再次形成学习兴趣,从而将书本枯燥呆板的理论陈述削弱掉,值得注意的是,有些案例因为过于复杂,多行代码也会引起学生对C语言学科的恐惧,这时教师就应该简化案例,现场演示编制带有输入及输出的几个简单案例,并鼓励学生模仿老师的步骤一起学习,一旦学生看到了自己的学习成果,就会立即调动起学习热情。
最后,培养学生自主探究的能力。学生的探究兴趣与自主学习常常是同步进行的,教师在教学过程中,不仅要将理论知识讲解到位,还应该传授给学生学习方法,通过与学生交流学习经验让学生学会自学,并给予学生学习方向,让他们学会听课,并主动练习编程。比如在学生刚开始接触到C语言时,教师应该避免让学生自己编程,这样很容易使学生因而难度太大而产生畏惧。这一阶段,教师更应该花更多的时间教会学生“读程序”,在读程序的过程中,学生不仅会对C语言有一个整体的把握,而且还能够熟悉一些专业术语,因而“读程序”是C语言学习最快的入门方法。
多元化的C语言教学方法有助于突出教学重点。在实用性方面,教师可以利用“淡化语法,强调算法”的方法完成教学;而在一些比较抽象的内容,教师可以多利用多媒体教学,通过动态模拟直观地感受抽象的内容。
笔者将以“选手得分排序”这一单元为例,简述多元化的教学方法:
一方面,利用情境教学增强直观感受。排序的算法是“选手得分排序”这一单元的重难点,直接按照教材上得内容来教学,学生可能会听得云里雾里,而要想教好排序算法,笔者选用了情境教学的方法。在课堂开始之前,我会随机找几个同学,让他们自由组合,站成一排,然后再请一个同学起来“指挥”,以高矮顺序来排队,然后将“比身高、互换位置”的过程记录下来。完成这一系列行为之后,笔者开始总结:“这就是一个排序的过程,而描述这个流程的过程就是排序的算法”。在情景教学中,教学难点被转换成教学的兴趣点和亮点,课堂的气氛也比较轻松和谐,不仅教会学生排序算法,也促进了学生解决问题能力的提高。
另一方面,巧用多媒体。多媒体课件集声音、画面、视频于一体,具有直观、生动的特点。C语言教师应该在备课时能够制作声情并茂的多媒体课件,用动态模拟情境的方式还原流程算法的推导过程,对于需要注意的语法知识也给予相应的提示,就能够有效地吸引学生注意力,使学生全神贯注地学习,并在课后运用C语言的相关语句练习程序代码的简单编写。
教师还可以结合案例与任务,通过“案例+任务”的形式带动教学,以学习任务为导向驱动教学的开展。其中“任务”的安排必须与学生的学习状况相符合,难易合理搭配。在完成任务的过程中,还应该重视学生的主体地位,当学生遇到难易理解的问题时,教师应该耐心指导,不可打骂、侮辱学生。另外,教师还可以结合生活实际,将“案例+任务”的教学方法以主题任务的形式呈现出来,让其发挥出现实意义,帮助学生在动态的学习过程中思考、探索。比如教师可以将制作档案管理系统的任务安排给学生,在做好基本功能的分析之后,让学生以小组为单位制作档案系统,并在现实生活中运用。
总之,高职C语言教师应该认清C语言教学的现状,更新教学思想和方法,以“教师为主导、学生为主体”为原则,重视学生的学习兴趣,并运用多元化的教学方法来完善教学课堂,耐心引导学生,使学生在良好的教学氛围中愉快地学习。
[1]沈俊慧.高职院校C语言教学方法探索[J].淮阴师范学院学报:自然科学版,2013,3.
[2]戚娜.高职院校C语言实践教学质量提升的探讨[J].河北能源职业技术学院学报,2014,1.
[3]刘宇容.高职院校《C语言程序设计》课程教学改革与实践[J].广东农工商职业技术学院学报,2014,1.
[4]刘瑛.高职院校C语言教学改革探讨与实践[J].网友世界,2013,13.
[5]张梅娇.初探高职高专院校C语言教学方法[J].计算机光盘软件与应用,2012,5.