公务员期刊网 精选范文 c语言程序设计范文

c语言程序设计精选(九篇)

c语言程序设计

第1篇:c语言程序设计范文

关键词:C语言;C++语言;程序设计

中图分类号:G642 文献标识码:B

文章编号:1672-5913(2007)14-0022-02

1引言

大学计算机科学专业的程序设计语言课程,一般分为必修和选修两种。C和C++都作为必修课;而VB和Java等一般作为选修课。现在大多数高校计算机科学专业开设程序设计语言课程的顺序都是,先开C语言,再开C++语言。然而,我们在教学实践中发现,学生学习C语言程序设计,接受了“自顶向下,逐步求精”的模块化程序设计思想,在学习C++语言时,对C++语言的特色:类和模板所提供和支持的“自底向上”的面向对象程序设计思想,很难适应、理解、接受和掌握。同时,由于课时的压缩,两门语言都要开设,学时更显不足,致使学生两门语言课程都没有充分的时间学通、学透;更有甚者,正常的教学内容不能完成,学生一知半解、似懂非懂,课程的难点知识没有时间讲和学。这种结果直接影响后续课程(比如,数据结构)的学习;同时学生动手开发软件的能力也将受到影响。

本文在分析比较C和C++程序设计语言异同的基础上,结合多年的教学实践经验,提出在大学计算机科学专业中,直接开设C++程序设计语言,不再开设C语言的观点。并根据作者的教学实践经验,给出直接开设C++时,教学内容、教材选择和开设时间的建议。

2程序设计语言C与C++的比较

2.1C与C++的共性

C++是C的增强版,是在C的基础上增加了数据抽象和面性对象的程序设计这些新特点,很自然C++拥有C语言的基本功能。它支持结构化的程序设计,任何用C写的程序都可以在C++环境下运行。

在C和C++语言中,标识符、变量、常量、基本数据类型、指针、表达式、运算符的优先级等的规定都相同。枚举类型和结构体类型的定义方法也相同。关系和逻辑运算、条件语句、循环语句这些控制流语句的定义和使用也都相同。C和C++中数组的定义和使用相同。函数的定义与调用基本相同,只是C++引入了引用参数。也正是由于引用参数的引入,使得C++的使用比C更方便。关于动、静态变量及其范围的规定在C和C++中相同。因此。可以说,C语言所拥有的功能,C++都有,而且也是C++的基本部分。但是,C++比C具有更强的功能,具有C所没有的特性――数据的抽象和支持面向对象的程序设计。同时,关于枚举变量,结构体变量的声明C++的语法约定更简洁方便。

2.2C与C++的不同

C与C++在程序设计的思想与规模、动态存储管理、文件使用、枚举和结构体类型、输入和输出,以及程序注释等方面存在差异。C++不仅具有C的所有功能,可以实现所有C语言所能实现的功能,而且C++的功能更强大,使用更简洁方便。因此,使用C语言设计程序所能解决的实际问题,使用C++语言设计程序也一定能够解决,而且实现起来更方便。

2.3C++的特色

C++最大的特色是提供了数据的抽象和实现数据抽象类型的机制――类,以及支持面向对象程序设计的封装、继承和多态等特性。由于类的出现,使得C++中的数据类型不再局限于系统所提供的固有类型,用户可以根据自己的实际需要设计创建新的数据类型。同时,由于类的使用,使得数据和操作被封装在具体的类中,实现了信息的隐藏。C++提供了两种构造新类的方法:继承和构成。这两种构造方法使得C++具有面向对象程序设计的特性。C++还提供了虚函数机制,这使得类的操作可以实现动态邦定。C++中的重载机制使得C++的使用更方便快捷和人性化。C++的模板使得C++具有多态特性。另外,C++的异常处理机制使得程序的调试变得容易和方便。还有C++的虚基类,使得它非常适合用来开发面向对象的程序。

C++中的引用类型,使得函数的参数可以采用引用参数,避免了C语言中函数参数的单向值传递所带来的弊端。而且使用起来非常方便。

C++还提供了作用域限定运算符(::),该运算符可用于解决名称冲突。还可用于指定标识符的有效范围,如名称空间中标识符的使用。

标准C++还支持名称空间[3~5],除了系统提供的标准名称空间std外,用户还可以定义自己的名称空间。名称空间的使用给程序设计带来了很大的方便。

C++的上述诸特色,显示了C++不仅能实现C程序设计语言所支持的结构化程序设计,而且还支持面向对象的程序设计。可以开发出更大更复杂的应用软件。

以上C与C++的比较可见,C++的基本部分与C语言基本相同,而且C++的语法相对于C语言的语法更简洁方便易使用。因此,C++完全可代替C来完成程序设计,完全可以在大学计算机科学专业的本科生中直接开设C++程序设计语言课程,而不用先开设C语言,再开C++。这样,可以将节省出一部分学时分给C++课程,使得C++的学时更充足些,学生也掌握地更好些。

3程序设计语言C与C++开设建议

通过以上的分析比较,可见在高校计算机科学专业程序设计语言课程的开设中,可以不用开设C程序设计语言,而直接开设C++语言程序设计。

C++的教学内容应该包括:基本知识部分:程序设计与问题解决概述;C++语法、语义以及程序开发过程;数值类型、表达式与输出;程序输入与软件设计过程;条件、逻辑表达式与选择控制;循环;函数;作用域和生命期;高级控制结构;固有数据类型和用户定义的简单数据类型。C++高级知识部分:结构体、数据抽象和类;数组;基于数组的表;面向对象的软件开发;指针、动态数据和引用类型;链结构;模板与异常;递归。

C++课程开设时间放在一年级第二学期比较适宜。因为学生在第一学期已经学习了一些关于计算机的入门知识,对计算机科学有了一定的了解,这时开设C++程序设计语言,学生接受起来比较自然。而且直接学习C++语言,没有别的计算机语言的影响,学习起来更易于接受。C++的课时建议为周学时4,以保证学生有足够的学习、吸收和消化知识的时间。另外,这个学期开设C++可为学生后续专业课程(如,数据结构)的学习做铺垫。更重要的是作为计算机科学专业的本科生,在当前的形势下掌握C++这一通用的编成语言,不仅为将来的发展奠定良好基础;也为今后参与社会竞争打下坚实基础。

以上观点的有效实施依赖于C++程序设计语言教材的选择。在选择教材时,必须选择适宜作为入门语言学习的C++教材。在此建议采用参考文献[3]中的教材――美国Jones and Bartlett Publishers出版的原版教材“Programming and Problem Solving with C++ (Third Edition/Fourth Edition)”。该教材知识讲述逻辑性强,内容安排循序渐进,讲解非常透彻清晰,是国内许多中文教材无法媲美的;而且没有任何先驱课程要求,学生学习起来很容易理解和接受,该教材是美国大学计算机及相关专业程序设计语言的入门教材,是美国最畅销的计算机科学教材,也是教育部推荐使用的计算机专业类影印版教材。作者在过去4年中使用该教材对计算机科学专业的学生讲授C++程序设计(双语教学)。4年以前作者曾多次讲授C语言程序设计。结合多年的教学实践,作者提出在大学计算机专业的程序设计语言课程设置中,直接开设C++程序设计语言的观点。关于教材的选择,也可选用其他一些翻译过来的国外优秀教材,如参参考文献[5]中的《C++大学教程》(第五版),该书是针对一学期的课程设置的,英文版在国外也是作为计算机专业的大学一年级教材;或者考文献[4]中的《C++核心思想》。作者的经验是最好选用国外原版教材,而且以参考文献[3]为最好。

参考文献:

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

[2] 龚杰民, 金益民, 殷勇. 标准C语言程序设计及应用[M]. 西安电子科技大学出版, 1995.

[3] Nell Dale, Chip Weems, Mark Heading. Programming and Problem Solving with C++(Third Edition)[M]. 美国: Jones and Bartlett Publishers, 2003.

[4] [美]Cay Horstmann著, 晏海华等译. C++核心思想(第三版)[M]. 北京: 电子工业出版社, 2004.

[5] [美]戴特尔等著, 张引等译. C++大学教程(第五版)[M]. 北京: 电子工业出版社. 2006.

作者简介:谢娟英(1971-),女,陕西西安人,副教授,主要从事智能信息处理方面的应用研究。

通信地址:陕西师范大学98# 邮编710062

Tel: 029-85307830(home),13088965815

第2篇:c语言程序设计范文

关键词 精品课程;网站;多媒体课件;质量工程

中图分类号:G434 文献标识码:B

文章编号:1671-489X(2013)33-0061-02

随着教育信息化的迅速发展,为学生提供优质教学资源提供了极大的便利。精品课程是高校优质教学资源极大化利用的行之有效的手段,已经成为高校教学质量工程的重要组成部分。作为一门计算机方面的公共基础课程,C语言程序设计已经在各所大学理工科专业普遍开设,课程教学目的在于培养大学生的计算机编程思维和编程能力。鉴于教学实际,多所高校都在进行该课程的精品课程建设。本文就C语言程序设计精品课程建设中的一些事项进行一些探究,以期为该精品课程的建设提供一些参考意见。

1 课程教学现状

为了培养学生利用计算机解决实际问题的能力,锻炼学生的编程思维与编程能力,各所大学的理工科专业都开设了C语言程序设计课程。在课程教学中,存在几个方面的问题,对于教学效果有较大的影响。

1)作为一门计算机方面的公共基础课,在实际教学过程中,基本都采用大班理论授课及上机辅导相结合的教学模式,由于学生人数多,学生专业差异较大,学生层次分布广,学生自身的差异也较大,统一的授课方式很难同时满足学生的需要。

2)任课教师很多都是多专业、多门次授课,教学任务重,导致其很难对学生的个性和专业特征作过多的研究,结果是授课内容几乎没有区分,影响了学生的学习兴趣。

3)授课教师在教学中还是以教为中心,在教学手段、教学方法上缺乏进一步的创新,无法充分调动学生的积极性。

4)学生的学习效果评价还是以笔试为主,缺乏灵活性,对于程序设计这样的课程,评价存在一定的局限性。

2 C语言程序设计精品课程建设意义

作为学生,大家很希望能有一些课程学习方面的优质资源来帮助自己学习。因此,进行本门课的精品课程建设,提供不同优秀教师的授课课件、教学视频,有利于激发学生的学习兴趣,弥补课堂教学的不足。同时,精品课程为学生提供了教学大纲、考试大纲、在线测试、编程练习、算法演示、课程竞赛等课程相关的信息,有利于学生在课下的自主学习,有很强的使用价值和针对性。精品课程是教学质量工程的重要组成部分,目前,国家教育领导部门和高校都注意到了其重要价值。精品课程的建设程度也成为衡量教学质量的一个重要方面,学校、学院也提出了多种激励措施鼓励大家进行精品课程的建设,力争提升学科内涵。

3 C语言程序设计精品课程建设内容

C语言程序设计精品课程建设一般包括解析精品课程评审指标,书写精品课程申报书,制定课程教学大纲、考试大纲,制定精品课程框架,建设精品课程网站,编写教学课件,录制教师授课录像,建立在线试题库等。

解析精品课程评审指标 结合学校实际,认真研读部级精品课程的建设标准,对其指标体系进行分解细化,做到心中有数,为精品课程的建设做好准备。

制定精品课程框架 紧密结合精品课程建设指标,做好精品课程建设的规划和设计,制定出精品课程框架。精品课程框架应该囊括所有精品课程建设指标,并突出自己的特色栏目。

制定课程教学大纲、考试大纲 每门课程都有学习和考核的标准,为做好精品课程建设,应结合C语言程序设计公共基础课程的特点,结合各专业培养方案,制定出相应的教学大纲和考试大纲。

编制教学多媒体课件和编写教案 精品课程建设过程中,应该要求相应的指导教师编制符合专业培养要求,具有良好风格,质量高的多媒体课件,并编写相应的教案。多媒体课件要做到优中选优。

录制教师授课录像 选择教学经验丰富、教学效果好的几位教师进行授课的录像,将其好的教学场景录制下来,以提供给更多学生使用。授课录像可以由学校多媒体中心人员提供录制帮助。授课录像应该能够体现授课内容的合理性和授课方法的先进性,并有一定的趣味性。

建设试题库 精品课程的建设要配套试题库,最终实现学生的在线练习和在线测试。试题库应能涵盖考核的所有知识点,并且包含不同的试题类型。

建设精品课程网站 为了实现精品课程资源的和展示,要建立精品课程网站。网站要栏目设置合理,界面美观大方,色彩配置符合人眼长时间查看的要求。网站能够充分展示课程建设中的各个要素。

书写精品课程申报书 严格按照精品课程建设申请书的要求填写,在格式上做到规范无误,在内容上要能够突出自己的特色,提供的支撑材料有理有据。

4 C语言程序设计精品课程建设中的注意事项

精品课程的建设是一项系统工程,有大量的工作要做。然而,许多高校都存在“重申请,轻建设”的情况。实质上,在精品课程的建设中,要更加重视后期的建设工作,在内涵上提升教学质量。笔者认为,精品课程建设中应该注意以下事项。

重视师资队伍建设 精品课程的建设,其目的是实现教学质量的提升。教师的本身素质直接影响到教学效果,要从根本上改善教学质量,提升内涵,就要重视师资队伍建设。一方面,加大现有教师的再教育,鼓励其进修或深造;另一方面,可以引入高学历、高能力人才,充实教学队伍。

规范规章制度,提升管理水平 在精品课程的建设过程中,应该逐步规范相应的规章制度,如统一备课、专家听课、学生评教、教学竞赛等制度,从管理上为增强教学效果奠定基础。

注重精品教材编写 精品课程的建设离不开精品教材的支撑。应注重教材内容的不断革新,将新的教育理念和新的知识内容反映到精品教材中,为学生的学习提供好的素材。

重视多媒体课件的编制 多媒体课件是精品课程网站的重要部分。要重视课件的编制,编制出内容丰富、布局合理、构思精巧的多媒体课件,以利于课后学生的自学,从而提升学生的学习效率。粗制滥造的多媒体课件往往只是书本知识的简单展示,会影响学生学习的欲望,无法起到相应的效果。

努力实现教学方法的创新 好的教学方法和手段,能够激发学生的学习兴趣。精品课程的建设,应不断地研究教学方法,实现教学方法的创新,进而实现教学质量的提升。

重视实践教学 C语言程序设计课程是一门实践性很强的课程,要较好地培养学生的动手能力,就要求加强实践教学。同时,在精品课程网站上,也可以多增加一些编程问题,鼓励学生参加程序设计大赛。

重视学生评价 精品课程的教学效果如何,最终还是要以学生是否学到知识作为根本依据。精品课程的建设,要重视学生的评价,并把学生的好的建议吸收进来,进而进行教学的相应改进,使其能够获得更好的教学效果。

5 结束语

精品课程是高校教学质量工程的重要组成。精品课程的建设对于提升学校学科内涵有积极的意义。作为一门实践性强、专业分布广的课程,C语言程序设计精品课程也提出了更高的要求。本文分析了C语言程序设计课程的教学现状,讨论了C语言程序设计精品课程的建设意义,研究了精品课程的建设内容和注意事项。C语言程序设计教学过程中,精品课程的建设和对其合理使用,对于增强教学的效果有明显的影响。应注重精品课程的申报和建设,为进一步促进教学质量的提升奠定坚实的基础。

参考文献

[1]谢幼如,尹睿,谢虎.精品课程群支持的专业综合改革与实践[J].中国电化教育,2013(8):1-7.

[2]李立,王辉.高校精品课程建设述评[J].黑龙江高教研究,2013(7):12-14.

第3篇:c语言程序设计范文

摘 要:《C语言程序设计》是计算机专业的基础课,为后继课程《数据结构》等的前导课程,也是其他专业的必修课程,同时是国家计算机考试中的重点内容。针对普遍认为该课程教师难教、学生难学的问题,本文从教学内容、教学手段、教学方法等方面介绍了对此课程进行的一系列改革。经过实践证明,在教学改革实施后,不仅有利于培养学生对该门课程的学习兴趣,而且对学生分析问题与解决问题的能力也有了显著提高,取得了良好的教学效果。

关键词:C语言程序设计;教学内容;教学手段;教学方法

作者简介:李力东,女,(1974―),硕士,现在吉林省长春市吉林建筑工程学院从事计算机教学工作,讲师,研究方向计算机软件。

1、《C语言程序设计》课程介绍

C 语言是计算机程序设计领域的主流语言,它既具有高级语言的优点,又具有低级语言的特点,是一门承上启下的课程。通过学习,使学生能够比较熟练地掌握C语言的语法规则及程序设计的基本方法与编程技巧,了解进行科学计算的一般思路,培养学生独立思考、分析、处理C语言程序设计问题,能在计算机上调试、运行程序,具有一定的查错、改错能力,做到理论和实践紧密结合,并初步积累编程经验,自己解决一些程序设计问题,为进一步学习和应用计算机打下基础。C 语言是面向对象程序设计C++ 的先修课程,也是一些应用 C语言环境的相关课程如《数据结构》的先修课程,因此 C 语言在计算机专业人才的培养过程中占有重要地位。

2、教学中的问题

在《C语言程序设计》课程教学中,许多教师和学生都认为C语言涉及的概念比较复杂,规则繁多,使用灵活,极易出错,教师授课和学生学习的过程中不同程度产生畏难心理[1]。现在大多数高校将该课程设置为计算机专业的学生入校后最先学习的专业基础课,对于没有任何准备的学生来说,学习起来十分困难。C语言的重点内容包括:选择和循环语句、数组应用、函数的应用、指针的应用等。这些内容逐层深入,联系紧密,前面有一个地方概念不清都会导致其后续内容无法正确理解。

3、教学的改革

① 教学内容的改革

大多数的C语言教材,其教学内容都包括C语言基础知识(数据类型、运算符和表达式)、三种程序控制结构、数组、函数、指针、文件及其应用等。教材在内容上,按照逻辑方式进行归类,但是难点仍然比较集中,各章节跨度较大。在各章节中有的例子不典型,甚至涉及到后续内容,学生理解起来难度较大,适用性不强。

本着“深入浅出,突出实用”的教学思想,合理的对教学内容重新进行归纳,将难点分割,达到逐级递增的目的。例如C语言数据类型、运算符、表达式种类繁多,以往放在一起利用几学时统一讲授时,学生理解起来难度较大,可以采用将算术型的数据类型、运算符以及相关的表达式先介绍,即将相关内容联系在一起讲解,使知识不分散,利于掌握。然后再采用这种方式介绍其他数据类型。接下来教学生编写简单、实用的C程序,由此引入基本输入、输出函数循序渐进。这样难度减小了,学习积极性也提高了。此外,语言的叙述也对问题的理解很重要,比如,学习指针概念时,可以将A房间的钥匙放在B房间里,若要取A房间里的物品,就需要先打开B房间,取出A钥匙,再打开A房间,取出A房间的物品,这种方式讲述“间接存取”的概念。学生理解起来简单,记忆深刻。

② 教学手段的改革

在教学过程中,适当运用多媒体技术辅助教学,有利于激发学生的学习兴趣,能发展学生的主体能力;同时由于多媒体信息量大,也能够优化教学过程[2]。对于C语言的数据类型、变量类型、运算符、程序结构等,其定义较多,没有多少逻辑推理,采用多媒体教学,避免使用传统板书形式。对于有些程序,如冒泡法排序,可以借助多媒体的优势,制作动态效果,将问题层层剖析、深入,利于学生理解掌握,摒弃了板书的枯燥性。

③ 教学方法的改革

归纳教学法:C语言有很多的定义、语法规则,使用灵活、难以记忆。同时这些定义和语法规则又有许多相似之处,如printf()与scanf()函数,有很多语法规则是一样的,归纳之后,只要记住其中一个,另一个也迎刃而解了。

讨论教学法:教学过程中,充分发挥学生的积极性与主动性是非常重要的。在课前给学生布置题目,让学生利用课余时间去思考、收集资料,然后在课堂上畅所欲言的讨论。学生获得课外知识的同时,也促进教学内容的改革。

实践教学法:学习程序设计课程的目的是掌握设计思路,最终编写程序。因此解题思路的培养很重要。让学生从简单的程序编写开始,然后逐步深入。鼓励学生使用不同的方法解题,拓宽思路。

综合考核法:考核的方式除了传统的笔试外,还要进行编写程序和调试程序。两者结合给出综合评定,在客观反映学生学习情况的同时,也能促进学生学习达到良好的教学效果。

4、结论

无论是针对哪个学科,哪门课程的教学改革都是一个复杂的系统工程,涉及到诸多方面,在以学生为主体的教学模式下,采用多种教学方法的教学实践表明,将有助于学生培养良好学习习惯,激发学习兴趣,提高学习效率和成绩。本文针对本课程的介绍,教学中出现的问题入手,从教学内容、教学手段、教学方法几方面进行了教学改革,在《C语言程序设计》课程教学实践中进行了运用,取得了良好的教学效果。

参考文献:

第4篇:c语言程序设计范文

关键词: C语言程序设计; 教学改革; 教学方法; 教学设计

中图分类号:TP311.11 文献标志码:A 文章编号:1006-8228(2014)07-65-03

Abstract: C language programming is a common core curriculum in software technical majors of vocational colleges and the software development knowledge essence. In order to enhance the teaching quality, the problems in teaching the C language programming in several years are studied. Based on the training objectives, a teaching reform plan is presented regarding to course contents, teaching material building, teaching methods and teaching results. Corresponding solutions are provided in this article. Teaching reform has obtained good effects and the teaching quality is progressed significantly.

Key words: C language programming; teaching reform; teaching methods; teaching design

0 引言

C语言课程通常在大学新生入校的第一学期开设,是学生接触程序设计的第一门课程,学习难度大,要取得好的成绩相对比较困难。如何在较短的时间内使学生掌握C语言的基础知识,获得编程能力,达到教学目标,是进行教学改革的重点。本文对实际存在的问题进行分析,结合作者近十年的C语言课程教学经验,在教学设计、课程内容组织、教学形式、教学方法和考核方式上大胆尝试改革,积累了一些实践经验,取得了不错的教学效果。

1 C语言程序设计课程教学现状及问题分析

长期以来,在“C语言程序设计”课程的教学过程中,存在着诸多影响学生学习积极性,影响教学质量的不利因素。从主观上来说,如教学方法陈旧、教学手段单调、学生学习积极性不高等;从客观上而言,C语言本身也有知识点多,概念抽象,编程算法使用灵活等特点。以下综合分析现存的几个具体问题。

1.1 教学方法没有创新

教学方面仍沿用老一套的理论加实验模式,实践训练与课堂教学未能很好地连贯,理论教学与实际应用脱节。教师的讲授照本宣科,忽视培养学生的实践能力和创新能力,较少考虑学生的实际学习状况,提供给学生主动思考的机会不多,重点和难点把握不好,引导学生积极思维方面欠缺。

1.2 教学手段相对单一

在教学安排上,理论课和实验课分离,在多媒体教室上理论课,然后过几天再在实验室安排实验课,这样对学习基础和自觉性稍差的高职学生来说很不合适。C语言程序设计这门课程需要实践教学,引入真实案例,培养学生分析问题和解决问题的能力,通过“教、学、做”达到对知识的深入理解和熟练应用。

1.3 学生基础知识薄弱

用C语言进行程序设计需要较为灵活的思维,而高职学生数学基础和逻辑思维能力较弱,习惯于死记概念、硬背知识点。教学中应训练他们思考问题、分析问题和解决问题的独立性。进而,培养其主动性。

1.4 概念抽象,知识点多

C语言中有大量的难以记忆和理解的概念,名词术语多、使用灵活、逻辑性强,在使用时容易出错。部分学生对抽象的内容始终难以掌握,甚至思维混乱,如++i,i--等。学生在学习中对一些复杂、灵活、综合性的算法,感到太难接受,独立编程时不知从何入手,渐渐失去学习的兴趣。

1.5 对学习重视程度不够

教师和学生均对本课程重视不够。有很多学生认为,这只是一门基础课,在以后的学习和实际工作中作用不大,在程序设计工作岗位中很少会使用到C语言,更愿意花较多的时间去学习C++、VB、JAVA等语言,从心理上抗拒这门课程的学习。而有的学校也对本课程重视不够,少有安排具有丰富教学经验的教师承担本门课程的教学。

2 教学设计及课程内容组织的改革与实践

为了探究适合高职软件技术专业人才培养的C语言课程教学特点,笔者经过多年的一线教学实践研究与探索,重新进行教学设计,对课程的设计思路是:以学生为主体,以教师为主导,基于实际工作任务精心构建课程内容,通过项目驱动、任务引领的模式培养学生的程序设计能力。

2.1 教学设计

从分析学生的基本特点入手,融入现代教育理念,重新进行课程的教学设计。本着“以学生为主体,以教师为主导,以实际案例为主线”的教学基本原则,积极鼓励学生通过“认知、理解、应用、综合”四个阶段的学习,达到使用C语言熟练编写程序的学习目标。

2.1.1 以学生为主体

教学以学生为主体,变常规的“教学”为创新的“导学”。充分利用现代化的教学设备提供学习资源,发挥学生的主体作用,提出问题,引导学生分析问题和解决问题。

对于第一次接触程序设计的学生,其编程训练应从小程序和一些简单问题起步,通过一些常用的经典算法和相应的案例学习,逐步掌握编程方法,待有了一定的知识储备后,再逐渐加大练习的难度,实现从算法到程序代码的转化,使学生能够将一个实际问题描述为一个计算机算法,然后再编写相应的程序代码。

2.1.2 以教师为主导

教师课前要了解学生的基本学习情况,了解其已有的知识结构和技能,根据学生的实际情况设计教学环节,根据知识点设置可扩散思维的问题,有重点地讲解,引导学生积极思维和主动学习。对于少数学习特别优秀且自学能力强的学生,可适当加快教学引导,增加学习难度和深度,这样可以在学生中树立榜样,带动其他学生自觉利用所学知识解决相关问题,提高学习质量[1]。

从第一次课开始,教师就要引导学生主动学习。选取的素材可以是当前最热门的IT话题,也可以从不同的专业角度和实际应用为学生介绍学习本课程的意义和作用,同时介绍一些历届学生参加省级和部级的程序设计竞赛所取得的成绩,列举一些学生被选拔到知名企业实习的例子,如微软实习生等,引导学生对学习本门课程产生较大的兴趣。

2.1.3 以实际案例为主线

教学中引入实际案例,根据解决案例中的问题需要的知识结构选取教学内容,以实际编写解决问题的程序代码作为学习的主线。选用的案例如:“计算机三角形的周长和面积”、“计算机模拟抽奖”、“竞赛现场评分统计”等,选择案例的难度要形成一个梯度,随着学习的深入,学生的编程能力增强,逐渐形成系统化的程序设计思维。

常规的程序设计课程通常都注重语句、语法,以程序设计语言自身的体系展开,学生学习时难免会感觉枯燥难学,学过后又少有用来解决实际问题。而以实际案例贯穿整个教学过程,训练学生像程序员一样思考问题,使之逻辑思维更加严密,有利于学生整体素质的提高,更有利于程序设计课程整体教学水平的提高[1]。

2.2 课程内容组织

2.2.1 课程内容选取的基本原则

教学改革首要任务是教学内容的选择,如何选取教学内容是改革的第一步。“C语言”的语法结构复杂,对初学者学习难度大。高职学生虽然学习基础比本科生略差,却乐于动手、可塑性较强。基于此,课程内容选取的原则是:根据学生情况、课程特点以及后续课程对知识结构的要求,从实际工作需要出发,按所学知识够用好用的标准,确定本课程的必修内容。

2.2.2 课程内容的选取

本课程选择具有实际应用的典型案例作为具体的教学内容。将多个小项目按照编写程序的难易程度渐次推出,使学生把所学内容紧密结合实际应用,在基于工作过程的学习中获得职业能力。本课程具体内容的选取如表1[2]。

3 教学形式及教学方法的改革与实践

3.1 教学形式

⑴ 根据C语言知识结构的内在联系,依次安排教学内容。以各个小项目的开发工作主导教学过程,将课堂学习和工作过程学习融为一个整体。

⑵ 运用项目导向、任务驱动的方式,设计课程引入、启发、讲解、讨论、实训等过程,采用教学做一体化的形式带动学生自主学习,通过工作任务进行能力训练。

⑶ 在每个学习单元中均将应掌握的知识融入项目开发任务中,进而转化为学习任务,激发学生的学习兴趣,让学生在主动学习中完成各个任务。学习过程中注重教、学、做相结合,从讲解、演示、练习、讨论,递进到学生自主学习、独立完成任务。

⑷ 教学过程中注重学生能力的培养。如自主学习能力及独立思考、分析问题、解决问题的能力等。

3.2 教学方法

为确保课程教学目标的实现,让学生通过学习高级编程语言的知识,能够使用C语言编写应用程序,同时培养学生程序设计的思维能力以及探索创新的能力,我们在教学中引入了多种方法进行改革,取得了不错的教学效果。

3.2.1 分析案例,启发引导, 增强学习兴趣

每一次上课都引入一个实际案例。教师对案例进行分析,讲解案例中涉及的知识点,然后提出相关问题,给出初步解决方案。比如递归算法一直是C语言教学中的难点,通过分析如“扫雷游戏”这样学生比较有兴趣的问题来讲解算法的构造, 学生较容易理解递归算法的工作框架及流程。讲解二维数组也是通过“学生成绩计算与统计”这个项目来完成的。通过具体的案例分析, 既能把抽象问题具体化,又可以调动学生的学习兴趣,较快接受新知识[3]。

3.2.2 知识讲解与应用并重,训练程序设计思维模式

讲解C语言的知识点时,不能只侧重于简单的语法知识介绍,还应注重知识的连贯,同时辅以相应的应用技能训练,以免学生死记语法而忽略了程序设计方法。强化“自顶向下、逐步细化分解”的程序设计思维训练,培养学生在编写复杂代码之前能将复杂的问题分解为若干个逻辑结构合理的简单算法的能力,探索解决问题的方法。

3.2.3 “教、学、做”一体化

“教、学、做”一体化的教学方法,符合学生的认知规律,适合运用于项目导向式的案例教学。课堂上教师注重把握好“应用为主线,减少抽象理论描述”的原则,将“精讲多练,以教师为主导,以学生为主体”的教学设计理念贯穿于整个教学过程。注重调动学生的学习积极性,启发学生勤思考、多动手,充分利用好学生的“听、思、做、练”各个阶段,及时检查思和练的效果,培养学生求真务实的科学精神[4]。

3.2.4 分组讨论,培养团队协作能力

对于难度不大的学习内容,可安排学生自学,而对于综合性较强的学习内容,则可以安排学生分组进行讨论。自学和讨论的结果由学生在课堂上向同学讲述,让每个学生都有积极参与的兴趣,这样既能活跃课堂气氛,又能培养学生的自学能力和团队协作精神[5]。

3.2.5 课内外训练相结合,培养学生综合应用能力

课内教师进行引导教学,通过典型案例讲解程序设计的基本方法、程序测试方法、程序调试和排错纠错方法,并为每次课设计相应的实训项目。课内时间有限,鼓励学生课外进行自主学习,将课堂上学习过的内容融会贯通,充分地消化和吸收。安排有一定挑战性的实训项目,鼓励学生课外多训练,倡导学生课后以寝室为单位,组成学习小组,进行讨论、分析和解决问题。鼓励学生积极参加各类程序设计比赛,以赛促学。如参加广东省举办的“高校杯”程序设计比赛,进一步提高学生程序设计的兴趣,提升综合应用能力。

4 考核方式的改革与实践

考核采用闭卷上机编程和实训项目答辩相结合的形式。

4.1 闭卷上机考试

上机测试占总成绩的70%,考核基本知识的掌握情况。主要考核基本语法、常用算法、编写小型程序、测试小型程序和解决一般问题的能力。

教师根据考核要求给出7个编程题,让学生任选5个。题目涵盖基础知识的80%以上,对每个编程题提出具体要求,如使用冒泡法排序、使用选择法排序、使用函数、使用指针等非常具体的要求,以较为全面的考核学生对知识的掌握情况。

4.2 实训项目答辩

实训项目答辩占总成绩的30%,考核学生运用知识的能力、综合程序设计的能力、分析问题和解决问题的能力,以及团队合作能力。以下给出具体实施方法。

⑴ 教师给出8-10个实训项目,供学生任意选择一项。

⑵ 学生5-6人为一组,在给定的项目中选择一项,也可以自行拟定其他的项目。

⑶ 成立答辩小组。答辩小组由任课教师、课代表和各小组指派的一名同学组成。

⑷ 答辩时,先由各小组指派一名同学对他们的项目设计进行讲解,然后小组其他成员接受答辩小组的提问。

⑸ 成绩由答辩小组各成员现场打分,分数统计后去掉最高分和最低分,取平均值记入小组每个成员的成绩表。

这样的考核方式,有利于学生灵活运用所学知识,有利于创新思维的培养。

5 结束语

通过改进课程教学方法、重新序化教学内容、不断完善教学手段、改进考核方式等教学改革,有效提高了学生主动学习的积极性。以往不及格率最高的C语言课程,近三年的及格率均在90%以上,30%以上的学生获得了优秀,对于课程设计绝大多数学生都完成得很好。我校大一学生在2013年的“蓝桥杯”全国软件专业人才设计与创业大赛中取得了一、二等奖的好成绩,这从一个侧面验证了教学改革是卓有成效的。

虽然高职院校对基础核心课程不断提高重视程度,但C语言程序设计课程的教学方法、教学内容、考核方式的研究和改革是一个长期的课题,必须与时俱进,在教学实践中不断探索新思路。

参考文献:

[1] 鲁红英,肖思和,孙淑霞.“C/C++语言程序设计”课程教学改革与实践[J].计算机教育,2013.7:95-98

[2] 康玉忠,甘宏,段传林.C语言程序设计项目教程(第1版)[M].中国商业出版社,2010.

[3] 李杰,刘延岭,苏建华.C程序设计课程教学方法的实践与探索[J].计算机与网络,2014.1:127

第5篇:c语言程序设计范文

关键词 C语言程序设计;教学理念;教学方法

中图分类号TP39 文献标识码A 文章编号 1674-6708(2010)25-0198-02

C语言程序设计课程是我校理工类各专业必修的计算机程序设计基础课,是一门实践性很强的课程,学习者必须通过大量的编程练习,在实践中掌握语言知识,培养程序设计的基本能力,并逐步理解和掌握程序设计的思想和方法,培养学生编程兴趣和编程能力是我们教师的责任,也是该课程的目标。

现行的教学中存在一些问题:一是按照从基础知识讲起,然后讲解语句语法,最后应用举例;二是教材内容安排不尽合理,语法规则编写过细[1];三是教学理念、教学方法和考核方法比较老套,不适应当今教学的发展。为了让学生学好这门课程,提高动手能力,必须进行教学改革,探索改革的思路和方法。

1 转变教学理念

传统的“盖房子”教学理念,强调必须先打好地基再砌墙,即强调先打好基础,然后再进行实际编程。这种教学理念教师往往先介绍概念和定义,再举例进行讲解,这种教学方法死板而枯燥,由于课程的教学重点往往放在了语言语法知识点上,而语言的语法是相当烦琐而复杂的,这种教学方法缺少应用型、趣味性的案例,使学生一步步地陷入到纷多繁杂而索然乏味的语法学习当中,很难充分调动学生的积极性和启发学生思维。

研究自然界中“树”的生长规律可以发现,“树”并不是先长成发达的根系,再长树干和枝叶,树的根系、树干和枝叶是同步生长的。“树”的生长过程应用到教学上,就是基础语法和编程的教学同步进行,甚至先教编程技能再教理论,在不断地实践中掌握技能,在技能学习中提高基础理论。

2 教材编写思路

从课程的教学目标出发制定教材的编写思路,采用实例引导法、归纳教学法和任务教学法编写教材,在编写内容上抛弃过多的语法细节和非通用的或实际用途很少的语言特性,算法描述力求通俗易懂。理论教材以实例引导法思想为主导,介绍概念、语句格式、语句用法和算法描述。用归纳教学法思想编写多个函数中相同参数的使用问题。实验教材以任务教学法思想,确定每一个实验的任务、内容、要求和思考题。

3 教学方法探索

3.1实例引导法[2]

一切从实际例子出发,引导学生理解程序中的概念和算法,例如:在讲解变量、运算符和表达式时,先通过一个具体实例程序介绍,如:求圆面积和周长,指出程序中临时存放数据的单元和公式中的运算符号,然后再引出变量、运算符和表达式进一步讲解。又如:在讲解指针的概念时,变量的“间接访问”,可以通过“办公桌抽屉”实例讲解:一个办公桌有A,B两个抽屉,每个抽屉有一把钥匙,可以把B抽屉的钥匙放在A抽屉中,若要打开B抽屉,就需要先打开A抽屉,取出B钥匙,再打开B抽屉,取出B抽屉中的物品,引出“间接访问”。这样学生很快就能理解变量、运算符、表达式和指针的概念并掌握它们的用法。

3.2归纳教学法[3]

C语言的定义、概念、语法规则有许多相似的地方,在讲解C语言函数库中函数时,有些函数参数的类型格式符是一样的,在讲解一个函数中类型格式符后,对其它函数的类型格式符可以进行归纳,不讲或简单的提一下即可,例如:printf()和scanf()函数中的类型格式符“%d、%f、%c”等,它们的语法规则是一样的。通过归纳教学,学生只要掌握其中一个,另一个自然就会使用了,免去了重复讲授,提高了教学效率。

3.3任务教学法

C语言程序设计课程必须采用实验教学环节才能把理论算法加以验证。采用任务教学法思想编写实验教材,适度增加实用性和自主性实验任务内容。每章有具体任务实例讲解,可引导学生完成每章设置的实验任务题目。让学生自主选择实验时间,每次实验课前要布置实验任务,学生根据任务,自学和实验任务有关的知识,完成实验任务的编程。这种教学方法能够有效地培养学生的自学能力, 激发学生学习的积极性、主动性和创造性, 锻炼他们利用所学的知识解决实际问题的能力。

3.4网络教学法

依托先进完备的校园网络环境,建立C语言程序设计网络教学平台。可以把课程教学大纲、教案、多媒体课件、教学录像、综合实例库、习题库、学习参考资料、模拟考试系统等教学资源全部上网,通过这个网络教学平台,学生可以浏览、下载学习资料,也可以提交电子作业,在线提问题,老师在线辅导和答疑等,为学生自主学习提供强大的网络支持。

4 师资队伍建设

成立C语言程序设计课程组,建立结构合理的教师梯队。由具有丰富教学经验和科研能力的教授任组长,激励教师努力钻研教学内容和教学方法,拓宽知识结构。同时,针对组内教师的不同特点,课程组制定了切实可行的目标,并定期进行集体备课,相互探讨,号召组内教师积极参与教学研究和科研开发,为提高教学水平打下良好的基础。建立主讲教师之间互相听课和评课制度,定期召开学生座谈会和课程质量分析会,并针对反馈意见提出改进教学的具体措施,从而规范教学的各个环节,为更好地提高教学质量奠定良好的基础。

5 考核评价体系

对课程考核评价体系进行改革,突出过程考核和编程能力考核,促进学生实际动手能力和创新能力的提高。例如:总评成绩=理论课出勤成绩+作业成绩+实验出勤成绩+实验完成成绩+期末考试成绩。期末考试采用《C语言程序设计机考系统》,机考系统为每个考生随机出题,体现了公平考试的原则。改革后的考核评价体系主要体现了考核形式多样化、考核标准合理化以及考核试卷个性化三大特征。

6 结论

鉴于目前C语言程序设计课程教学中存在的一些问题,文章通过改革探索,一切从培养学生编程能力的角度出发,按着新的教学理念对教材编写思路和教学方法进行了探索,提出了教学改革的具体措施。希望对C语言程序设计课程的教学改革有所借鉴。

参考文献

[1]谭浩强.C程序设计[M].3版.北京:清华大学出版社, 2005.

第6篇:c语言程序设计范文

关键词:C/C++语言程序设计;教学改革;国家精品课程;教学方法

文章编号:1672-5913(2013)07-0095-04

中图分类号:G642

1 课程教学现状及存在问题

“C/C++语言程序设计”是理工科非计算机专业本科学生的第二门计算机课程,也是大学计算机基础系列课程的核心课程。“C/C++语言程序设计”课程的内容抽象,概念和语法规则较多,特别讲究适用技巧。长期以来,高校都在不断地探索和实践关于“C/C++语言程序设计”课程的教学改革,但仍然存在很多问题。例如,教学依然以传统教学方式为主,不能将实验环节与课堂教学环节很好地相互连贯,相互印证,使得理论教学和实践教学脱节;某些教师忽视学生的实践能力和创新能力的培养,使学生在分析问题和解决问题时无从下手,缺乏编程和调试的能力;实验教学中的多数实验内容是验证性的,学生机械式的运行程序,对知识的理解只停留在表面上;理论和实验课时数较少,上课信息量大,学生接受知识的进度不一样,这就导致教师和学生的学习步调不一致。

针对上述问题,许多高校对“C/C++语言程序设计”课程的教学作出了有益的探索,如文献[1]提出“通、实、新、联”的教学理念;文献[2]提出教学设计原理;文献[3]提出项目教学法;文献[4]提出案例教学法;文献[5]提出“机房授课+自主学习”的授课模式;文献[6]提出将“以应用为背景,以知识为主线,以提高能力和兴趣为目的,变应试为应用”的教学理念应用于该课程的教学中。这些方法均在一定程度上激发了学生的学习兴趣,增强了学生的动手能力,取得了较为明显的教学效果。

为了探究出适合成都理工大学人才培养的课程特点,“C/C++语言程序设计”课程组经过多年的课程建设和对教学环节的研究与探索,提出了“以应用为前提,学生为主体,知识为主线,培养学生的实践动手能力为着力点”的教学理念,构建了一套教材体系完善、教学资源丰富、教学手段先进、教学评价合理、考核方式差异化、精品课程网站新颖的教学体系。下面分别从教学设计、教学方法、教学手段、考核方式以及教学资源等方面进行阐述。

2 教学设计及课程内容组织

2.1教学设计

成都理工大学每年有4000名以上的学生参加“C/C++语言程序设计”课程学习。为实施因材施教,我们重视研究性学习、探究性学习、协作学习等现代教育理念在教学中的应用,根据课程内容和学生特征,对教学方法和教学评价进行设计,并在教学理念与教学设计上实施了多种改革举措。

1)以学生为中心的教学模式。

以学生为中心的教学模式让教师从传统的教学方式中解脱出来,变“教学”为“导学”。教师充分利用多种教学媒体和提示学习资源,讲重点、解难点、释疑点,讲评作业,指导学习方法,辅助小组学习,发挥学生的主体作用,引导学生自主学习,帮助学生培养自学能力。

教师要在理论课前了解学生是否掌握了与课程有关的基础知识和基本技能,根据学生在实验课的表现来了解学生是否掌握了教学目标中要求学会的知识和技能,以及掌握的程度等信息,从而确定后续教学中应重点讲解和辅导的知识,根据学生的实际情况设计教学环节。对于部分优秀学生和已经学习了程序设计的学生,我们要加快他们的学习进度,增加学习难度和深度,使他们可以很快在自己的专业中使用程序设计来解决相关问题。

2)精心准备每一节课,激发学生学习积极性。

激发学生对程序设计课程的学习兴趣,是本课程任务执行的重要目标。学生是主动学习还是被动学习会让教学效果产生明显的差别,因此每位教师都应精心准备每一节课。引领学生跨入程序设计大门的第一节课是极其重要的。学生所关心的是所学课程对自己的专业和今后的工作有什么作用,教师可从不同的专业角度,结合当前最热门的IT话题和实际应用为学生介绍学习本课程的意义和作用,同时介绍一些往届学生将所学程序设计知识用于数学建模、程序设计竞赛、专业课程学习等方面的生动实例,这些都是教师第一节课的良好素材。

3)培养学生系统化的程序设计思维。

程序设计课程长期存在着注重语句、语法和细节的特点,基本上是以程序设计语言自身的体系为脉络展开的。许多学生在学习程序设计语言课程时会觉得枯燥难学,学过后又不能用来解决实际问题。所以学生虽然学了一定的程序设计知识,但编程能力较差。‘部分学生在遇到实际问题依旧无从下手。而系统化程序设计思维培养模式是从本科生的认知特点出发,让教师在教授学生程序设计课程、提高学生编程能力的同时,培养学生的系统化程序设计思维。

程序设计课程不仅教学生如何进行计算机编程,而且教学生如何像程序员一样思考问题。系统化的程序设计思维的培养过程就是让学生自己动手解决实际问题的过程。这个过程充满了学生对未知问题的探索、研究与创新,不仅可以教会学生解决在程序设计中遇到的问题,而且可以锻炼思维,使学生的逻辑思维更加严密,这对一个理工科的大学生来说是至关重要的,对学生整体素质的提高、程序设计课程整体教学水平的提高都有现实意义。

4)互换角色思考与提问。

在教学过程中我们发现,很多学生不提问,有时是学生提不出问题,有时是不知该如何提问。这时,教师需要站在学生位置上,思考学生可能会有什么问题,然后由教师提出问题,让学生来回答。如果学生不能回答,教师再为学生解答。教师备课时不再只是准备我要讲什么,而是思考学生会遇到什么难点,需要向学生提什么问题、解答什么问题。基于此目的,教师需准备大量经典案例,提出问题,分析问题,并在问题中设置一些错误,让学生思考原因,并进一步思考如何修改错误,在这样的学习过程中潜移默化地掌握基本的语法知识和解决问题的方法。这种模式转变了学生的学习方式,激励学生积极思考问题、分析和解决问题。

2.2理论课程设计

由于科学技术的快速发展,计算机科学与其他学科间的交叉、融合日益增强。大多数非计算机专业的培养目标已将学生的计算机程序设计能力作为了一项重要内容。

本课程主要是针对非计算机专业的理工科一年级大学生开设的。与计算机专业不同的是,非计算机专业学生一般只学一门语言课程。因此,该课程的教学就担负起培养学生编程能力的重要责任,成为了学习其他程序设计语言的基础。

根据非计算机专业各学科的培养目标,“C/C++语言程序设计”课程在理论课程内容设计上注意知识结构的合理,强调基本能力的培养,注重基础理论与实际应用的融合。课程内容体系结构重点突出学以致用。课程内容知识结构由C语言简单程序的编写和调试、C语言程序设计基础、控制结构、数组、指针、函数、编译预处理与变量的存储类型、文件、结构体与共用体、图形程序设计基础、C++程序设计基础、查找和排序12部分组成。

根据学以致用的原则,在实际应用中,函数是程序设计的重要内容之一,也是学生学习的难点之一,因此在理论课程设计中,我们将函数的使用提前讲解,让学生尽早接触函数,理解模块化的设计方法,掌握函数的基本设计和操作。在讲授第2章有关输入/输出库函数时,可同时结合第8章文件的知识,使学生掌握实际问题中涉及不同数据的不同输入/输出方式,较好地解决了学生学习C语言后不能熟练掌握文件操作的问题。

教材在内容编排上注重易用性。每章的开头设置本章学习目标,之后设置本章学习指导,包含“课前思考”“本章难点”和“本章编程中容易出现的错误”。每章后的练习题涵盖了程序设计中的常见算法,涉及简单程序设计、较复杂程序设计、易于举一反三的程序设计问题等内容,使学生能够通过练习,大大地提高编程能力。

2.3实验课程设计

“C/C++语言程序设计”是一门实践性很强的课程。在近几年的课程建设与教学改革中,实验课程注重理论课程内容与实验内容的有机结合,强调学生创新能力和实际动手能力的培养。C/C++程序设计实验教学内容改变了以往验证性实验为主的现象,使设计性实验内容占了70%以上。通过实验,培养学生分析问题和解决问题的能力,以及动手能力和程序设计能力,从而加深对理论课程内容的理解。

实验课程配有实验指导书,共设计了11个实验项目和一个综合程序设计,其基本出发点是帮助学生理解和消化课堂教学的内容,培养学生自主学习能力,加强其实践能力和团队协作精神,让学生掌握程序设计的基本思想和方法。具体实验内容包括:C/C++简单程序的编写和调试、C语言程序设计基础、控制结构、数组、指针、函数、编译预处理、文件、结构体与共用体、图形程序设计、C++程序设计基础。

3 教学方法和手段

3.1教学方法

为了实现程序设计课程的教学目标,使学生不但掌握高级编程语言的知识、编程技术和基本算法,更要掌握程序设计的思想和方法,培养学生进行问题求解和编程的能力,以及探索和创新能力,我们采用了多种教学方法,主要做了以下改革。

1)课内与课外训练相结合,注重学生综合能力的培养。

课内教师根据教材进行引导学习,加强典型例题的启发式讲解。在分析常见错误案例的过程中,教师讲解程序设计的基本方法、程序测试方法以及程序调试和排错方法,帮助学生理解错误发生的原因和实质,掌握纠错的方法和解决的对策。在实验教学中,我们为每堂实验课设计相应的实验项目。实验项目的设计注重实用性和综合性。实践教学强调大量程序设计的训练。教师在网上为学生一些经典、实用、有一定挑战性的作业,鼓励学生课外多训练,倡导学生课后以寝室为单位,组成学习小组,进行讨论、分析和解决问题。

为了激励学生参与程序设计的实践,进一步提高学生程序设计的兴趣,提升他们的软件技术水平,成都理工大学每年举行一次全校范围的程序设计大赛。大赛采用初赛和决赛制,要求学生在2~4小时内完成一个综合性较强的程序设计题目,或在一段时间内完成一个综合程序设计题目,然后进行答辩。

2)重视实践教学环节、注重学生创新意识与应用能力的培养。

为了培养学生的实践动手能力,我们加强了实践教学环节的管理。教师要积极使用多媒体实验室的教学设备,进行启发、引导式的实验指导,将平时测试与期末测试结合,测试学生在1个小时内调试和正确编写程序的能力,引导和督促学生重视实践教学。开放性实验注重培养学生的创新意识与应用能力。

3)网站互动学习。

课程组建立的教学网站、精品课程网站、课程资源平台等为学生提供了网络课程、网上答疑、作业提交、理论试题及答案、上机试题及答案、教学录像、视频节目、精品课程网站链接、相关学习网站链接等资源,扩充了课堂教学区域。学生可以在任何时候、任何地点进行互动学习。这种方法及时地解决了学生在学习中遇到的疑难问题。

4)改革考核方式,采用多元评价方式考核实验成绩。

为了提高学生的学习兴趣,培养学生问题求解和编程能力,以及探索和创新能力,我们采用了开卷和闭卷相结合的考试方式,鼓励基础好的学生开卷考试,完成一个综合编程题目。经过实践,参加开卷考试的学生在独立分析问题、解决问题和编程能力上得到了很大提高。

3.2教学手段

多年以来,成都理工大学“C/C++语言程序设计”课程最大限度地、多方位地应用了以下现代教育技术手段。

1)课堂多媒体理论教学。

本课程的理论教学将传统教学手段和现代教育技术手段相结合,在应用现代教育技术手段的同时,继续发挥传统教学的优势。课堂上多媒体课件的播放效果直接影响到学生的听课效果,因此我们不仅制作了幻灯片,还利用Autherware、Flash等工具,制作了具有较强动画效果的多媒体课件,将程序的执行过程利用动画演示,生动、形象地模拟了计算机执行程序的真实情况。

2)建立计算机基础教学网站。

我们开发课程网上教学平台,为学生提供电子教案、多媒体课件、视频等丰富的网上教学资源,同时提供讨论和在线答疑,构建以学生为中心的自主学习环境。

3)网上考试系统。

网上考试系统为学生提供了模拟和考试环境,实现了系统自动组卷和评分功能,为学生课后自学和自测、提高教学效果搭建了一个有效的平台。

4 考核方式

课程考核可以采用开卷和闭卷2种形式。

1)闭卷考试由笔试和机试组成。

(1)笔试(占总成绩的50%)主要考核语言基础、基本的阅读和编写程序的能力。题型包括选择题、填空题、程序阅读题和程序填空题。

(2)机试(占总成绩50%)主要考核程序设计能力,包括上机考试(占总成绩的30%)和平时出勤及作业完成情况(占总成绩的20%)。

2)开卷考试主要考核学生综合程序设计的能力,独立分析问题和解决问题的能力,难度较大。通常只有学习优秀的学生可以参加开卷考试。这些学生必须是按时完成了每一次的实验项目,且中期考试合格。开卷考试要求学生提供源程序、开卷考试报告并参加面试。

5 结语

通过对各种教学方法和教学手段的研究和探索,我们改变了传统的知识传授理念,从而更加注重学生解决实际问题的能力,并提出“以学生为主体,教师为引导,网络教学为辅助”的全新理念,极大地激发了学生的学习兴趣,挖掘了学生的创造潜能,又培养了他们自主研究、协作学习的能力。实践证明,通过上述教学改革措施,教学效果取得了显著提高。在计算机二级c语言考试中,学生通过率较往年大大提升。当然,实际教学过程是一个相当复杂的系统,也还存在着一些需要解决的问题,还需要我们在今后的实践中继续开拓,不断探索。

参考文献:

[1]赵珊,贾宗璞,“C语言程序设计”课程教学模式改革方案探讨[J],科技资讯,2011(35):185-187。

[2]黄群,C语言程序设计课程教学设计探讨[J],计算机教育,2010(5):78-81。

[3]陈洪超,项目教学法在“C语言程序设计”课程中的应用[J],重庆电力高等专科学校学报,2012,17(3):29-30,36。

[4]左永文,案例教学法在“C语言程序设计”课程中的应用[J],科技创新导报,2012(18):175-175。

第7篇:c语言程序设计范文

[关键词]C语言 程序设计 能力培养 教学改革

[中图分类号]G642 [文献标识码]A [文章编号]1009-5349(2015)12-0232-01

一、当今《C语言程序设计》课程的教学现状

《C语言程序设计》这门学科的教学内容及功能是非常强大的,应用范围也很广,数据结构相对比较复杂。该课程的语法检验结构相对比较薄弱,相对没有编程基础的大学生来讲,要很好地学习和理解C语言的知识和程序设计方法,需要熟练各个知识点和语法结构。以往《C语言程序设计》课程教学大多主要以C语言的语法为主要讲授知识点,将教学的重点放在语言的语法知识上,因此,很大一方面就忽视了在解决问题和编写程序语句时如何能更好地应用有效的教学方法。很多学生在掌握语法知识后,不知道如何去编写程序来解决实际问题。

二、《C语言程序设计》课程改革的几点想法

(一)对教学内容进行重组

一方面教师要充分考虑到没有了解程序语言设计和不懂编程经验的学生,要将教学的重点放到C语言的理论语法知识上,全面讲解《C语言程序设计》课程的基本语法知识。面对新的教学内容,要避开以往传统的细节语法知识讲解,引入一套新的教学思路,要以具体的实例编程去营造一个好的教学环境和教学方式,将学生引入要让自己有能力、有想法去判断和总结理解掌握C语言的语法知识以及编程方法。通过第一阶段的理解学习,很大一部分学生能够基本掌握C语言的基础知识,同时也具备编写C语言编写程序的能力,并可以独立编写较难程序,并能顺利通过程序调试与程序的测试。

另一方面要将教学的主要内容放在那些具有掌握一些C语言基础知识和编写程序,了解C语言知识的学生上。在这个阶段,课程内容要注重培养学生的较专业的程序编写与实践。同时,在教学过程中注意设计教学环节,不但要引入项目式驱动教学法,还要将教学内容化分模块,把每个模块都建立一套综合案例,把案例内容覆盖C语言程序设计课程的所有核心知识点,贯穿整个教学过程。

学生通过开发综合案例,能够将知识点融会贯通,达到学以致用的目的。也可以把要处理的问题和知识点做成项目,给学生分配项目任务,并且为学生提供可查阅的学习资料和设备。通过老师的学习指导,让学生自由发挥,开创思想,并以小组讨论的形式进行任务开发,共同完成一个完整的项目。在这一教学阶段设计的目的是要在一个完整的项目开发过程中,使学生能够学习和了解到一些关于C语言中不常使用到的关键知识。也使学生学习和掌握这些知识的可行性和要重性,在教师的正确引导下将问题成功解决,使学生收获到知识。

(二)加强实践教学

《C语言程序设计》是一门实践性很强的专业技术课程。实践教学是《C语言程序设计》课程教学中的主要教学环节。在加大实践教学内容的同时,也要改变实践教学内容,这也是提高和培养具有创新能力学生所必经的阶段。因此,在实践教学上,要专门编写相关的资料,方便教学。在资料中,可以编写一些具有代表性的上机练习程序设计题目,使学生能更好地理解和学习C语言的知识和编程方法。同时也为学生提供一些比较综合的编程题目,让学生能在这些问题中,找到自己知识的缺口,然后补充知识,在这些编程题中发挥自己的优点和创新点。同时,要开发学生的学习思路,培养学生的自主学习能力。

(三)完善网络教学平台

当今是网络遍布的时代,所以C语言课堂教学也少不了网络。我们要用网络教学平台做为辅助教学手段,合理地为学生安排布置学习内容和资料,开展小组式的学习方式,以小组方式讨论问题。课堂的教学时间是有限的,对于这一类的教学活动在课堂上是不能完全实现的。所以要以开放式的网络教学平台为课堂辅助教学。教学平台主要包括课程学习、电子教案、网上答疑、实验指导等,让学生能更好地自主学习。

(四)创新考试方式

以往的《C语言程序言设计》课程考试大多数是以笔试为主要内容,目的是考查基本的语法知识,该种考核方式使学生偏重于语法学习。为此,改革传统的考核方式势在必行,期末考试采用专门的考试系统,将理论题与实践题相结合统一在上机考试环节完成,在限定时间内考核学生的学习效果。即考即出分,减少人工批卷出错的漏洞,减少教师的工作量,改变了传统的批阅方法,通过考试的检验以促进学生平时学习掌握知识牢固程度,加强上机实践,突出学生程序编写能力过程,将实践教学的重要性展现出来。

【参考文献】

第8篇:c语言程序设计范文

在教学过程中不能以是否将C语言所有知识点都讲授完为教学目标,而应该转向以培养学生“分析问题和解决问题”的能力为核心,淡化语法细节,让学生建立完整的程序设计思想。针对不同专业的教学需求和学时数的区别,制定不同的教学大纲,注重能力培养为主,以C语言基本体系结构为基础,覆盖C语言基本语法集。信息工程学院各专业侧重于基本命题的求解和编程,将构造类型和文件的读写作为选讲内容。而计算机学院各专业则侧重于综合性和设计性问题的求解和编程,特别强调指针的应用,动态内存分配以及链表的基本操作,重点培养算法设计能力。

2编写教材

现有C语言教材中,大多数追求大而全,注重语法细节,测试用例多为纯数学问题,这与我校的C语言教学现状有较大的偏差。为此,C语言教学组结合当前我校的实际情况,组织人力根据教学大纲的需求编写了一本适合我校师生的C语言教材。2012年8月,教材《C语言程序设计》在清华大学出版社出版,该教材介绍了程序设计的基本概念和基本方法,不拘泥于语法细节,注重解题思路、算法实现和程序设计思想,在保证概念清晰、准确的前提下力求做到语言通俗易懂,引导学生真正进入程序设计的门槛,为后续专业课程的学习与计算机技术的实际应用打下良好的基础。该教材率先在我校2012级和2013级学生上投入使用,每年使用数大约1300本,普遍受到了好评,同时从出版社反馈回来的信息,除我校学生自用外,其他一些高校也使用了该教材。

3教学手段探索

常规的C语言课堂教学,都遵循语法规则的讲解,然后讲解例子,最后在集成开发环境中实现。这种教学思路有其固有的优点——严谨,然后存在以下几个问题:方式比较枯燥,学生很难长时间保持学生兴趣;学生上课听得明白,而实践时对题目无从下手;导致学生产生误解,认为学习语法知识是为写程序而学,而不是为解决问题而学。因此,对传统的教学模式进行改革就成为必然。在课堂教学过程中,以一个较大的案例为主线主导整个教学,将其按教学知识点分割成小模块,在教学时,从日常生活中常见的例子着手,结合C语言的语法来讲,这样令学生更易理解,且不会觉得枯燥,然后讲解案例的实现,如此整个学期下来,一个较好的案例自然就完成了,达到培养学生“自顶向下、逐步细化、自底向上、逐步积累”的能力。在每个知识点的教学实例讲解中,不直接给出正确的代码,而是主动设置一些错误,引导学生去思考并解决存在的问题,让学生掌握排查程序代码中错误的方法。构建C语言自主学习网站,延伸学习的时间和空间。

4考核模式改革

以往总评考试主要分为平时成绩和期末考核成绩,一般的比例为30%:70%,且期末考试为笔试,以理论知识点为主,侧重客观题,设计性等程序操作题所占比例极少,这种考核方式主要的缺点在于忽略了C语言的实践操作性,会导致即使通过了考试但仍然不会编写程序的现象。针对这个问题,对考核方式做了较大的改变,一是将总评成绩的组成分为三部分:平时、上机实践和期末考试,比例为10%:30%:60%,强调平时上机实践成绩,让学生重视上机实践,而不是简单的交差了事。二是将传统的笔试改革为机试,自主开发了一套考试系统,实现自动评卷,试卷大幅度提高程序操作题所占的比例,题型的设置也多样化,包括程序改错、程序填空和程序设计题,着重考核学生的实际应用能力。

5实践反馈

经过2011至2013三个年级的教学实践,课堂教学效果情况逐步变好,学生也能跟着老师的思路来思考问题,学习效率得到了提高。上机实践时一碰到问题就等待老师来解决的现象减少了,说明学生也初步掌握了如何排查程序中的错误以及调试程序的方法。从后续课程的学习情况来看,普遍反映这批学生较前届的学生有更扎实的编程基础,实践动手能力增强了不少。这些好的转变说明了对C语言教学进行的改革是有效的。本文来自于《软件工程师》杂志。软件工程师杂志简介详见

6结论(Conclusion)

第9篇:c语言程序设计范文

关键词:C语言 教学方法 教学改革 上机实验

一、背景

C语言是国内外应用广泛的计算机语言,它不仅具备高级语言可移植性好、易用性强等优点,又兼顾了低级语言高效、可直接对硬件操作等大部分功能,是计算机编程人员应掌握的一种程序设计工具。C语言程序设计是各高等院校、技工院校计算机及相关专业重要的专业基础课,该课程既能体现学生的逻辑思维能力和推导能力,又能培养学生的创新精神。但由于C语言功能强大,使用灵活,内容抽象、枯燥,特别是对于数学和英语基础比较差的学生来说,普遍存在着阅读程序困难、编写程序无从下手等问题,并产生不同程度的抵触心理。因此对于担任该课程的老师来说,如何教好这门课程,使学生逐步掌握程序设计的思路及方法,并能灵活运用高级语言进行程序设计,是这一门课程的目的和宗旨。

二、C语言程序设计课程教学现状分析

C语言程序设计课程的掌握情况对后续课程有着至关重要的影响,通常将其作为学生的第一门程序设计语言课程。许多学生此前并未接触过程序设计语言,对算法、数据结构和程序设计一无所知,一开始对C语言很好奇,但随着教学内容的深入,大量抽象概念、术语、语法规则的记忆及枯燥无味的例题分析,使学生产生畏难情绪,逐渐失去学习热情;还有一部分学生虽然课堂上听得懂,但自己编程时却无从下手,或者编写的程序错误多,无法分析出错原因,所以对学习失去了信心;甚至还有个别学生认为C语言已过时、实用性不强,不如面向对象的C++语言或JAVA语言,导致在学习过程中积极性不高。

目前,大多数教师的C语言课程的教学仍然停留在传统的教学模式上,过度注重语法、算法等细节,以教师“教”为中心,满堂灌。学生在教师的指导下被动地接受。教师只能保证所授知识的系统性,却不能充分发挥学生的学习自主性,无法培养学生的创新能力和逻辑思维能力。

三、C语言程序设计课堂教学改革探索

根据C语言自身的特性,我们从教学手段、教学方法等方面进行了一系列的探索及改革,启发并训练学生的编程思维,以期能进一步提高该课程的教学效果。

1.以激发学生的学习兴趣为先导

兴趣是最好的老师,是学生主动学习的主要动力。教师将学生引入C语言课堂时,首先要强调C语言的重要性。第一节课的教学可为学生介绍C语言在日常工作中的应用,如各种大型管理软件(人事管理、图书馆管理等)、系统软件(如Windows)都可用C语言实现,让学生了解该课程与社会的关系;通过实例展示一个用C语言编写的动画程序(如满屏雪花飞舞),抓住学生的眼球,改变学生只有Flash等软件才能制作动画的观念;选择简单的数学题目,在计算机上用C语言真正实现数学计算过程。通过演示实用性强的案例能提高学生的学习兴趣,使他们体会到C语言的奇妙。随着课程的深入,可引入趣味性强的算例,如杨辉三角、百元百鸡、猴子吃桃、水仙花数等,逐渐培养学生的分析及推导能力,激发学习热情。

新课内容讲授完毕,要及时布置相应的课堂练习,这样既能加深学生对该知识点的理解,又不会使学生感到课堂枯燥无味。可让个别学生直接在讲台上的计算机中编写、运行及调试程序,其余学生独自书写程序后相互进行讨论、点评,以便教师能够及时发现学生每节课的掌握情况,从而对症下药。教师不可拘泥于一种算法,若发现学生有独特新颖的算法,应鼓励学生积极展示个人的编程思路。鼓励与肯定可使学生增强自信,也可加强学生不断创新的意识。

2.开发智力,引导学生自主学习

在教学过程中,应以开发学生的能力为主,充分利用程序设计及算法自身的思维方法进行教学。教师要引导学生将知识加以引申,使学生能够触类旁通,识一山而知千峰。如在讲解同一类问题时不要逐题讲解,而应该积极拓展学生思维,在讲解一两个典型例题的基础上,启发学生总结归纳出求解这一类问题的基本算法。例如求1+2+3+4+……+98+99+100是循环结构必讲的经典例题,经过算法分析,程序思路为:引入三个变量,s变量存放累加和,在未累加求和前其初值为0,i表示已累加的项数,其初值为1,t表示求和多项式中的某一项,其初值也为1。当累加的项数小于等于100时,每当i自增1得到求和多项式中的某一项t后将其累加到s中。讲授完该例后,可让学生分析下面例题的解题思路:2/1,3/2,5/3,8/5,13/8,21/13,……求这个数列的前20项之和。经过分析,学生得知两个例题解题思路相同,只是循环结束的条件以及t的增值方法不同而已。通过以上两个典型例题的讲解,教师还可以要求学生重新设定范例中各单项式的值而演变成其他的累加问题,如求100个数的偶数和、奇数和、各数的立方和等,引导学生归纳求若干项和的这类问题的通用算法。针对以上问题在选用循环语句的过程中,教师可以点拨学生分别用WHILE循环、DO-WHILE循环及FOR循环编写同一个题目。这样,教师虽然只讲解了一个例题,学生却学会了同类问题的解决方法,举一反三,从而开发了学生的智力,培养了学生自己学习、自己研究的习惯和能力。

3.灵活运用多种教学方法

(1)传统教学手段与现代化教学手段相结合。传统的黑板板书不利于教师书写程序,既浪费时间又达不到预期的效果,必须将板书与多媒体技术有机结合起来。在课堂教学中,课件的使用能大大优化教学过程,丰富课堂内容,使教学过程更形象、直观、生动。课件的制作要符合学生的年龄及心理要求,以吸引学生的注意力;课前将概念、程序代码制作成课件,课堂上即时进行调试和运行程序。我们要充分利用多媒体课件,但不能过度依赖课件,教师在使用课件的同时,应将部分重点、难点内容通过板书展示,板书与课件的结合有利于学生抽象思维和编程能力的提高。

(2)任务驱动教学方法。任务驱动教学方法是一种建立在建构主义学习理论基础上的教学法,教师根据课程内容布置具体的任务活动,学生在教师的帮助下完成既定任务,以此掌握课程内容,达到教学目的。教学中应基于“以教师为主导,以学生为主体”的教学模式,通过案例和问题引入主题,重点讲解程序设计的思想和方法,并穿插介绍相关的语法知识。比如讲Switch分支语句时,先向学生提问:如何把百分制成绩转换成等级,即90分以上为“优秀”、80~90分为“良好”,70~80分为“中等”,60~70分为“及格”,60分以下为“不及格”?回顾if语句,用if-else的嵌套可以实现,但学生会发现程序比较复杂,且容易出错,这时引入新的课题Switch分支语句,先将Switch语句的一般形式板书出来,然后对Switch语句的执行过程进行课件动画分解讲解,进而分析上述例题的解题思路,给出源程序代码,在讲解代码的过程中对Switch语句的注意事项加以强调。这种教学有助于激发学生的求知欲望,培养学生分析问题、解决问题的能力,缩短了学习周期。

(3)对比式教学方法。C语言的概念比较复杂,教学过程中教师通过对比的方式对相似的程序代码或相关的概念进行分析比较,进而明确差异,而后归纳总结,将会收到事半功倍的效果。例如函数这一章涉及的概念较多,主调函数、被调函数、实际参数、形式参数、局部变量、全局变量等。这些概念容易混淆,若对比讲解,学生就很容易理解了。

4.重视上机实验教学

C语言程序设计是一门实践性较强的课程,既要求学生掌握程序编写的基础知识,更强调学生能够独自上机调试运行程序,因此培养学生的实践动手能力尤为重要。上机实操课时应不少于该课程总学时的50%,在上机实验课中必须做到循序渐进,对所学的每一部分内容都应要求学生完成一定数量的上机实验。不能盲目地将课本上的例题作为上机实验,学生无法理论联系实际。上机习题既要有基础题目,又要有趣味性与实用性的题目。实验时,教师对学生的问题给予提示,启发学生自己思考并解决问题。自行编写的程序在上机调试运行中,会有很多意想不到的错误,通过改正这些错误,可使学生逐步提高对C语言语法的理解能力。学期末应安排综合性强、知识点涵盖范围广的实验,学生根据要求查阅相关书籍资料,完成实验原理、实验步骤后交由教师批阅,师生讨论后学生分组完成实验。每节实验课教师均应做好上机成绩登记,课后学生需完成实验报告。上机实验还应作为期末课程考试的考核内容,重点测试学生程序改错、编写程序、调试程序等综合能力,上机考试的分值不应低于总分的30%。

四、小结

教学方法多种多样,因人而异,教学过程是一个需要不断精益求精的过程,只有因材施教,使学生建立程序设计及软件工程的整体框架,提高学生分析问题与解决问题的能力,才能达到教学的真正目的。

参考文献:

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

[2]楼俊君.C语言程序设计的教学研究[J].黑龙江科技信息,2008(27).

[3]徐大华.《程序设计C语言》教学思考与探讨[J].信息技术,2010(12).

[4]马新.C语言程序设计课程教学方法与手段的改革与实践[J].科技信息,2010(33).