C语言程序设计教学改革与实践
时间:2022-05-31 12:21:01 浏览次数:次
摘 要:C语言作为人机交互的一种重要工具,在IT领域中具有举足轻重的作用;同时,C语言一般也是IT类学生学习高级程序设计的首选语言,其掌握程度直接影响到学生程序素养的培养和学习兴趣的提高。笔者根据自己长期C语言程序设计课程教学的体会,结合当前新的教学环境,指出在该门课程的教学改革中存在一些误区,并针对这些问题就如何提高教学效果提出了许多的建议。
关键词:C语言程序设计;教学改革;算法
中图分类号:TP312 文献标识码:A DoI: 10.3969/j.issn.1003-6970.2012.05.044
The C Programming Language Teaching Reform and Practice
waNG Zhong-ying
(Computer science department of Shangluo College, Shangluo 726000, China)
【Abstract】C language as human-computer interaction is an important tool, in the IT field is play a decisive role; at the same time, c language is normally It students high-level programming languages, their master degree directly affects the student program literacy and learning interest improve. according to the long term c language program design course teaching experience, combined with the new teaching environment, the paper points out that in the course of the reform in the teaching of some misunderstanding, in view of these problems and how to improve the effect of teaching put forward many suggestions.
【Key words】c language programming design; teaching reform; algorithm
0 引 言
C语言程序设计课程是计算机科学与技术和软件工程等IT类专业的专业必修课程,也是《数据结构》、《算法设计与分析》等其专业核心课程的先修课程。C语言程序设计的水平在很大程度上决定了学生专业基础知识的掌握是否扎实,直接影响到后续课程的学习效果和专业兴趣的培养。为了提高学生的程序设计素质,为后续专业课程的学习打下基础,笔者结合自己长期C语言程序设计课程教学的体会,结合新的教学环境,指出了该门课程教学改革中的一些误区,并对如何提高教学效果提出了许多可行的建议。
1 C语言程序设计教学中的几个误区
1.1 对C语言程序教学的重视程度降低
许多人认为,JAVA、C#等目前行业内普遍采用的高级程序设计语言,相对来说简单易学,源程序可读性强,又有功能强大的集成编辑环境的支持,有利于让学生迅速开发项目,而C语言程序语法复杂,调试困难,开发较大规模的应用程序比较麻烦,所以在人才培养的课程体系中,采用JAVA、C#等高级语言来代替传统的C语言程序。笔者认为,这是一种急功近利的表现。首先是C语言程序的功能同样强大,在较大规模的应用程序尤其是系统程序的开发中有出色的表现,具有易编写程序操纵系统底层的优势,在嵌入式编程中具有不可替代的地位。TIOBE近日公布的2012年4月份的编程语言排行榜中,C语言再次超越JAVA语言重新回到了编程语言的王者地位,这说明具有30多年历史的C语言依然是历久弥新[1]。
1.1 教学学时过度精减
在近几年的高校专业教学改革中,许多院校对课程课时进行了精减。在这个过程中,我们发现有的学校缺乏科学规划,存在许多不合理的地方,如对C语言程序设计课程的学时过分减少就是一个例子。这种现象不仅对提高学生能力的没有起到积极作用,反而影响了学生专业基础能力的培养。C语言程序设计是IT专业学生的第一门程序设计课程,不仅培养学生的对C语言本身的掌握,同时还需要培养学生的程序设计思维以及培养学生对IT行业的兴趣。在这一阶段,没有老师充分的指导往往是不够的。如果学个一知半解,会影响到后续课程如数据结构、操作系统等学习,进而失去IT行业的兴趣。
对于C语言程序设计课程的学时数,不同的院校应该根据学生的实际情况来确定,对学习能力强的学生可以精减课内学时,采用案例驱动、任务驱动的方式指导学生在课外自主学习;对于学习能力一般的学生,则需要教师多指导。总之,无论对于哪类学生,只要是IT类相关专业,都需要让学生较扎实地掌握这门课程。
1.3 咬文嚼字,过度注重语法等细节的教学
在C语言程序设计的教学过程中,笔者发现有这样一种现象:有的学生学习非常认真,教材上做满了各种各样的标记,笔记做得满满的,打印出来比教材还要厚,可是就是不会写程序,最多只能背着写或模仿着写,不能编写程序解决工程实际问题。其实,我们也不能只顾批评这个学生的学习方法不对,因为这是传统的“填鸭子”式教学影响的结果。长期以来,教师这样教,考试这样考,学生也就这样学了。教师不能够轻视基本语法的教学,但过度注意语法等细节的教学是远远不够的,而且还会让学生失去学习的兴趣。事实证明,只要多写程序,语法等细节不用过多重视就可以掌握,还能熟能生巧。
2 提高C语言程序设计教学效果的几个建议
2.1 采取多种途径培养学生的学习兴趣
在传统的教学过程中,教师习惯于“填鸭子”的方法来讲解语法知识,基本上是“满堂灌”,师生缺乏互动性,未能充分调动学生的学习主动性,因而很难激发学生编写程序的激情。教师在教学过程中,可以采取案例驱动、任务驱动、主题作业、课程设计等多种形式,引导学生自主学习,锻炼学生的编程能力和创新思维,进而增强他们的学习兴趣。许多院校的教师已经在此做了深入的教学改革,取得了不错的成绩。
在压缩课内学时的大背景下,教师还应该采取灵活的方式让学生在课外学习,为学生自主学习提供环境与平台。例如,利用Web2.0等相关技术,建立论坛、QQ群、兴趣组、教师博客、答疑邮件等,组织学生参加等级考试或各类学科竞赛也是一种比较好的选择。
2.2 算法为要,端正学生对程序设计语言的认识
在C语言程序设计的教学过程中,要时时向学生传输这样一个观点:程序设计语言,无论其功能有多么强大,有多么流行,都只是一种工具,而编写程序的根本目的是解决问题;在解决问题中,算法是最重要的。这样就不会让学生陷入纯粹学习程序设计语言的误区,避免他们学了一种语言又一种语言,可最后仍然解决不了实际的问题;同时,还会端正学生对数据结构、算法设计与分析等IT类专业核心课程的认识。[2]所阐述算法为先的教学方法,笔者深有同感,这种方法确实能从根本上调动学生学习C 语言的积极性和主动性,激发学生对C语言程序设计的学习热情。
2.3 用开源深化学生的学习
在笔者的教学经历中,发现每届都有编程能力比较突出的学生。他们通过教师的引导和自己的努力,很快就能消化C语言程序设计教材上的基础知识。对于这类学生,教师应该积极引导,鼓励他们做课程设计,编写C 语言程序去解决实际工程问题。同时,还可以引导他们学习、参与开源软件,深化他们C语言程序的学习。
通过开源软件,可以让学生深入理解C 语言的精髓和本质[3]。开源软件,不仅仅可以在互联网上查找,也可以将历届学生中做得比较好的课程设计或基于C语言的软件系统进行开源。通过这种方式,可以开阔学生的视野,启发学生的思维,激发学生的兴趣;同时,在参与开源的过程中,也培养了学生的团队意识和交流能力。
2.4 培养学生良好的编程习惯与规范
在现代软件工程中,培养学生良好的程序设计风格越来越重要。好的编程习惯要从初学就开始培养。教师在实验教学中,应该强调和贯彻专业的编程规范,通过这种方式,不仅可以减少程序设计中错误,更重要的是帮助学生树立了良好的程序设计风格,培养了学生的职业素质,为今后的团队合作和软件工程的项目实践打下了坚实的基础。
2.5 学习方法比学习内容更重要
授人以鱼不如授人以渔。C语言程序设计的教学也是如此,掌握好的学习方法比掌握C语言程序设计课程本身更重要。C语言程序设计的学习形式,一般可以分为听课、自学、上机实践等几种。刚进入大学时,学生的学习能力还有限,就应该以听课形式为主,但教师应该尽量引导学生通过自学来解决遇到的问题,通过上机实践来加深理解。
当在学习过程中遇到了问题,不应该是马上想到向教师求助;笔者鼓励学生通过仔细翻阅课本和参考资料,解决不了的再求助互联网,如果实在打不开思路,再向同学和老师求助。一般来说,课本、课外书藉、MSDN 帮助这些资源结构清晰、层次清楚,很适合学生作为系统的学习材料,基本上能够解决在学习过程中所遇到的问题。此外,教师还应该引导学生多看外文资源,这对后续课程的学习会有很好的帮助。
2.6 合理使用多媒体课件
在C 语言程序设计课程的教学中,要充分利用多媒体课件,其内容应该有条理、重点突出、详略得当且没有遗漏。多媒体课件应该注重演示与推理,而不教材的翻板。目前,许多教师过分注重采用PPT教学,强调知识体系的完整而不注重学生的掌握情况,效果很不好。学生普遍感觉,上课都好象听懂了,但一下课头脑中什么也没有,上机什么也不会。C 语言程序设计的教学不能过分PPT化,有些知识点采用板书推导、引导学生一起写程序,教学效果会更好,有利于培养学生的程序思维[4]。
3 深化C语言程序设计教学改革,交流最重要
教学改革是各个院校都必须开展的重要内容之一。在校内,教研室内部、各教研室之间、各院系之间,可以通过研讨会、公开课、学术论文等形式进行交流,取长补短,开展批评与自批评。
校级间的教学改革交流与探讨也是一个重要途径。目前,各级教育部门、各类教育协会、出版社等组织的全国性质的经验交流会就是比较好的方式。比如,2012年4月21日,高等教育出版社在华中农业大学举行了计算机基础课程教学研讨会。在会上,浙江大学何钦铭教授交流了“C程序设计基础及实验”国家精品课程的建设经验,许多观点与教学改革思路让与会者耳目一新。
通过各种教学改革方面的交流,可以开阔教师眼界,让教师始终把握教改前沿,这对最终提高教学效果是有百益而无一害的。
4 结 语
C 语言程序设计是计算机和软件等IT类专业课程体系中的重要组成部分,教学目标在于培养学生的编程能力与规范。多年来,在C 语言程序设计的教学中过度地强调语法体系的学习,导致学生的学习兴趣不高,分析和解决实际问题的能力差。笔者经过多年教学与实践,结合自己的教学体会,指出了C 语言程序设计教学中存在的一些误区,并提出了一些确实可行的建议。
参考文献
[1] TIOBE Programming Community Index for April 2012[DB/ OL]./index.php/content/paperinfo/ tpci/index.html,2012.03.
[2] 于清等.算法为先的C语言教学模式探讨[J].计算机教育,2009,(20):106-108,96.
[3] 廖文江,等.以开源软件为平台改进C语言教学[J].计算机时代,2009,(10):61-62.
[4] 谭浩强. C 程序设计(第三版)[M].北京:清华大学出版社,2005.07.
[C语言程序设计教学改革与实践]相关文章
- 《微观经济学》课程数学应用方法的教学改革探讨
- 专科类基础力学课程教学改革探究
- 高职《建筑力学》工学结合教学改革与实践
- 浅谈高职医学专业英语教学改革
- 延边州深化课堂教学改革校长论坛圆满结束
- 初中思想品德教育教学改革初探
- 浅谈高等数学在不同专业的教学改革与现实
- 高职计算机数学课程教学改革
- 高职数学教学改革之我见
- 计算方法在计算机科学与技术专业教学改革与实践
- 社区实践个人工作总结5篇
- 实践活动心得总结3篇
- 关于红色文化实践活动的感想10篇
- 红色文化实践活动报告3篇
- 国家级特色专业建设实践研究
- MOOC环境下使用Visual,Studio制作动态网站课程的理论与实践
- 基于科学计算和实践创新能力培养的数值计算方法课程改革与实践研究
- 高职“绿色食品生产”实践教学改革与实践
- 2022年在“四学四大”主题教育实践活动动员部署会议上的讲话
- 2022年度阅读《实践论》心得体会【精选推荐】