APP下载

高职C语言程序设计教学探索与实践

2018-05-29宫业琴

中国信息技术教育 2018年9期
关键词:C语言程序设计教学内容高职

摘要:本文结合高职电子类专业的特点和学生的实际情况,从教学内容、教学方法和考核评价体系三方面对C语言教学中存在的问题进行了探讨,提出了切实可行的思路和方法,通过教学实践,取得了良好的教学效果。

关键词:高职;C语言程序设计;教学内容;教学方法

中图分类号:G434 文献标识码:A 论文编号:1674-2117(2018)09-0092-04

● 引言

“C语言程序设计”课程是高职电子类专业必修的一门专业基础课,一般安排在第一学期开课。C语言是一门应用广泛、实践性比较强的编程语言,它既具有高级语言的特点,又有汇编语言的特点,在系统软件开发和硬件驱动程序设计,尤其是嵌入式应用程序设计方面应用比较多。学好C语言,将会为后续“Java程序设计”“单片机原理与技术”等课程的学习打下良好的基础。C语言概念复杂而抽象,课程内容较多,语法规则繁杂,逻辑性强,运用灵活,笔者在多年的教学过程中发现,学生普遍认为这门课难度大、抽象,不容易入门,因此学习积极性不高,缺乏学习兴趣。如何让学生具有浓厚的学习兴趣,喜欢C语言,爱上编程,这是一个值得探讨的问题。笔者通过多年的探索和实践,认为C语言的教学应从教学内容、教学方法和教学评价体系三个方面改革,以培养学生学习兴趣,激发学习积极性,提高课堂效率。

● 整合优化教学内容,加强实践教学

1.整合优化教学内容,适合专业要求

“C语言程序设计”课程内容繁多,语法知识讲解比较多,如果按照課本把教学重点放在语法规则的内容上,很容易将学生引入枯燥的学习中,导致学生很快失去学习兴趣。因此,有必要针对专业,按照教学目标,对C语言的教学内容重新进行设计,优化整合教学内容。本着“够用”的原则,根据专业要求,删减不常用的章节,增加后续课程如单片机的相关内容,实现课程之间教学内容的无缝衔接,加强函数、指针和位字段等章节的讲解。因为后续课程中涉及内存的操作比较多,建议把计算机内存的组织形式提到第一章讲解,让学生早一点了解计算机的数据存储形式,这样在学习数据类型和变量时,就比较容易理解,更能引起学生学习的兴趣。同时,教学内容不能仅限于课本,要结合实际,选择一些具有代表性的实例,让课程中的抽象概念、语法知识和算法变得具体形象,引起学生探寻新知识的兴趣。例如,以算法为中心,搜集电子类专业方向的程序案例,将需要掌握的知识融入其中,这样,学生在掌握了算法的同时,还在不知不觉中学会了理论知识,并能了解C语言在所学专业中的应用。

2.加强实践教学,提高编程能力

高职学生的培养目标是高等技术应用人才,重点是培养学生解决问题的能力。在C语言教学过程中,应强调精讲多练,加强实践教学,让学生学会通过计算机编程来解决实际问题,培养学生的计算思维,使其养成良好的编程习惯,并提高其编写、调试、运行和维护应用程序的能力。这门课传统的上课方式是理论课和实训课分开上,这样容易导致学生在上理论课时因为学习的理论过多而来不及消化和理解,在上实训课时又容易忘记教师讲授的内容,漏掉很多知识点的练习。而如果用理论实践一体化教学,理论实践课同时进行,让学生边学边练,对学到的理论知识及时进行理解和应用,教学效果就会好很多。这样的教学模式需要教师提前进行精心的教学设计,组织教学内容,合理安排讲课和上机时间,调控教学环节和整个教学过程,选择合适的案例和任务,采用多种形式的教学方法,引导学生主动探求新知识,因此,这对教师的综合素质和能力也提出了更大的挑战。

● 采用多样化的教学方法,提高教学质量

1.图示教学法

C语言逻辑性强,并且比较抽象,运行程序的时候,学生只能看到程序的执行结果,容易对程序的运行过程感到迷茫,并觉得神秘。学生对编程更觉得困难,不能灵活运行所学知识进行程序设计。而图示法可以直观形象地表示数据,模拟程序运行过程数据的变化,让学生真正理解程序、读懂程序,并能非常迅速正确地写出程序的运行结果。

图示法在运用过程中,尤其是在讲解数组和指针时获得了很好的教学效果,学生通过画示意图,能更深入地理解程序的执行过程,熟练编写常用的简单程序,并能举一反三,灵活运用。

2.趣味教学法

有人说,数据结构+算法=程序设计。那么算法就是程序设计的灵魂,在C语言教学中,算法是教学重点,更是教学难点。计算机的逻辑和人的思维逻辑有很大区别,C语言算法非常抽象,如何让学生适应计算机的逻辑,深入理解算法,熟练掌握编程方法和规范呢?笔者认为,在教学过程中引入各种形式的趣味教学,能活跃课堂气氛,提高学生的学习积极性,突出教学重点,攻克教学难点,使学生在轻松愉快的氛围中,很快掌握算法,取得很好的教学效果。下面以三个例子说明趣味教学法在C语言教学中的应用。

例一:交换两个变量值的算法

此算法在教学中可以联系现实生活中交换两杯水的方法来理解。课上,笔者准备了一杯盐水和一杯糖水,让学生想办法实现两杯水交换。很快,学生们就想到了用第三个空杯子作为交换时的过渡。这时教师可以抛出问题,如何将两个变量的值进行交换?大部分学生很快就能想出办法:定义一个中间变量t,就能很容易地实现两个数交换。这样,学生以后就不容易忘记,编程也不会出错了。交换示意图如下图。

例二:冒泡排序算法

单纯讲冒泡排序的过程,对学生来说理解有一定的难度,如果采用游戏的方法,就能达到理想的效果。在这里以升序冒泡排序为例,为了便于学生掌握冒泡排序的整个过程,笔者在课堂上随机选6位学生排成一队,用身高代表数组元素的值,通过游戏的方式演示冒泡排序的过程。

第一趟排序,先从队尾开始,队尾的两位学生按照身高排序,即第5位和第6位学生身高比较,若第6位比第5位学生矮,则两位学生交换位置,否则位置不变,然后第4位学生和第5位学生比较身高,按照规则一一排序,一趟排序结束后,排在第1位的学生身高最小。以此类推,经过5趟排序后,实现了6位学生按照身高由矮到高的冒泡排序演示。通过游戏的方式,学生们参与其中,直观地体验和向其他同学展示冒泡排序的过程,在快乐的游戏中进入到学习状态,掌握了算法,找到了程序设计的乐趣,增强了学好C语言的信心。

例三:累加求和算法

如果求s=1+2+3+…+100的算法设计,用实物演示法很容易把这个算法讲明白。课前提前准备一些水果和一个袋子,上课时将这些水果按照每份1个、2个、3个……的数量分成多份。先用空袋子表示s=0,用i表示每一份水果的个数,将每一份水果装进袋子里,就相当于s+=i;通过多次装袋,最后袋子里的水果个数,就是累加以后的数据的和,即s=1+2+3+…,也即s的值,这样算法自然就形成了。有不明白的学生,可以自行进行实物演示,直到理解为止。等学生掌握了这个算法,可以让其思考类似s=a1+a2+a3+…+an这样的累加求和,引导他们进一步探索累加求和算法。

3.启发式教学法

启发式教学法是以学生为中心,教师在学生现有认知水平的基础上,提出新的问题,启发学生去思考,积极探索新知识,在教师的引导下解决新问题的方法。通过这种方式,可以引导学生主动学习,从而让学生主动完成知识的构建,达到一个更高的认知水平。教师在提出新问题的时候,在设置问题时,要遵循由易到难、循序渐进、逐层深入的原则,让学生通过一定的努力就能解决问题,这样才能引起学生学习的兴趣,提高学习积极性,一步步完成任务,同时,教师要及时给学生鼓励和评价,让其体验到成就感。例如,在讲解求两个数的最大值的时候,笔者用启发式教学,学生很快就掌握了求两个数最大值的算法,在此基础上,笔者又提出如何求三个数的最大值的问题,在学生完成后,又提出了如何求多个数的最大值的问题,引导学生一步步思考,并引出了数组的概念,在讲完数组的基础知识后,又启发学生通过数组实现多个数据求最值问题。在学习函数和指针时,笔者又提出如何通过函数和指针求最值的问题。这样以问题为线索,将各个知识点串起来,学生就能系统地掌握所学知识,灵活进行C语言程序设计。

● 改革考核评价体系,突出过程性考核

笔试成绩在传统的C语言考核方式中占的比重比较大,一般超过50%,平时成绩占的比重比较小,这样的考核方式往往不能反映学生的真实水平,也很难调动学生的学习积极性。若要提高学生的学习积极性,加强课堂管理,真正合理公平地体现学生的真实学习水平,期末考核评价体系改革势在必行。笔者在实践中,将考核评价体系分为三部分:第一部分为平时成绩,占总成绩的20%,平时成绩包括考勤、课堂纪律、课堂回答问题情况和课后作业完成情况。第二部分为实际操作能力考核成绩,占总成绩的60%,主要是平时学生实训完成情况,动手能力和分析问题、解决问题的能力。第三部分是期末机考,占总成绩的20%。在考核评价体系中突出了过程性考核,使学生更加注重平时的学习。通过改革考核体系,营造了良好的学习氛围,学生们始终保持着学习的热情,成绩也有显著提升。

● 结语

针对高职电子类专业要求和C语言教学中普遍存在的问题,笔者通过整合优化教学内容,采用多种形式的教学方法,改革期末考核评价体系等一系列的教学探索和实践,使学生在整个学习阶段一直保持着浓厚的学习兴趣,使其编程能力得到了显著的提高,让学生逐渐喜欢上了C语言,爱上了编程。

参考文献:

[1]刘小兵.《C语言程序设计》兴趣培养教学改革与实践[J].湖南科技学院学报,2016(5).

[2]袁喜连.“产教融合”思想指导下改进高职《C语言》课程教学的探索与实践[J].快乐学习报:信息教研周刊,2014(9).

[3]付淇,谭军.基于多元智能理论的教育游戏教學应用初探——以高职《C语言程序设计》课程为例[J].职教论坛,2015(29).

[4]张传学.高职C语言教学方法改革探讨[J].软件,2012(10).

[5]甄华.C语言案例教学模式在高职教育中的探讨[J].计算机与网络,2015(8).

作者简介:宫业琴,女,(1972.01—),副教授,硕士学位,研究方向为计算机应用及数字图像处理。

猜你喜欢

C语言程序设计教学内容高职
新冠疫情期间小学信息技术在线教学内容的选择和实践
高职数学教学和创新设计的渗透
wolframalpha在高职数学教学中的应用研究
以“学生为中心”的《C语言程序设计》教学设计探究
等差数列教学内容的深化探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践