浅谈高职《C程序设计》课程教学改革

2017-12-16 20:47吴爽余晓峰
课程教育研究·新教师教学 2017年14期
关键词:C语言程序设计算法

吴爽++余晓峰

【摘要】C程序设计课程是高职院校计算机专业的一门专业基础课,为后续的专业核心课的学习打下良好的基础,但是由于受传统教学方法和其他因素的影响,导致《C程序设计》课程的教学效果不尽人意。本文在分析和探讨目前《C程序设计》教学现状的前提下,在教学方法等方面进行了教学改革探索,同时在课堂教学中把理论与实践教学有机地结合起来,充分挖掘学生的创造潜能,提高学生解决实际问题的综合能力。实践证明了此次教学改革方法在高职院校的《C程序设计》课程中取得了良好的教学效果。

【关键词】C程序设计;教学方法

【中图分类号】TP312.1-4;G712 【文献标识码】B 【文章编号】2095-3089(2017)14-0035-02

随着网络发展的日新月异和信息化的不断深入,21世纪成为信息技术高速发展的时代,越来越多的人从事计算机方面的工作,而程序设计工作在其中占据很大的比重。目前比较受欢迎的程序语言有C语言、Java、C++等语言,而C语言精炼灵活、可移植性较好、应用领域广泛、目标程序效率高[1],其他几门语言直接或间接地参考了C语言的语法特性,因此在高职院校将C语言作为计算机专业学生学习程序设计的入门课程。

《C程序设计》课程是高职院校计算机专业新生的一门专业基础必修课,它将为后续学习专业核心课《C#程序设计》、《Java程序设计》等其他程序设计语言类课程做好铺垫。该课程旨在培养学生的分析与解决问题能力,提高学生的思维能力和程序设计能力。学生通过C语言程序设计课程的学习学会分析问题。高职院校非常重视C语言程序设计的学习,但是由于各种原因,课堂效果不尽人意,教师认真备课积极辅导,学生却产生了强烈的厌学情绪,甚至彻底放弃学习。一是由于课程本身的特性,C程序设计课程具有概念抽象、逻辑性强、语法知识多等特点[2],它涉及到高中的数学知识和常见的英文单词。在C语言程序设计这门课程教学中,选用的教材大部分都是以程序设计结构为主线介绍各种语法知识和结构的特点,各章节知识点侧重于介绍各种独立的算法,缺乏完整的案例应用[3],内容讲解枯燥无味。二是教师的教学方法过于陈旧,传统的教学教师按照教材内容传授理论知识,课堂教学内容局限于教材,而课程相关概念又比较抽象,讲解的内容局限于抽象层次,缺乏一个典型的应用案例[4],因此学生难以理解。三是学生的基础比较薄弱。对于高职院校的学生来说,基础知识相对比较薄弱,尤其对于数学和英语这些枯燥的课程,而C语言中涉及到一些基本的数学常识和英文单词。有的学生束手无策,从第一节课开始就像听天书,对这门课完全失去兴趣,到最后彻底放弃学习这门课程。四是课程开设的学时有限,一般为每周4学时,理论和实验各2学时,受时间限制教师在理论课上的内容讲解很难做到面面俱到,只能选取其中较典型算法分析讲解。五是有些学生能够听懂所讲内容,但给一个新的算法自己分析又有困难,或者新的问题自己却又不会分析设计算法,出现“能听懂,不会写”的现象。

针对以上存在的问题,高职院校要提高C语言程序设计课程的教学质量,课程教学改革势在必行。结合以往课程教学经验,本着“学以致用”原则,突出“以能力为本”的专业人才的培养特点,注重培养程序设计能力,实现理论与实践相结合,提出了C语言程序设计课程教学改革的几种方法。

一、课程教学改革

(一)改革傳统教学方法

1.重要代码板书法

传统的教学方法按照“提出问题、分析问题、给出语法、讲解语法规则、解决问题”的步骤来进行[5],虽然教师结合了高职学生的认知规律,精选与现实生活息息相关的问题作为案例,认真分析案例的设计思路和解决问题的方法步骤,但是现在教师普遍采用多媒体开展教学,程序直接在PPT上全部显示,密密麻麻全是英文字母。虽然课堂的信息量增大了,但是在演示过程中,演示速度通常较快,学生思维难以与之同步[6]。尤其是对于复杂度较高的排序、递归等问题,对于理论基础本来就很薄弱的高职学生来讲,课堂显得枯燥乏味,很难激发学生的学习兴趣。在教学过程中,教师应该在讲解过程中将代码或者程序中的核心代码写在黑板上以示强调,对于重要代码反复讲,在黑板上固定位置重复书写,会加深学生对语法规则的理解和记忆,提高学生的学习兴趣。

2.拓展演练法

如第一章中的例三:求两个数中的较大者。课本中自定义了一个max函数,用来实现求两个数中的较大者的功能,然后在主函数中调用此函数,以此求得两个数中的较大者。一方面为了了解学生对所学知识的掌握程度,另一方面为了提高学生的发散思维,课后布置了一个作业:求三个数中的最大者。教师鼓励学生们拓宽思路,分小组讨论,并点名让同学上讲台完成算法的设计。一般同学们会想到分两次调用自定义函数,从而求得三个数中的最大者。

d=max(a,b);

d=max(c,d);

为了有效地激发学生的好奇心和求知欲,让学生更深一步了解到程序编写从无到有、从简单到复杂的过程,教师可以鼓励学生尝试改编自定义函数的功能,让该函数可以实现求三个数中的最大者的功能。

这是对课本上的习题进行拓展演练,让同学们对函数的类型、定义以及调用等概念有了初步的认识和了解。

3.对错示范法

对错示范法即在教学中,教师要找到教材中容易出错的知识点,误导学生犯错,使学生暴露错误,然后剖析错误之处,从修正错误的过程中加深对知识的理解和掌握。如在第三章顺序程序设计讲解语法过程中,为了让学生了解到浮点型数据在程序设计过程中发挥的作用,在讲解例题1时,将摄氏温度转化为华氏温度。在黑板上书写程序的时候,教师故意将其中一行容易出错的地方演示出来。

C=(5/9)*(f-32);

程序调试运行之后,发现得到的数据不符合逻辑,教师引导学生发现出错的原因。通过对学生上机最容易出错的问题的示例和探究,让学生真正掌握知识和编程的一些技巧。endprint

排序问题是C程序设计学习中的一个经典问题。在学习第四章选择结构程序设计中,其中有一个例题:输入3个数,要求按由小到大的顺序输出。教师在分析算法的过程中,让学生思考如何进行比较来对3个数排序。如果两两进行比较,需要做3次比较和对换,教师提出问题:这3次比较的顺序对结果是否会产生影响,学生在未提前预习课本的情况下一般未可知否。教师在比较顺序的过程中设置陷阱:

if(a>b)

if(b>c)

if(a>c)

教师在分别给a,b,c赋值的过程中也设置了陷阱,如36,54,25,最后得到的输出结构是36,25,54,显而易见得到的结果不符合题目要求。教师引导学生发现程序设计过程出现的逻辑错误,一方面告诫学生在设计算法时要步步谨慎,然后代入数据检验算法是否正确,另一方面让学生在实践过程中体验到获取知识的乐趣,增强学习的主动性和积极性。

(二)强化实践教学环节

结合高职学院学生的学情,采取了“理论知识够用、强化实践教学”的原则,适当削减了理论知识的学时,加强了实践教学环节。课前有序安排实践内容,明确实践教学的目的、上机练习习题、以及实践各环节的设置,尤其是设置了一些具有现实意义的趣味题目,还有一些考察知识点较为全面的综合习题,让学生达到“做中练,练中学”,切实提高学生解决实际问题的能力。

二、总结

筆者分析了高职学生在学习《C程序设计》课程中普遍存在的问题,并分析了原因所在,结合自身教学实践,提出了多种教学方法以提高学生的学习兴趣。通过这些手段充分调动了学生的学习积极性,取得了较好的教学效果。

参考文献

[1]章晓英,基于项目导向的高职计算机应用基础课程教学改革与实践[J].无线互联科技,2012年07期.

[2]罗雅丽.基于行动导向的高职《计算机应用基础》的教学改革[J].电脑开发与应用,2011年11期.

[3]彭纳新,陈俞强.基于任务驱动的高职院校C语言程序设计课程教学改革与实践[J].中国教育技术装备,2013年18期.

[4]刘宇容.高职院校《C语言程序设计》课程教学改革与实践[J].高职教育理论与实践,2014年2月.

[5]高爱梅.高职院校C语言项目教学改革探索与时间[J].电脑知识与技术,2016年1月.

[6]杨王黎,王莉丽,卢爱萍.《C程序设计》教学改革探讨[J].长江大学学报,2010年3月.endprint

猜你喜欢
C语言程序设计算法
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
“C语言程序设计”课程混合教学探索
Travellng thg World Full—time for Rree
基于C语言的计算机软件编程技术探究
中职C语言单片机课堂教学中的趣味性探讨
计算机原理中C语言的应用价值
学习算法的“三种境界”