C语言程序设计教学方法探析

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:minifeng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:C语言是一种被广泛应用的计算机语言,它已成为高校计算机教学的重要内容。本文结合教学实践,探讨C语言教学中培养学生编程能力的途径,探索C语言程序设计的教学方法,解决C语言程序设计存在的问题,旨在进一步提高C语言程序设计教学效果。
  关键词:C语言;编程能力;算法;教育
  中图分类号:TP3文献标识码:A文章编号:1009-3044(2009)04-0886-02
  The Ascertaining about the Teaching Method of the C Language Program Design
  SU Hui-xiang
  (Department of Information Engineering, Dongbei University of Finance and Economics, Dalian 116025, China)
  Abstract: The C language program design is an application language at large. It became an important computer teaching content in the university. The text will discuss the approach of bring up the students with the program design ability, probe into the method of the C program design, solve the problem existed in the C language program design in order to improve the teaching effect.
  Key words: C language; the program design ability; the algorithm; education
  1 引言
  从目前来看,对于计算机专业学生来说,C语言程序设计是一门专业基础课,对后续专业课程至关重要;对于非计算机专业的理工科学生来说,这是一门公共基础课,是各专业学生的计算工具,调查表明,非计算机专业约半数的研究人员在工作中进行编程或使用应用程序进行工作,目前有相当多的高等学校将程序设计列为理工科非计算机专业的必修课。这门课程在高校开课率较高,非常具有普遍性,这门课程教学效果的如何直接影响到多个专业学生在计算机方面的应用能力和水平。然而,国内高校该类课程的教学模式仍停留在传统的模式上,过于注重语句、语法和一些细节,基本上是以高级语言自身的体系为脉络展开的,没有把逻辑与编程解题思路放在主体地位上。如何分析问题和解决问题基本上不讲,程序设计的思路不交代,对学生编程的能力,上机解题的能力训练不够,更谈不上在教学中引导学生研究和探索了。这样就给后续课程及研究生阶段的课题研究留下了隐患。很多学生在学习这门课时感到枯燥难学,学过之后,又不能用之解决问题。目前,学校计算机教学存在着诸多问题,这些问题是否能够被很好地解决已成为高校计算机教学中的关键。
  2 C语言程序设计教学方法
  作为教师,在计算机教学中,应不断地改变教育观念,以学生为主体,创造性地组织教学内容,设计教学结构,注重挖掘学生的潜力,从而使学生的计算机学习成为一种自觉自愿的活动,进而使计算机教育的改革不断推向深入,最终使计算机学习超越课堂空间。为达到这一目的,C语言程序设计应采用如下教学方法。
  方法之一:强调学习C语言的重要性,激发学生的学习主动性。
  目前,有不少学生误以为C语言只是DOS特有的东西,一提到C语言就认为C语言只能在DOS下编程,而现在用户都是在WINDOWS环境下操作,只要学习VisualFoxPro、VisualBasic和VisualC等可视化语言就行了,对为什么还要学习MS-DOS环境下编程的C语言还认识不清,故学生在学习时缺少主动性。为增强学生学习的自觉性和积极性,就要使学生认识到,C语言是目前世界上使用最为广泛的计算机语言之一。它是一种介于汇编语言与高级语言之间的编程语言。从1970年诞生之日起,一直被用来开发各种各样的程序。学好C程序设计这门课,既可为今后更好地学习C 、JAVA、VB、ASP等语言打下一个很好的基础,又能日后的计算机等级考试创造了条件。另外,教师可以在第一节C语言课中就让学生看一下在图形模式下用C语言绘制出来的,类似WINDOWS的窗口,让学生感受和体会一下图形模式下C语言的编程,以使他们知道,C语言作为一种计算机编程语言,它是可以在任何一种平台上编程的,只是接口不同而已,只要找到适合该平台的编程工具,C语言在WINDOWS下同样也能充分发挥其特长,从而激发学生的学习积极性和主动性。
  方法之二:采取粗讲和细讲的方法,缓解课程内容多和学时相对少的矛盾。
  高校计算机教学的特点是:知识更新快,内容范围广,应用要求高。由此带来的问题之一就是课时的相对减少。在实际教学工作中,我体会到,要缓解课程内容多和学时相对少的矛盾,就是要将“粗讲”和“细讲”结合起来,例如,在《C语言程序设计》课的教学中,前面的几章主要是常量、变量、数据类型、运算符和表达式等一系列规则性、语言的语法要求很强且很琐碎的内容,如果一开始就按部就班地一条条给学生讲解这些规则,常常使学生产生“只见树木,不见森林”、茫然不知所措的感觉。所以应该先通过一个简单的C程序实例“细讲”为什么要制定这些规则,使学生清楚这些规则在程序中的用途,然后对于这些规则“是什么”就可有代表性的“粗讲”,甚至有些部分可以不讲,让学生边用边学。
  方法之三:突出重点,鼓励和引导探索式学习。
  《C语言程序设计》这门课授课的原则是要让学生先抓重点而后才是细节,重点放在思路、算法、编程构思和程序实现上。语句只是表达工具,讲一些最主要的,细枝末节的东西根本不讲,让学生自学,动手上机练,计算机是实践性极强的学科,所学的内容和要实践的东西是一个整体,所以学生可以自己动手来学,书上看不懂的在机器上动手试试,往往就弄懂了,因此很多东西完全是可以自学的。教师应引导学生在解题编程的实践中探索其中带规律性的认识,将感性认识升华到理性高度,只有这样,学生才能举一反三。在这一过程中教师起着很大的引导作用,要求学生在课堂上积极思考,尽量当堂学懂,突出上机训练,在编写程序的过程中,使学生提高利用计算机这个智力工具来分析问题和解决问题的能力。
  方法之四:选择合适的数据结构,设计满足限定条件的最优算法。
  在C语言程序设计中,用设计程序解决问题时除了认真分析问题之外,最重要的是选择合适的数据结构,并设计满足限制条件的算法或选择最优的算法。因此,要求学生要熟练掌握各种常见的数据结构,深刻理解某些经典算法的原理和时间、空间复杂度,掌握算法设计的一般步骤。
  方法之五:突出讲授C语言程序设计的普遍性和特殊性。
  程序设计课程可以分不同层次,C语言只是其中的一种,在这门课的讲授中,要突出程序设计方法的讲解,让学生分清哪些是C语言所特有的,哪些是通用程序设计语言所共有的,这样就可避免讲了一种程序设计语言,再讲一种,既不深入也不透彻。当日后学生根据专业的使用情况及学生的具体状况来选择某种高级语言作为实际操作语言时,学生就具有了学习程序设计语言的能力、扩展的能力,而不是就学C语言而学C语言。但不同的专业对该课程的要求可以有所差异,但不论哪种情况,都不能停留在某种高级语言的介绍,而是要突出讲述程序设计方法,正确地选择算法与数据结构,进行正规的程序设计训练,这样才可深入、透彻的了解程序设计语言的真谛。
  方法之六:养成良好的编程习惯。
  让学生养成良好的编程习惯是十分重要的。我们在与国内一些软件公司的技术人员座谈时了解到,中国软件之所以上不去的原因之一就有“习惯问题”。印度十个人编程,会编出一样的东西,而我们十个人编程会有十种风格。因为我们忽略了一个重要问题是“顾客”的感受,因为程序的编写是给别人看的,而不是只给我们自己看的,这样才更符合软件规范的要求。鉴于此,在课堂上我们非常注意让学生养成良好的编程习惯,如:强调程序的可读性、规范性;变量必须加注释;程序构思要有说明;学会如何调试程序;尽量使程序优化;还要求对程序的运行结果做正确与否的判断与分析等。
  方法之七:强化实践教学模式。
  对程序设计教学模式进行改革,以强调动手实践、上机编程为切入点;以任务驱动方式,通过实例讲授程序设计的基本概念和基本方法。重点放在思路上,即:在C/C 语言的环境下,针对问题进行分析,构建数学模型,提出算法并编程实现,同时要求养成良好的编程习惯,在此过程中培养学生的思维能力和动手能力,鼓励学生探索、研究和创新。只有让学生动手,才会有成就感,进而对本课程产生兴趣,学起来效果才比较好。因此,我们的基本思想应该是在理论指导下,让学生动手、动脑更多地上机实践。因为学生只有在编写大量程序之后,才能获得真知灼见,感到运用自如。注重学生动手能力的培养是这门课和以往课程最大的不同之处。
  方法之八:确立师生互动的新型学习模式。
  在教学方式上,老师应注重调动学生的积极性,这样教学效果才会更佳。计算机程序设计课程是实践性很强的课程,如何将基础原理、基本开发技术和应用三个层面有机地结合,选择优秀的应用性案例进行教学是提高计算机程序设计教学的重要环节。教师讲授知识时要能够做到理论联系实际,努力使该课程生动、有趣、易懂来调动学生的积极性,并吸引学生的注意力。例如,在C语言课程的教学过程中,我们可以采取课堂互动的方法。教学地点仍然选择在微机实验室,教师将程序原理通过播放软件显示在学生计算机幕上,并将部分关键代码显示出来,每个学生则在自己的微机上尝试自己录入代码,遇到自己实在解决不了的问题时教师再进行指导。这样就会在学习过程中最大限度地调动学生的积极性,是教学中的一种新境界和新思路,也是一种正确的指导思想。教师要针对学生经常提出的疑问,重点进行理论的分析和讲解,并在微机上做现场演示,特别是演示疑难程序段的详细功能。这里需要指出的是,教师提供的源代码必须规范、整齐、美观,既语句简练,又功能强大,而且必须有详细的注释语句,这样极大地方便了学生对源代码的理解。这种互动式教学模式使得在教学过程中的教师、学生二者之间构成了一种新的修正、完善、深化的无限循环的教学过程中,从而对教材产生超越字面意义的理解,这样既对教材进行修正、补充和丰富,也使教师、学生在对彼此理解和反思的基础上,加深了对教材的理解,提高了阅读理解程序的能力。在课程中,可以讲解或布置具有挑战性与应用性的有趣任务、问题或习题,并增加奖励和鼓励措施,指导学生在实践中学习和提高。
  方法之九:善于发现学生的潜在素质。
  创造力是人类高智能活动的集中体现,是人的认识能力和实践能力结合的产物。学生思维的变通、灵活与独创性可以产生直觉突破与灵感的火花,学生的怀疑精神、探索能力将得到提高。在课堂学习和社会实践中,要善于发现学生创造力的潜在素质,给予肯定,积极引导,使学生认识到自身的优势与特点,并主动完善自己,增强自信心,奠定创造性思维的意识基础,从而表现出善于吸收而积极创造等等,从而达到本课程的教学目的,完成本课程的教学内容。
  参考文献:
  [1] 曾正军.在教学中对学生C语言编程能力的培养[J].南昌高专学报,2004(1).
  [2] 叶幼林.对计算机C语言教学的探讨与研究[J].中南民族大学学报(人文社会科学版),2004(24).
  [3] 薛小锋.《C 语言程序设计》教学方法探析[J].福建电脑,2004,1.
  [4] 张晓涛.学生参与课程设计的教学策略研究[J].黑龙江高教研究,2005,2.
其他文献
摘要:论文通过分析游戏软件在学习中的积极因素,提出一套基于Robocode的Java实验教学方案。倡导通过寓教于乐,提高学生对Java语言的应用能力和创新意识。   关键词:Robocode;Java教学;实验教学  中图分类号:G642文献标识码:A文章编号:1009-3044(2009)22-0000-00    高校实验教学在培养学生基本技能、动手能力和创新思维方面具有课堂教学所不能取代的作
摘要:分析了在VRML中通过Script节点或EAI 使用Java语言来实现对虚拟世界的控制和场景交互的办法,指出了它们的不足之处。在此基础上,利用AJAX异步传输和数据处理的优势,提出一种基于AJAX的虚拟现实框架,并简要给出了应用实例说明。  关键词:虚拟现实;VRML;Java;交互;AJAX   中图分类号:TP309.05文献标识码:A 文章编号:1009-3044(2008)06-10
摘要:世界移动通信的研究热点已转向B3G,其关键技术有:OFDM技术,MIMO技术,自适应编码调制(AMC)技术等。是一组极有前途的技术。  关键词:B3G;OFDM;MIMO;AMC;空时编码系统  中图分类号:TN929文献标识码:A文章编号:1009-3044(2008)16-21212-02  After Three Generations of Mobile Communication(
摘要:简要介绍了VB网络通信中收发数据的原理及方式,给出了UDP协议下通信的源代码,通过在校园一卡通系统中的应用实例,着重讲述了一种利用计时器控件进行接收并处理多帧数据的简易控制方法,并提供了实现方法的主要源代码。文章的最后指出了这种方法的不足之处。  关键词:网络通信;多帧数据;计时器控件  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)18-20000-00  
摘要:数据库备份是保证数据库安全的一项重要措施,Oracle数据库管理系统提供了强大的数据库备份功能,RMAN是Oracle数据库管理提供的数据库备份与恢复实用程序。文章对RMAN组成、工作机制、备份步骤进行了介绍。  关键词:ORACLE数据库;RMAN;备份    Backup of Oracle Database Base on RMAN  HONG Jia-feng  (Zhuhai Ca
摘要:当今,计算机应用逐渐由海量数据处理转向大规模的事务处理和对工作流的管理,产生了对以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统的迫切需要。素质教育深化改革,教育信息化的要求使得设计高校教务管理信息系统成为很好的研究和实践课题。  关键词:ASP.NET;教务管理信息系统;系统设计;系统实现  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)36-30
摘要:随着WEB技术的发展,基于网络的课程教学系统已经得到广泛的应用与实践。该文在分析操作实践课程特点及网络学习特点的基础上,提出了基于WEB的《ACCESS数据库程序设计》课程自主学习系统的设计与实施方案。系统以知识点为基础,组合围绕知识点的相关学习要素,综合解决和实现了学生在无教师指导下的完全自主学习。  关键词:自主学习;远程教育;WEB应用  中图分类号:TP311文献标识码:A文章编号:
摘要:如何在高校通识教育课程设置中融入计算思维的培养目标,已成为计算机教学工作者及高等教育课程体系制订者的研究课题之一。该文介绍了计算思维概念及研究现状,分析了国内大学通识教育现存问题,并在借鉴美国众多研究型大学通识教育课程的多种模式经验的基础上,对于大学计算机通识教育课程的设计提出了思路建议。  关键词:计算思维;通识教育;课程设置模式  中图分类号:G642 文獻标识码:A 文章编号:1009
我国的传统教育经历了两千多年的发展演进,构建了一套相对完整而严谨的理论体系,不仅在一定程度上维持了社会和国家的长治久安,也保证了文化与思想的传承,更塑造了中华民族的精神气质和性格特点。其中,“修身、齐家、治国、平天下”的家国情怀与“天人和谐、睦邻里仁、文道结合、知行合一”等传统思想,对现代教育影响深远。由吴婕主编、大连理工大学出版社于2013年出版的《中华优秀传统文化》一书,对中华优秀传统文化进行
摘要:我国基层社会治理面临着许多的矛盾和问题。而网格化管理就是根据属地管理、地理布局等原则,将辖区分成若干个网格状的单元,并对每一个网格实施动态、全方位的管理,对格内居民进行多元化、精细化、个性化的服务,从而达到高效、有针对性的服务,从而提高提高公共管理服务职能、密切党群干群关系、完善为民办实事的长交机制的目的。该文主要是通过介绍乌兰浩特铁西街社区网格化建设,来阐释网格化管理在解决基层社会治理的矛