C语言教学改革的探索与实践

2018-02-22 04:26:37余兆钗吴景岚
襄阳职业技术学院学报 2018年2期
关键词:上机C语言新生

余兆钗 ,吴景岚

(闽江学院a.计算机科学系;b.福建省高校人文社科研究基地互联网创新研究中心,福州350108)

一、C语言课程地位及教学现状

C语言程序设计是高等院校计算机专业的一门专业基础课程,通常是作为高校学生学习程序设计的开端,在高校计算机专业课程(例如,数据结构、算法设计、计算机图形学等课程)中,也常用C语言程序来描述其算法过程。这门课程教学效果以及学生吸纳效果的好坏,将直接影响到学生今后在计算机专业知识方面的学习兴趣与学习效果。[1]

任课老师也充分认识到C语言课程的重要性,教学认真负责,但随着一个学期结束,却发现学生的学习效果并不理想,考试通过率不高,学生在后续的课程中,比如数据结构等课程展示出来的编程能力十分欠缺。学生常觉得难学、难懂,程序不会读,也不会写。

二、C语言难学原因分析

笔者从事C语言教学多年,对教学过程中产生的这些问题深有体会。C语言教学效果不理想,我们认为主要由以下这些因素造成。

(一)课程本身具有一定难度

该课程对于大一新生来说,客观上存在一定的难度。因为大部分学生在中学阶段是没有接触过编程类的课程的,没有基础,不像高数这样的课,中学阶段学生有一些积累,C语言对他们来说,整个思维方式是全新的。而且大一新生缺乏计算机知识沉淀,没有硬件底层的知识,理解“指针”这样的知识确实有一定的难度。这样全新的课程,要理解其中的概念,搭建该课程的知识体系,是需要一个过程,不仅每天要保证投入足够的时间,而且也需要坚持几个月。突然开设一个全新的课程,这么多的概念,这么多知识点的应用,再加上大学课程教学节奏很快,很多学生在开始阶段一不小心就会掉队,以至于到了课程末尾学习“二级指针”这些内容时就跟听天书一样了。

(二)大一新生的心理问题及其学习心态

大一新生普遍存在一些心理问题。比如适应能力差,自我认识存在误区;交往能力弱,自我定位存在偏差;承受能力差,易受感情问题困扰;三难学生即家庭经济困难学生、心理困难学生、学习困难学生的心理问题;学习所引起的心理问题。[2]这些心理问题都会对新生的学习产生影响,特别是在学习心理方面,大一新生刚经历完高考,在经过接近三个月的放松,多数学生的心理没能调整到比较理想的学习状态,部分学生对学习不重视、精神比较松弛。同时,由于受到高考“一考定终身”这种思想的影响,高考给学生非常沉重的压力,学生高中阶段的学习自觉性很大的因素是高考压力所赋予的,高考结束以后,这个压力没了,学生的自觉性也消失了。因此一些同学还没有从高中的状态中解脱出来,学习主动性不强。

(三)C语言课程的内容组织需要改进

大多数C语言教材都是从基础语法开始,从变量、数据类型、表达式、输入输出规则开始讲解,这些内容不乏一些刁钻古怪的语法,学生要花很多时间去理解、去记忆,却不知道这些语法学了能做什么、有什么用,难以搭建起知识框架,因此学生学习积极性不高,学习效果不理想。但是到了后面循环数组函数等关键的内容,少了这些知识的掌握又会影响理解。

(四)传统笔试考核存在一定弊端

传统C语言考核主要是笔试,试卷内容包含很多语法知识,虽然有一些编程题,但是一些不会编程的学生也能通过背知识点、背一些编程套路写上去,也能通过考试,这与培养目标不符合。另外由于到了期末才有考核,因此一些学生在平时不会去抓紧时间学习,到了期末才开始突击复习。这样的态度也会影响别的同学,而不少学生学习能力不强,靠期末突击是无法入门C语言的。

三、C语言教学改革方案

编程能力是应用型本科计算机相关类专业学生的专业核心能力,为培养本领过硬的高素质应用型人才和创新人才,我们教学团队对多年教学经验进行总结,并分析造成C语言教学效果不好的原因,对症下药,做了一些教学改革。

(一)重视学生实际编程能力的培养

搭建了一个上机考试平台,期末考、阶段小考、实验、课堂练习都使用该平台。为提高学生实际编程能力,采取笔试改为上机编程考试、全过程机房上课两大措施。

1.上机编程考试。考核形式由笔试改为上机考试。因为该课程的培养目标就是让学生学会编程,而对各种语法的掌握,其目的也是为了编程。上机考试采用机器评分,只要出现一点语法错误,或者算法上的错误,很可能就没办法得分。这样做学生会觉得这门课考试不容易蒙混过关,从而会重视起来,端正学习态度。同时,也能够提高学生编程过程中排除bug能力。这其实也是本课程的培养目标,因为实际编程做项目中,出现一些小错误,就得想办法解决,如果解决不了,程序就无法正常运行。采用上机考试以后,学生把学习的重心放在编程题上,注重知识点的理解,减少知识点的死记硬背,对一些刁钻古怪的语法知识,则降低要求。事实上在编写一道程序过程中,解决各种问题、错误,动起手来训练的效果远远要高于光看不练、只听不写的学习。

2.全程机房上课。传统C语言理论课与实践课分开上,理论课主要依靠教师讲解,学生只是被动地听,但该课程很多知识点对学生来说很抽象。在机房上课,教师讲解完知识点,可以针对这些知识点给一些题目让学生去实践,学生能够及时地进行理论实践相结合的训练,加深了对知识的理解。

(二)要求学生端正学习态度

1.让学生明确课程目标以及学习方法。针对前面分析的大一新生学习状态,我们在开学初多次强调该课程的重要性,编程能力是专业的核心能力,明确指出要想顺利通过考试,必须保证上机编程100个小时。告诉学生上机考试,机器评分的特点,死记硬背是很难通过考试的。态度决定一切,学生只有认真对待课程学习了,才有学好的可能。

通过课程地位以及学习方法的教育,多数学生对该课程会更加重视,课余时间动手编程的时间多了许多。

2.加强学生平时学习监督。为了让学生在平时就能够抓紧时间学习,而不是等到期末再临时突击,我们分别在学完循环、指针知识点后各增加一次阶段考,阶段考成绩作为期末成绩的一部分,从而督促学生平时就能抓紧时间学习。

高中刚毕业进入大学的学生在生理上基本成人,可是在思想认识上尚未成熟,面对魔幻与复杂的网络世界,易受到冲击和影响。[3]最主要是体现在容易沉迷于网络游戏,许多大学生都深受其害。大学生在平时学习中,不像高中生那样有老师家长的严厉监督,相比高中,大学的氛围轻松许多,虽然学业很重,但一些学生容易忘掉学业压力,而沉迷于游戏。因此增加阶段考,有利于督促学生在平时能抓一抓学习。事实上多数学生是不具备通过突击几天就能入门C语言的这种能力,就像前面提到的,学习是需要一个过程的。

我们使用考试平台组织期中的两次阶段考,学生能够及时地复习相应阶段的知识点,为后面的知识学习打下更好的基础。

(三)教学内容的组织与启发式教学

1.教学内容组织。教学内容的安排上,我们也做了一定的调整,不再是从数据类型、变量、表达式开始讲解,而是直接先讲授顺序结构程序、输入输出、分支、循环、函数,然后再总结数据类型与表达式。这样学生对C语言能解决什么问题、程序是什么样的,先有一个感性的认识,遇到数据类型表达式这些知识点的时候,则结合程序再给学生讲解,这样在学习过程中,不容易迷失方向。其实对于一个程序员来说,就算是没学过比如复合赋值运算符这样的语法,也丝毫不影响他写一个完整的程序。另外,大多数程序也不需要太多的格式输入输出控制的知识。如果在开始阶段花了大量的时间在这些细节上,反而是弃本逐末。

2.启发式教学。教有良法,但无定法;贵在得法,重在启发。在教学过程中,遵循启发式教学原则,让学生积极参与到教学活动中。在讲解一个知识点的时候,先提出一个具有启发性的问题,让学生在教师的启发下思考,而这个问题的答案就是我们要讲解的知识点,或者跟讲解的知识点有很强的相关性。这样学生通过自己的努力,获取知识,解决问题,会产生成功的喜悦。这又驱使学生自主学习,形成一种良性的循环。[4]

参考文献:

[1]张艳明.C语言程序设计教学体会浅析[J].电脑知识与技术,2010(11):2690-2691,2693.

[2]谷军.新环境下大一新生心理问题探析[J].湖北经济学院学报(人文社会科学版),2009(4):162-163.

[3]聂宗瑶,马修水.大学新生入学教育和能力培养探讨[J].赤峰学院学报(自然科学版),2012(8):201-203.

[4]段红玉,李建荣.C语言程序设计课程的教学改革与实践[J].郑州牧业工程高等专科学校学报,2012(11):58-59,65.

猜你喜欢
上机C语言新生
周金应
重获新生 庇佑
中国慈善家(2022年1期)2022-02-22 21:39:45
标准化护理程序对体外膜肺氧合术患者上机各阶段用时的影响
基于Visual Studio Code的C语言程序设计实践教学探索
计算机教育(2020年5期)2020-07-24 08:52:56
基于C语言的计算机软件编程
电子制作(2018年16期)2018-09-26 03:27:08
坚守,让百年非遗焕新生
海峡姐妹(2017年7期)2017-07-31 19:08:23
高职高专院校C语言程序设计教学改革探索
新生娃萌萌哒
视野(2015年4期)2015-07-26 02:56:52
论子函数在C语言数据格式输出中的应用
新生改版
中国记者(2014年1期)2014-03-01 01:37:29