浅谈中职学校C语言程序设计课程教学改革
2019-05-30李月杰
李月杰
关键词:C语言程序设计 教学方法 考核方式 改革
对于计算机专业而言,C语言程序设计是一门基础性语言,其实践性强,语言简洁,但语法较多。通过C语言的学习可以培养学生基本的编程思维,帮助他们解决在编程中遇到的一些问题。C语言的实践性较强,学生通过上机操作掌握编程的基本知识、程序调试能力以及养成一个良好的编程习惯。对中职学生而言,学好这门语言为后期其他语言的学习打下了坚实的基础,可以达到事半功倍的效果,如JAVA的很多语法知识都是继承了C语言的相关内容。而在教学上想让中职学生掌握这门语言并不容易。
一、中职学生学习现状
目前中职学校的生源基本上都是没有考上高中的学生,跟大学生不一样,大部分中职学生的自律性以及控制力较差,容易受到外界干扰。大部分学生在初中时学习就不好,没有养成良好的学习习惯。再者,在目前智能手机人手一部的情况下,学生也变得不爱动脑,遇到问题不爱思考,稍微好点的学生会通过手机查找答案,但更多的却是直接被告知答案。基于中职学生的这些特点,如果没有好的教学方法及措施,想要获得一个好的教学效果基本是不可能的。
二、C语言课程教学现状及存在问题
目前部分中职学校在C语言程序设计课程设计上采用的是理论与上机操作分开。理论课上,教师先对语法及语句结构进行分析,然后再对课本的例子进行语句解读。实训课则由教师布置任务,然后学生去完成实训任务。对中职学生而言,这种课程设计和教学方法是不适合的,难有良好的教学效果。理论在教师的讲解下,学生是听懂了,但也存在着无法提出问题的情况。到了上机课,学生由于一时难以记起所学过的知识,编程时又无从下手。好学的学生会提问,而教师只有一个,难以同时应付多个学生的提问,致使一部分学生需要花不少的时间等待教师过来解答。这就使学生学习的兴趣打了折扣。而部分本就不感兴趣的学生甚至会出现放弃的情况,无法达到想要的教学效果。
课上完了,少不了要对学生进行考核,传统的考核方式就是考试,主要还是纸质的考试,以理论为主。这种考试局限于标准答案,以记忆及分析能力为主。难免就缺少了对学生学习过程的一种考量,学生对程序的调试能力得不到体现。
三、课程教学、实验教学以及考核方式改革及措施
1.课程教学改革
首先在课程安排上,尽量不安排在教室上理论课,所有的课均安排在机房进行。将C语言程序设计这门课全部安排在机房上,由教师通过教师机即时操作演示给学生看,边讲解边操作,每讲完一个知识点就停下来让学生即时敲程序、运行,看能不能成功。如果不能成功,学生也可以马上找出问题然后进行解决。如果有问题,也可以通过软件举手,教师通过教师机看到有学生机举手信息后,可以通过单独监控该学生机查看学生的问题所在,然后解决问题。这样既解决了教师在机房来回跑的问题,又做到了具体问题具体分析。学生通过程序即时验证更容易掌握一个知识点,一回验证胜过百回分析。比如在讲到定义变量的时候,要对变量进行初始化,也就是第一次赋值。如果不进行初始化,在输出的时候就会输出一个随意值。那么是不是运行结果跟教师说的一样是一个随意值呢?学生就会有疑问了。如果这时候直接跟学生讲理论是比较抽象的,不如直接在计算机上进行验证更直接:使用语句int i; printf(“i =%d\n”,i);,最后会发现输出确实如此。学生在学生机上运行成功了,自然感到高兴。在学习过程中,没有比自己做实验获得成功所带来的成就感更值得高兴的了,学生的学习兴趣自然也就提高了。
教师在给学生进行理论部分的讲解时,建议单独建立一个文档,从第一节课开始就将每次课所要讲的重点内容罗列出来。将当次课将要解决的问题、知识点一一罗列出来,让学生了解本次课需要学习哪些知识、解決哪些问题,并将重要的笔记直接打在文档上,类似于黑板上的板书。不需要学生做笔记,学生只需要听课即可。讲完知识点后,文档的笔记也完成了,其中的难点可以用红色字体体现出来。学生由于不用做笔记,全程只需要听课即可,解决了学生由于做笔记会漏掉的一些重要语句,而对接下来所讲内容懵懵懂懂的问题。每次讲完后,由教师通过教师机将文档笔记分发到学生机,学生就可以通过文档笔记回顾刚才所讲过的知识。一个学期下来,教师的文档就将本学期课程所有知识点都罗列出来,其中的重、难点一目了然。学生通过文档,特别是其中的红色字体就可以回忆出当时学习的情景,查看重、难点内容,提高学习效率。
通过这种教学方式的改革,相对于传统理论的讲解更容易让学生接受,也更容易取得好的教学效果。采用这种教学方法既直观,又方便解决问题。学生有问题可以当场提出来,即时解决,不把问题滞后解决,以免打击学生的学习积极性。
2.实验教学改革
通过课程教学改革,学生的操作时间变多了,熟练程度也有所提高,但这并不等同于学生的编程能力提高了,还必须通过实际的操作来提高。在这个过程中,必须要让学生养成一个良好的编程习惯。首先就是要会盲打。中职学生在初中阶段接触电脑的时间并不多,大部分学生估计连指法都不一定熟悉,更别说盲打了。做不到盲打,想要提高学生的编程能力十分困难。在实验课上,可以让学生在完成实验内容前先进行敲程序练习,这些程序可以包含未学到的内容。这样做的目的一是主要培养学生练习敲程序的感觉;二是练习盲打;三是提高程序运行调试能力,减少程序出错的几率。
实验阶段,如果一开始就让学生进行编程是不符合实际的,可以给学生一些比较简单的程序进行练习,就让学生按照教师所给的程序打,然后再运行,如果成功了,再让学生按照给定的程序进行模仿编写,再运行,看能否运行成功。比如给定一个程序,定义三个整型变量数为3、9、10进行相加,让学生照着敲,然后运行,如果学生得到运行结果为22则成功,然后再让学生将这三个数改为3.5、9.3、10.6进行改写程序。这就考察学生的应变能力,由于这三个数含有小数,需要将变量改为浮点型才能运行成功,如果不改,则最后运行结果仍为22。如果学生不修改变量类型,显然看到运行结果仍为22,就会觉得不对,这就让学生思考为什么得不出对的结果,然后对照自己的程序进行思考是不是哪里出错了。对每一次的这种练习教师都要做好详细的记录,作为学生平时成绩以及是否进步的考察项目。通过这种方式逐渐培养学生的编程能力,到学习的后期就可以布置稍微复杂一点的任务给学生编程,教学的效果就实现了。
在实验教学阶段,首先对学生进行分组,布置完实验任务后,让每个学生小组自己讨论编程的方案,并且要在规定的时间完成。时间到了,每个小组对自己的程序进行运行,运行成功的就让该小组介绍自己的编程构思和经验,教师对编程运行成功的小组进行记录作为平时分考察项。最后再由教师对实验任务进行分析、讲解,公布程序。对于运行不成功的小组, 首先由教师指出其中错误的地方,其次再进行改正,最后还需要将教师公布的程序在自己的计算机上再敲一遍、运行,加深印象。
3.考核方式改革
课程学习免不了要对学生的学习进行考核,C语言程序设计是一门实践性很强的课程,不应只由单一的纸质考试作为唯一的考核标准,而应该加入学生的平时练习、实验结果以及上机操作这些内容。学习是一个连续的过程,对平时学生完成程序练习,教师都要有详细记录,这个就是一种学习的凭证。每完成一次记录一次,让学生获得成就感的同时也有学习的压力,还可以作为平时成绩的考核项目。实验结果成功与否,上机操作考试则是学生学习能力、解决问题能力的一种综合表现。这两项既考核了学生理论知识的学习水平,又考核了学生的实际操作能力。这些项目都应该作为学生的学习凭证,加入到课程考核当中。
四、小结
C语言程序设计作为计算机专业的一门重要的语言基础课,其学习效果还会影响到后期其他课程的学习,基础打好了,学习其他课程也就轻松了。对于中职生而言,教师想教好C语言并不是一件容易的事,在教学上需要改进旧的教学方式,采用多种教学手段,多让学生进行上机操作,在实践中发现问题、解决问题,增加学生编程带来的成就感,提高学生的学习兴趣,有意识地提高学生编程的能力,从而提高教学质量达到预期教学效果。
参考文献:
[1]莫海城.电子基本技能中元件识别教学一体化改革[J].教育界,2015(15).
[2]刘满君.《C语言程序设计》课程考核方式改革初探[J].福建电脑,2018(11).
(作者单位:广西电子高级技工学校)