APP下载

独立学院《C语言程序设计》教学改革实践

2016-10-18谭志国吕宣姣杨智

现代计算机 2016年16期
关键词:C语言程序设计C语言程序设计

谭志国,吕宣姣,杨智

(1.中山大学南方学院,广州510970;2.中山大学,广州510275)

独立学院《C语言程序设计》教学改革实践

谭志国1,吕宣姣1,杨智2

(1.中山大学南方学院,广州510970;2.中山大学,广州510275)

《C语言程序设计》是理工科专业的一门必修课,也是一门实践性很强的课程。针对传统C语言程序设计的教学现状和存在的问题,提出一些改革措施。实践证明,这些措施对培养学生的编程能力和动手能力具有良好的效果。

C语言程序设计;改革措施;编程能力

0 引言

对于理工科专业的大学生来讲,不能满足于只会使用办公软件,而应当有更高的要求——程序设计。为此,中山大学南方学院电子通信与软件工程系所有专业在大一的上学期就开设了《C语言程序设计》课程。C语言功能丰富、使用灵活广泛,它使程序员相互沟通,是当前程序员共同的语言,比任何其他高级语言更接近机器[1]。也正因为此,没有接触过程序设计的大一学生在学习过程中会感到有些吃力。《C语言程序设计》作为理工科专业的一门基础课,是学习后续其他课程的基础,其重要性不言而喻。因此,如何让更多大一新生学会和掌握C语言编程方法及技巧,培养他们的编程兴趣就变得尤为重要[2]。以往的教学经验表明,C语言学得比较好的学生,学习其他计算机语言的速度会比较快,在将来的就业竞争过程中会具有比较明显的优势。因此,如何改革《C语言程序设计》课程,使得更多学生掌握其编程方法和思想值得去探索。

1 现状分析

《C语言程序设计》是一门专业基础课,不管是学习后续课程还是将来就业从事与专业相关的工作,都需用到C语言中的知识和技巧。传统的C语言教学侧重于C语言的语法,而C语言语法繁多、枯燥,学生们很快就会失去了学习的兴趣,从而影响教学效果[3];C语言传统的考核方式比较注重语法细节,考试类型选择题、填空题等客观性题目居多,这种重语言细节轻实践的考试形式不利于培养学生使用C语言知识解决实际问题的能力。以往的教学基本没有课程设计环节,指望通过几十课时的学习就掌握C语言编程是不现实的。基于独立学院“应用型人才”的培养目标,C语言程序设计作为一门应用型课程,重点应在于培训学生的分析问题的能力、使用所学知识编写相关程序和算法解决实际问题的能力。

2 学改革实践

针对《C语言程序设计》现状和存在的问题。笔者在以下方面作了一些教学改革的尝试:(1)培养学生的学习兴趣[4]。众所周知,兴趣是最好的老师,如果学生对学习C语言有了浓厚的兴趣,学生就会积极主动地去学习,教师再加以指点,其教学效果将会非常的好。在教学过程中,对于实践性很强的《C语言程序设计》课,采用案例的主题式教学就能极大的引起学生学习的兴趣,较快地让学生掌握程序设计的思想和方法[5]。在教学上,第一次课的教学尤为重要,教师要精心设计第一节课的教学内容,做到先入为主,让学生感到这门课既重要,又有一定的难度。而且,教师的语言应当尽可能地贴近当代大学生的特点,拉近与他们的距离,这样学生会感觉这个老师不仅仅是老师,而且还能成为朋友,从而在一定程度上提高了他们的学习兴趣。(2)摒弃大量讲解复杂的C语言语法,点到即止。遇到具体的语法问题时再具体解释。对于任何一种语言,不管是自然语言还是编程语言,大量的讲解语法都是枯燥的,学习者都会厌倦。因此,在教学过程中,只需讲解必要的语法知识,对于那些不经常使用的、复杂的语法应尽量避免给初学者讲授。这样做的目的是为了不影响学生的学习兴趣。例如,C语言中有很多运算符,这些运算符有各自的优先级和结合性。如果将每一个运算符及其优先级结合性都讲解一遍,显然是枯燥和乏味的。这时,我们只需告诉学生记住优先级最高的前3个运算符和优先级最低的3个运算符即可。对于中间的运算符不需要去记忆其优先级,在需要的时候,我们可以通过一对小括号来强制改变表达式的优先级。这样,学生就可以避免去记忆难记的运算符优先级列表,而同时又不影响其使用,一举两得。(3)改变传统地重语言细节轻实践的考试形式,适当的增加改错题、编程题等主观题的百分比,重点培养学生的编写程序和调试程序的能力。例如,一些教科书上有类似如下的程序段,要求学生写出输出结果:

事实上,很多有经验的程序员也未必能计算出程序的结果,而且他们也完全没有必要知道程序的结果是如何得出的。因为,实际编程中,几乎没有程序员会这样去写代码,因为这样的代码可读性非常地差,就算是写代码的人自己过一段时间后回过头来看这段代码也未必能很快算出程序的结果。所以,对于这样的题目在考试时是完全没有必要出现的。C语言是应用非常广的语言,我们学习C语言的主要目的就是为了在实际项目中使用它,以帮助我们解决实际问题。因此,C语言的教学也应该侧重于这方面能力的培养上来。提高主观题的比例能在一定程度上有助于该目标的实现。

3 结语

本文根据笔者在实际教学过程中学生存在的一些问题以及独立学院的特殊性提出的,在我系理工科专业的课程教学运用实践中取得了良好的教学效果。当然,同样的教学内容面对不同层次的学生,其教学效果会有所差别。教师在使用与设计某种教学方法时,要充分了解学生的特点,并应积极地与学生互动,将学生的反馈信息融入到教学案例和教学方法的设计中,从而形成一个良性的负反馈系统。笔者与其他同事将进一步研究C语言程序设计的教学手段与教学方法,希望将这些改革经验与心得应用于其他课程的教学改革中,以推动我校课程改革的不断发展。

[1]谭浩强.C程序设计(第二版)[M].北京:清华大学出版社,2002.

[2]张素芹,吴连生.独立学院《C语言程序设计》教学改革实践[J].计算机教育,pp:21-23.

[3]金华,崔荣一.《C语言程序设计》教学研究[J].计算机教育,2012:60-62.

[4]周强.C语言教学方法探讨[J].滁州学院学报,2004:96-98.

[5]胡枫.《C语言程序设计》的案例式教学的设计[J].青海师范大学学报,2010:48-51.

TAN Zhi-guo1,LV Xuan-jiao1,YANG Zhi2
(1.Nanfang College,Sun Yat-Sen University,Guangzhou 510970;2.Sun Yat-Sen University,Guangzhou 510275)

C Language Programming is a core course for students majoring in technology,but also a very practical course.Presents some reform measures to avoid the weaknesses of the traditional teaching methods.Practice has proved that better results can be achieved in training their ability of operation and in programming.

C Language Programming;Reform Measure;Programming Ability

1007-1423(2016)16-0024-03DOI:10.3969/j.issn.1007-1423.2016.16.007

谭志国(1982-),男,湖南人,硕士研究生,讲师(工程师),研究方向为非线性控制、神经网络等

2016-04-06

2016-05-16Practice of C Programming Language Teaching Reform in Independent College

吕宣姣(1982-),女,山西人,硕士研究生,讲师(工程师),研究方向为冗余机器手臂的重复运动规划、软件测试

猜你喜欢

C语言程序设计C语言程序设计
医学专业“Python程序设计”课程教学改革总结与思考
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践