c程序十篇

时间:2023-03-29 10:47:55

c程序

c程序篇1

摘要:c++程序设计是高等院校计算机专业教学体系中的一门重要的主干课。本文就该课程教学中存在问题,提出了改进措施和解决方法。强调学生要学以致用,加强对学生程序设计能力的培养,提高c++程序设计的教学效果。

关键词:c++程序设计教学方法教学改革

1引言

在计算机课程中,“c++程序设计是计算机专业的一门必修基础课,该语言以其高效而又实用的特性:既可以进行过程化程序设计,又可进行面向对象的程序设计,因此逐步成为各高校程序设计课程中的主流。c++语言既是进行软件开发的直接工具,又是“数据结构”、“操作系统”、“编译原理”、“软件工程”以及其它相关课程的先修课程,因此,在整个教学体系中占据十分重要的地位。

中原工学院计算机科学与技术专业从2007版培养方案开始,将2006版培养方案中“高级语言程序设计c++”课程分解成“高级语言程序设计c++(上)”、“高级语言程序设计c++(下)”,两门课程,分别在大学一年级的第一、二学期开设,第一学期主要教授过程化程序设计,第二学期主要教授面向对象程序设计,以visual c++6.0为实验教学平台。

笔者根据自身教学经验和讲授过程中出现的问题, 在此进行分析和探讨, 以期能进一步提高本课程的教学效果和教学质量。

2存在的主要问题

(1)程序设计类课程一般以程序设计语言自身的体系为教学路线,侧重于编程语言的基本概念、基本语句和语法的详细讲解,而没有把逻辑与实际编程解题思路作为教学的主线。 达不到培养学生分析问题和解决问题的实际能力的目的。学生面对的是一大堆语言符号,需要记忆的内容过多。在教学过程中学生们感觉学习相应的知识点(语法)并不困难,听老师讲解例题时也容易明白。但真正让学生去解决实际问题,有相当一部分学生感到无从下手,觉得问题太难。学生对于课本上的例子容易理解,但不会举一反三。

(2)实践性教学薄弱。只有在上机实践中学生才能真正学会如何编写程序和调试程序,才能更好地掌握程序设计的理论知识。可在c++语言实践教学中,由于课时有限、教学条件有限等没有把编程思路和程序调试放在首位,对学生分析问题和解决问题的能力训练不够;上机内容基本上都是立足于c++语言本身的一些语法规则,和实际开发应用脱节,无法激起学生的兴趣。

(3)学生学习差距较大

由于学生水平不一,并且部分学生学习自觉性较差,学生学习的效果相差十分明显,学生的编程能力逐渐下降,学生不原意写c++/mfc程序,而是写 c#/jsp等网站程序设计。如果开展有效的教学研究,使大多数学生都能学懂c++程序设计的基本概念、掌握常用的语法及算法、能用c++编写通用程序,是值得研究的问题。

3教学与实践改革的具体措施

3.1 以"深入浅出,边学边用"作为指导思想组织教学内容

对于枯燥的语言叙述,改用生动的比喻进行引导。比如,学生学习指针概念时,对"间接存取"难以理解,就借用比喻:将a 房间的钥匙放在b 房间里, 若要取a 房间里的物品, 就需要先打开b房间,取出a 钥匙,再打开a 房间,取出a 房间的物品,这就是"间接存取"。学生很快就能理解,也加深了指针的概念。再比如,将给数组分配存储单元比喻成住旅馆分配连续的房间, 学链表时比喻成分配不连续的房间,使学生由抽象变具体,达到深入浅出,容易接受的目的。变更教学形式,结合实际生活,组织教学内容以" 提出问题--分析解决问题的方法--归纳出概念或一般规律"为线索,侧重学以致用。每堂课都安排简单实用的程序学习并编制,让学生全部可以接受,每堂课都有一点成就感, 打消往届学生带给他们学习c++语言的畏难情绪。比如学生学习了输入输出函数的使用,就提出"简单的超市算账问题",仅仅使用顺序结构程序设计方法就能解决;将问题加深一点,购物达到一定的金额商品会打折,金额不同折扣率不同, 引入选择结构的程序设计方法, 利用类似的方法逐步深入,培养学生分析解决问题的方法,边学边用,展示c++语言的用武之地,激发学生学习的兴趣。

3.2 加强实践教学环节

c++语言课程是一门实践性很强的课程,一定要动手多写设计、编写程序才能有所进步。在实践教学中必须做到循序渐进,对所学的每一部分内容都应该要求学生完成一定数量的实验内容。每部分的上机习题必须精心挑选,既要有基本的、较简单的题目,又要有一些具有挑战性的新颖有趣的题目。学生自己编写的程序一定要到机器上去实现,通过调试程序来修订语法错误,排除逻辑错误,进而提高编程能力,通过做一定量的习题,可以积累一定的经验,同时对程序设计的精髓会有所领悟,从而重视上机实验。

强调学以致用,展示学生能够理解而且又容易提起兴趣的用c++语言设计的软件以及往届学生的设计成果,给学生布置了几个专题,比如:设计班级成绩管理系统、简易的图书管理系统、简易的通讯录管理系统、小游戏等让学生利用课余时间去思考、收集资料,以教师为主导,以任务为主线,以学生为主体,过一段时间在课堂上组织学生发言和讨论一次, 看看大家对这些问题的思考程度,提提建议,鼓励加引导,最后到完成。这种教学法不仅可以让学生获得许多课外知识,同时也促进教学内容的改革,而且也有利于充分挖掘学生的学习潜力。

通过一个阶段c++语言的学习, 选拔出一批优秀的同学,单独培养,结合所学专业, 加宽加快加深学习内容, 使他们尽早切人实际应用, 有条件的进入相关的开放实验室, 参与计算机应用的小课题研究或参与大学生创新设计大赛等,培养学生中的学术带头人[2]。以榜样的力量促进良好的学风建设, 形成良好的学习氛围, 促进整体的学习进步。在c 语言教学中,培养学生的自学能力尤为重要,如果学生的学习完全依赖教师才能掌握,而没有一定的自学能力,其所学的知识很快就会被淘汰。对于多数学生,则把精力放在最基本、最常用的内容上,让他们学好基本功,掌握程序设计的方法,为后续课程的学习打下基础。

3.3开展4年不间断的c++编程训练

仅靠一个学期的c++语言的学习是远远不够得,需要在后续课程中进行巩固提高。c++兼容c语言,c语言是c++的子集,我们把c语言和c++融合为一门课程,第一学期授课以c语言为主,第二学期讲授以c++为主,所有程序都以vc++为调式环境。经过这样的整合,知识内容显得很连贯,一气呵成,为第三学期的windows程序设计课程奠定了基础。该课程利用mfc类库进行windows应用程序开发。后继的数据结构、算法分析与设计、计算机网络原理、操作系统、编译原理等课程实践环节都利用c++语言进行开发,开展4年不间断的c++编程训练。

3.4 改革课程的考核方法

对学生学习情况的考核不应以停留“期末试卷”为中心的传统考试观念,应该进行改进,以此提高学生对知识的运用能力、自学能力、分析和解决问题的能力。

(1)加大平时成绩的考核。平时考核的方法有:课堂提问、作业与练习、阶段性测试、包括学生提出有价值的问题都给予记分。平时考核成绩占总成绩的比例为20%。加大平时成绩的考核,有利于全面测评学生能力。这样可以激励学生学习的积极性和主动性,并将这种积极与主动精神贯穿于课程学习的始终。

(2)加大上机考核。对c 语言的掌握情况主要看上机的调试,要对上机过程和结果给学生进行考核,既要看结果,也要看过程。应鼓励学生在程序的设计上精简优化。上机考核成绩占总成绩的比例为20%。

3.5 应用现代化教学手段提高教学效率和效果

形式多样的教学手段课堂教学要应用现代化教育技术, 使用多媒体进行课堂教学, 给学生营造一个良好的程序设计环境。与传统教学方式相比, 多媒体教学具有形象生动、图文并茂、交互性好、信息量大、减少文字书写等显著特点, 对课程中难以理解的抽象内容, 可以给予直观展示和动态模拟, 达到既能辅助教师形象地讲授课程中的难点和重点的目的, 又能激发学生学习的兴趣, 从而提高教学效率和教学效果。并且, 把讲授法、练习法、实验法、演示法和网络技术结合起来, 将课程中抽象的、难以理解的教学内容, 进行形象化, 这样就更利于学生理解与记忆。

4 结语

本文针对笔者在连续几年“高级语言程序设计c++”教学过程中出现的问题, 进行了思考和探索, 并将所提出的方案在教学活动中实施, 较好地激发了学生的兴趣, 调动了学生的学习积极性, 培养学生的自学能力, 提高学生的编程思想和解决实际问题的能力,取得了很好的教学效果。

参考文献

[1] 张庆岚.提高《c 程序设计》课程教学质量的探讨[j].福建电脑,2009年第1期.

c程序篇2

(中国矿业大学(北京) 机电与信息工程学院,北京 100083)

摘要:分析C语言教学中存在的普遍问题,从教学内容组织形式、教学方法以及考核方式等方面提出一系列有针对性的教学方法,指出这种教学方法能有效地提高学生的学习效率和质量。

关键词 :C语言程序设计;公共基础课;教学方法

基金项目:北京高等学校青年英才计划项目;煤炭资源与安全开采国家重点实验室开放课题(SKLCRSM11KFB12)。

作者简介:王振武,男,副教授,研究方向为数据挖掘、图形图像处理,wangzhenwu@126.com。

0 引言

为提高大学生利用计算机解决问题的能力,全国高校普遍为理工科专业的低年级学生开设了C语言程序设计这门必修的公共基础课程。一方面,该课程是学生接触的第一门程序设计类课程,其编程思维的养成是一个较长的过程;另一方面,该课程具有内容繁多、知识点关联性强、算法抽象、实践性要求高等特点,学生在学习过程中易产生畏难心理,进而出现学习动力不足、积极性不高等问题。C语言程序设计是一门难学也难教的课程,目前在教学上普遍存在很多问题。文献[1-4]对C语言程序设计的教学方法给出了建议,但都不够系统和全面。

1 C语言程序设计教学方法研究

1.1 理论教学

对于大多数课程而言,从宏观上将课程知识点及其关联讲授给学生非常必要,这便于学生更加系统深刻地理解所学内容。笔者以文献[5]作为教材讲解C语言程序设计的知识点结构。如图1所示,知识点之间的关联可以层层细化,教师首先从宏观上给学生介绍C语言程序的整体组成结构(如图1-(a),然后针对图1-(a)中一个源程序文件的组成成分举例介绍,如图1-(b)所示。在图1-(b)中,教师对涉及的知识点进行归类,共包含预处理命令、数据类型、运算符、语句和函数等5部分,然后图1-(c)至图1-(i)依次层层展开上述各类知识点的组成,逐步细化。

从宏观上梳理C语言与程序设计课程的知识点是非常必要和重要的,这样可以避免学生“只见树木,不见森林”,最后只学到一堆零散的知识点,只有从宏观上把握各个知识点在知识体系中的位置和作用,才能学得深、记得牢。

对于程序语言课程,如果仅仅介绍语法的运用,学生往往对知识点理解不深刻。我们在教学实践中的体会是:在讲解C语言语法的基础上,适当地剖析编程语言在计算机中的运行机制,会让学生的理解更加透彻。因此,我们的课堂教学方法分为如下两部分。

1)课件讲解。

课件讲解包括两部分,即知识点要点总结和知识点运行机制剖析。知识点要点总结就是告诉学生该知识点如何使用;而知识点运行机制剖析则告诉学生该程序在计算机内存中的执行过程。由于绝大部分高校在开设C语言程序设计之前都会开设计算机文化基础等课程,因此学生有足够的计算机基础知识来理解C语言程序的运行机制。

2)实例演示。

作为一门编程语言,C语言需要在实践中理解和掌握,因此,课堂教学中,在具体的编程环境(如VC++6.0)下演示十分必要。通过在具体的软件环境下编程,告诉学生应该做什么和不应该做什么,并总结该知识点的注意事项。相比传统的脱离编程环境,只在PPT或黑板上进行板书的教学模式,该方法的教学效果要好得多。在课堂教学中,具体的教学步骤如下:①使用PPT或者板书列出该知识点的注意要点;②在编程环境(如VC++6.0)下演示该知识点的用法,给出正确的和错误的使用方法,并进行对比;③通过幻灯片动画或flash动画等形式演示程序在计算机内存中的执行过程,让学生更加深刻地理解程序的运行机制。

3)教学难点与重点——“复合知识点”。

从C语言的教学内容来讲,数组、函数和指针是教学的重点章节,这些章节之间相互关联的部分又是重点中的难点,如数组和函数结合,数组名做函数参数,数组和指针结合,指向数组的指针变量,函数和指针结合,指向函数的指针变量等。在教学过程中要反复强调各个知识点的注意事项,如果基本知识点能够理解透彻,上述难点内容也就迎刃而解了。

1.2 上机实践教学

在实践教学中,教师可以通过实际教学案例循序渐进地强化学生对C语言知识点的理解。上机实践的教学内容通常分为两部分:基本知识点练习和综合训练。首先通过基本知识点的练习,让学生掌握该知识点的使用,即巩固课堂所学内容;然后通过一个综合性的大作业,训练学生综合应用C语言知识点的能力,例如,通过编写“学生课程成绩统计系统”考查学生对数组、结构体、指针、函数、文件等知识的综合掌握情况。

对于初学编程语言的学生,往往没有养成良好的编程习惯,出错的可能性较大,而出错之后进行调试又将耗费较长的时间,这势必对学生的学习热情产生负面影响。因此,一开始就给学生制定科学的编程步骤和规范,使学生养成良好的编程习惯,将大大减少程序出错的可能。在C语言教学实践中,我们总结了“五步编程法”:①定义变量,如“int a;”;②对变量进行初始化,如“a=0;”,对变量进行初始化操作是一种良好的编程习惯,可防止未对变量赋值而引起的隐性错误;③通过scanf语句赋值,如“scanf(“%d”,&a);”;④实现程序的主要算法,该部分是程序的主体;⑤通过printf语句将结果输出在显示器上,将结果输出在显示器上便于比较程序运行结果是否正确。

下面是按照上述五步编写的一个完整的C语言程序,用来比较两个整数的大小。按照上述五步进行编程,经过一段时间的训练之后,学生出现语法错误的可能性大大降低,此时学生更多的精力将集中在程序算法的设计和实现上。

1.3 考试形式

对于C语言程序设计的考核方式,我们采用知识点考核和编程实践相结合的方式。知识点考核偏重于C语言基本语法,用于检验学生对知识点的掌握是否全面,此项考核约占总成绩的40%;编程实践考核用于检验学生的实际动手能力,学生将在规定的时间内根据题目在机器上编程,此项考核约占总成绩的60%。为了实现知识点的考核,我们将考试与计算机二级C语言上机考试紧密结合,采用题库平台进行上机考试,学生直接在机器上答题并提交,知识点考核多采取客观题,如填空题、程序修改题以及读程序题等,编程题在实战编程中考核。C语言程序设计课程的重要特点就是实践性强,学习该课程的目的就是为了编写程序。因此从考试的角度讲,进行编程实践是最合适的方式,通过上机编程来考核学生的学习情况也是最公正和客观的方式。

2 C语言程序设计教学实践结果分析

中国矿业大学(北京)每年都有40多个班级同时开设C语言程序设计课程,因此该课程教学质量的高低将直接影响全校理工科学生对C语言的理解和掌握。中国矿业大学(北京)C语言程序设计教学团队经过长期的探索总结出一套行之有效的C语言教学方法,我们将上述方法在学校越崎实验班中进行了试点。如图2所示,采用上述教学法的越崎实验班的C语言程序设计课程考试成绩要明显好于其他班级,其中90分以上的学生占10.7%,80分以上的学生占总人数的53.6%。另外,学生的学习积极性比采用上述方法前得到明显提高,很多学生都对计算机编程产生了浓厚兴趣,实践证明我们提出的上述方法是行之有效的。

3 结语

中国矿业大学(北京)C语言程序设计教学团队在长期的教学实践中探索出的这套教学方法被证明是行之有效的,它能够极大地提高学生的学习兴趣,不但让学生学得会、记得牢,而且能够举一反三,把该方法应用到其他编程语言的学习中。长期的教学实践使我们深刻地认识到,教学方法的好坏对提高教学质量有直接和重要的影响。我们团队提出的这套教学方法是对C语言程序设计教学方法的初步尝试,希望能够对高等院校C语言程序设计教学方法的研究起到抛砖引玉的作用。

参考文献:

[1] 谢中科. C语言程序设计的教学改革与实践[J]. 理工高教研究, 2004,3(23): 96-97.

[2] 简慧云. 提高C语言程序设计教学质量的探讨[J]. 理工高教研究, 2004, 6(23): 83-85.

[3] 王孝平, 董秀成, 谢维成.提高电器信息类专业学生C语言学习能力的教学方法探索[J]. 高等教育研究, 2012, 2(29): 37-40.

[4] 张丽华, 王冬星. 自主学习教学模式在C语言教学中的运用[J]. 黑龙江教育: 高教研究与评估, 2009(12): 91-92.

c程序篇3

程序设计对于各个计算机类高校而言,都是非常重要的一类课程,尤其是理工类院校的必修课。而要进行程序设计,必须掌握一门计算机语言来做为编程工具。目前,很多计算机类高校都把C语言作为程序设计的入门课程来教学。我们知道可供选择的计算机语言是非常多的,如C++,C#,java等等,之所以选择C语言是由于C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,它既有高级语言的优点,又有低级语言的许多特点。可以说,学好C语言对打好程序设 计基础起到至关重要的作用。

由于很多高校在学生进入大学学习的第一学期就开设C语言课程,大多数学生在高中时因为高考的压力而没有接触过计算机,对计算机的基本操作并不了解。这就导致了学生在学习C语言的过程中,感觉C语言语法枯燥,难以掌握;对基本概念能够理解,但是当实际应用到程序编写的时候又感觉无从下手;学生没有养成良好的程序编写习惯,使写出来的程序漏洞百出……等等这些问题都跟教师的教学方法、学生的学习方法有很大的关系。针对学习C语言中的种种问题,根据笔者多年的C语言教学经验,下面提出C语言教学中的一些新思路供大家共同探讨。

1 掌握基本要求,打好学习基础

在学生阶段,C语言的学习主要是学习程序设计的方法,训练程序设计的思维,为以后进一步的学习和应用打下良好的基础。但在实际教学当中,很多学生改变不了高中时期的学习方法,对课本上的概念和程序死记硬背,总以为把书背熟了就能够学好C语言,而没有把精力放在最基础、最常用的内容上,以至于基础薄弱,在程序的编写时经常会出现一些不应有的错误。笔者在教学中发现学生经常会出现以下一些问题。

(1)编写程序时不区分标示符的大小写。例如,int myname和int MyName就是完全不同的两个变量。在C语言里面,对标示符大小写敏感,但是很多同学就是会忽略这最基本的要求,造成程序出错。

(2)对“=”和“==”混淆使用。“=”是C语言里的赋值符号,把右边的值赋给左边的变量;而“==”是关系运算符,它的作用是判断“==”两边的值是否相等,返回的结果是一个逻辑值,即“真”或“假”。例如:a=1,是把1这个数据放在变量a里面,而a==1,表示a变量的值是否跟1相等,如果相等返回“真”,如果不相等就返回“假”。

(3)颠倒printf()函数值的输出顺序。直接看个例子:

输出的正确值应该分别为10,11,10,10。

很多学生出现错误是因为不理解printf()函数执行的顺序,printf()函数在执行时是从右到左,而输出时是从左到右。

从以上3个学生容易出错的例子我们可以看出,正是由于学生对基础知识掌握的不理想,导致这些极其简单错误的出现。在我们的教学当中,教师也必须把最基础的知识跟学生讲透,让学生改变学习观念,对学生加以引导,懂得学习C语言并不是一朝一夕就能够一下子变成编程高手,而应该脚踏实地,实事求是地打好基础。

2 重视算法的学习

算法是程序的灵魂,没有好的算法,就编写不出好的计算机程序。在C语言教学中,教师在很多时候都不注重算法的教学,导致学生上课时候能听得懂,看得懂课本上的程序例题,但是当布置作业让学生自己去完成程序编写的时候,学生又感觉无从下手。这些都是由于学生只注重去背课本上的程序例题,而不注重程序的算法思想照成的。教师在教学中要注意对学生算法逻辑思维的培养,在讲解程序时,应该首先分析程序中所需要用到的算法,要把重点放在例题的解题思路上,一步一步地引导学生,让学生知道程序为什么要这样编写。在授课阶段初期,我们也可以给学生举一些简单的、有生活气息的例题来引发学生对算法的兴趣。例如,我们可以举这样的一些例子。

(1)家里有个微波炉可以同时烧烤2份牛排,每份牛排有两面,每面需要烧烤2分钟才可以食用,问用微波炉烧烤3份可以食用的牛排需要多少时间?这个问题用算法来解答的话,我们可以有2种方案。第1种,先把第1份牛排和第2份牛排放进去烧烤2分钟,然后再把这2份牛排翻一面过来再烧烤2分钟,接下来把第3份牛排放进去,烧烤两面共花去4分钟,由此可知整个过程一共要用掉8分钟。第2种,同样的把第1份牛排和第2份牛排放进去烧烤2分钟,然后把第2份牛排先取出来,把第1份牛排翻一面过来跟第3份牛排一起放进去烧烤2分钟,最后把第3份牛排翻一面过来跟第2份牛排的另一面一起烧烤2分钟,这样3份牛排就都烤好了,这种方法,我们只需要6分钟。很显然,用这样一个简单的例子,可以让学生知道算法的重要性,好的算法可以节省程序大量的执行时间。

(2)有甲乙两人,甲现在26岁,乙现在8岁,求多少年之后甲的年龄是乙年龄的两倍?对于这个问题,我们可以引导学生使用循环体来解答。我们知道年龄是逐年增长的,假设甲为变量m,乙为变量n,则循环体就是m++、n++的一个过程,当甲和乙的年龄相差两倍时,循环结束。所以我们设定循环体的执行条件应该是m!=2*n。最后当循环体结束时输出m和n的值。通过这样的一个分析过程,相信学生很快就能够写出这个问题的程序。

由此可见,通过一些例子的算法讲解,一方面能够让学生理解解题的过程,一方面还可以锻炼学生的算法思维,让学生感受到算法的重要性。

3 上好实验课

上机实验也是C语言教学中的一个重要环节,学生仅仅听课是学不好C语言的。学生不仅要能够掌握基础的概念,还要自己动手编写程序,最后要亲自上机调试程序的运行并对程序进行修改。所以,如何上好C语言课程的实验课,也是教师要思考的一个问题。在笔者平时的教学中遇到这样的一些问题,如很多学生在上实验课时,没有把精力放在学习上,而是在玩游戏看小说;还有些学生上实验课前没有很好的预习,浪费了大量时间在知识的复习上;在实验过程中,学生一遇到问题就会向老师提问,以至于老师疲于解答甚至由于问的人数过多而无法一一进行解答。这些问题都影响到实验课的效果,甚至会影响到部分学生的学习积极性。如何改变这种状况,笔者采用以下几种方法。

(1)在上实验课之前就把实验题目布置给学生,学生在上课之前就需要提交给教师一份预习报告,这份报告里面应该包含学生对实验题目的解题思路及初步的解题程序。然后让学生带着这份报告上机调试程序。这样就可以避免学生在上实验课时无所事事的情况。

(2)对于有条件的学校可以配置多名实验指导教师。学生在实验中经常会遇到一些问题需要教师帮助解决,当问的人比较多的时候,教师就没有办法一一解答,而部分学生由于得不到解答而会停止程序的调试转做其他事情,如果一直得不到帮助的话,就会影响他们的积极性,所以配置一到多名指导教师是很有必要的。如果没有足够教师的话,我们可以让班级里面学习比较好的同学,组成一个学习兴趣小组。让这些学生在实验课时对一些有问题的同学进行帮助,这样既能够增进学生之间的友谊,又能够完成教师布置的实验任务。

(3)改变实验的考核方式。很多教师一般都是在下课的时候让学生提交作业,这样可能会让一些学生钻空子,拷贝别人的作业提交。所以建议在课堂上当场对学生的作业进行评分,遇到有雷同的作业,要求学生重做。在期末的时候,也必须要强调平时的成绩,不能把期末成绩作为衡量学生成绩的唯一指标。

通过以上的一些措施,可以有效地促进学生对C语言的学习效果,对巩固C语言的课堂教学起到了巨大的作用。

c程序篇4

关键词:c++程序设计;教学改革;编程能力

1、存在的问题

我国高等教育已经进入大众化教育阶段,随着高等教育入学率的不断提高,很多高校学生的总体素质也在下滑。如何基于学生的现状,有针对性地组织教学,对于提高教育教学质量至关重要。c++程序设计课程是软件工程等专业的专业基础课,也是实践性很强的课程。它的教学目标是培养学生对专业学习的兴趣,掌握c++程序设计的基本语法,提高程序编写、调试、分析能力,养成良好的编程规范,初步建立起工程意识,为后续专业课程的学习、软件项目实训及今后从事软件开发打下良好的基础。

目前,很多软件学院采用“3+1”的教学模式,在校的理论教学被压缩到3年完成,课程学时非常紧张,以辽宁科技大学软件学院为例,传统教学中的c语言程序设计(64学时)和c++程序设计(64学时)两门课程被压缩到一个学期96学时加以完成,任务难度大。因为该课程的教学效果直接影响着后续课程学习,有很多学生正是因为没有入门,对专业没有兴趣,导致后续核心专业课程的学习困难。很多C++程序设计教材,例题主要还是为了配合讲解c++语法的知识点而设置,前后章节的例题联系很少,从而导致学生不知道前面的程序对后面章节有什么用处。因此需要对理论教学与实验教学内容进行有机整合。很多学生实验准备不充分,导致课堂实验未能完成任务要求,程序拷贝抄袭现象严重。课后教师只是根据学生实验情况给予成绩评价,却很少对掌握知识有欠缺的学生进行后续帮助。针对上述问题,结合学生现状,积极应对,在教学的各个环节进行系统探索,提出行之有效且又具有可操作性的方案。针对c++程序设计课程,很多教师基于个人教学经验积累,项目驱动式,工程教育模式,提出相应改革方案。

2、教学改革与实践

2.1 教学目标

软件工程本科毕业生的培养目标是软件工程领域的工程应用型人才。因此对于C++程序设计课程而言,就是要求学生掌握c++程序的基本语法,能够编写简单的应用程序,培养学生程序设计、调试和分析问题的能力。其宗旨就是要增加学生的实际动手能力,通过实验环节来提高。计算机语言是软件专业人员与计算机交流的工具,计算机是严格的老师,只有通过计算机检验的程序才是合格的。

2.2 教学内容的设计

c++程序设计课程的教学知识点是相对固定的,改革的主要目标是教学内容的整合与案例的设计。为达到教学目标,要求教师能够将理论教学与实验教学有机结合,设计好理论教学案例与实验教学内容。在教学内容设置上,根据教学的知识点,以实用性、设计性案例为主,综合性、趣味性案例为辅。实验教学内容要与理论教学案例相联系,前后章的实验内容相联系,做到案例驱动教学,在全部实验结束后,整合在一起的就是完整的小型应用软件。因为是入门课程,案例难度不能太大。这样,学生会知道学习课程的目的,才会有成就感。在教学中,我们的做法是在数组、函数、指针、结构等教学知识点的讲授中,在精讲理论的基础上,教学案例重点介绍线性结构的数据的基本操作,如插入,删除,排序,查找等,随着知识点的不断深入,不断完善这些案例,最后在面向对象章节中,将前面的基本操作整合在一起,形成综合性案例(学生管理系统),该系统中可以用到数组、函数、指针、结构、类、异常处理等几乎C++程序涉及的所有知识点。

2.3 实践环节

实践环节包括课前实验准备、课堂完成实验任务、课后反馈实验结果等。对于课前实验准备要求学生根据事先布置的实验任务完成准备工作,对于稍微复杂的问题可以由学生自行组织讨论,并且要每位学生形成书面资料。实验准备时要强调代码的可读性、可重用性和可维护性,早日使学生建立起工程意识。实验准备内容包括实验所需的源程序代码和程序运行所需的测试数据及预期的运行结果等。没有实验准备,课堂实验的目的性不明确,实验质量也无从谈起。在这一点上,要求任课教师必须加强督促与检查,让学生养成习惯。课堂实验环节中,要求学生尽量独立完成实验任务,特别是语法错误,要力争自行解决,才会有很多亲身的真实感受和经验积累,否则学生程序调试能力无法提高,且容易形成对教师的依赖性。因为学生人数多,光靠一名任课教师无法帮助学生全部完成任务。教师主要负责宏观指导,对学生出现的关键的技术问题给予提示与指导。每次实验要对部分学生进行抽查,主要检查学生是否真正完成,是否存在抄袭等问题。实验结束时,学生要将正确的实验代码在实验准备资料上更正并保留,作为作业上交,同时提交电子版,包括实验代码及运行结果等内容的实验报告。实验结束后,教师要及时批阅实验报告,对于未完成实验要求者,特别是实验雷同者,要给予帮助或严肃批评,并督促重新完成实验任务。还应对学生实验环节出现的普遍性问题利用课余时间由教师组织学生进行小组讨论,并给予讲评。

2.4 考核

课程考核以期末笔试(50%)、上机测试(30%)、平时实验及作业实验(20%)的方式进行综合评价。考核与课程的教学目标相一致,侧重于程序编写、调试能力的考核,因此要增加实验综合测试环节(上机测试),作为实验成绩评价的主要依据,如果实验测试环节不合格,则总评成绩记为不合格。日常实验可以占20%的比重,期末考试主要考察学生的程序阅读、程序完善、程序编写等,目前以笔试方式进行,今后可采用上机测试方式,取消笔试测试环节。实践证明该考核方式符合课程的培养目标和示范性软件学院应用型人才培养目标。

2.5 能力提高

除传统课堂实验外,还开展课程设计、典型程序分析与设计等实践环节,并组织c++程序设计兴趣小组,C++程序设计大赛等。对学习兴趣浓厚且学有余力的学生引导他们参加国际大学生程序设计竞赛(ACM)小组,通过学生参加ACM小组系统的日常训练,强化其程序设计、调试、分析问题与解决问题能力;通过参加竞赛,培养学生的自信心和学习兴趣,并明确自身不足。近几年已经形成了一个以老带新,在专业教师指导下的ACM小组,学生们每天利用业余时间进行编程训练及竞赛所需基础知识的补充,在辽宁省省赛、东北四省赛中均有学生获奖,成绩斐然。对基础和理解能力相对不足的学生加强督促与帮助,采取“任务式”辅导,通过任课教师的指导,完成正常实验或作业中出错的程序调试,避免学生产生厌学情绪;另外将学生分组,参与大学生科研训练项目或适当布置一些难度较大的综合性作业,让学生自主查阅资料,拓展视野,提高水平,并培养团队合作意识。

3、教学改革效果

通过上述环节的努力,学生的学习兴趣、程序编写能力和程序调试能力有了很大提高。做到引导优秀学生参加ACM竞赛,提高水平,拓展视野;基础差的学生力争不掉队。另外,通过该课程的锻炼,也为后续课程数据结构、算法设计等课程在编程规范、编程习惯、编程能力等方面奠定了基础。客观上学生能力的提高要靠教师与学生共同努力,特别是学生的主动学习与思考。

c程序篇5

关键词:C语言 学习兴趣 趣味程序 实例

一、教学过程中存在的问题及产生问题的原因

1.绝大部分学生文化基础差,开始学习时经常会产生厌倦感

C程序设计这门课程,一般在新生入学的第一个学期或第二学期就开设了,是学生接触的计算机编程的入门课程。这门课程结合了语言、算法、数据结构和程序设计方法等方面的知识。学生对着这些知识相当陌生,而且很多内容跟他们所熟悉的知识内容不相同,使他们经常感觉这些内容很难理解,枯燥无味,从而产生厌倦感。

2.对编程语言的学习方法不能适应

大部分学生在开始学习这门编程语言时,还是沿用了之前旧的学习方法,而这门新课程的内容是需要很好去记忆和注意的,他们就没能很好地掌握起来。

3.学生上课注意力不集中,上机实践课缺乏积极主动性

在理论课教学中,学生面对着课本上大量抽象概念的理论内容,就会出现注意力不集中的现象。而到上机操作环节,教师要学生自己编写一道程序,学生往往需要很久才会编出来,并且如果一个小程序由于错误运行不出,就马上放弃编程。有的学生看到编程题,就提不起精神去编写,一旦没有动手解决问题的欲望,就经常偷偷地玩游戏。

二、C语言设计课程教学建议

要解决上面所遇到的三种情况,教师在学生开始学习的时候就要指导他们这是一门新课程,在学习上要用新的学习方式来学习。在教学方式上,教师要尽量降低C语言的难度,在讲解理论知识点的过程中,增加一些趣味性的程序,使学生能从中学到知识。

1.从教学语言上提高趣味性

在课堂教学上,教师要使用趣味幽默的语言,接近生活。这样既激发学生的学习兴趣,又能引发学生积极思考和制造轻松的气氛,也能让学生轻松地接受知识,增强学习的兴趣和学习动机,从而也使学生接受这位老师。

2.增加趣味练习,提高学生的学习兴趣

兴趣是一个人力求认识和趋向某种客体的积极态度的个性倾向。培养学生学习兴趣,是提高课堂教学效果的重要途径。怎么从枯燥的C语言中解脱出来,让学生提高兴趣去学习呢? 我们可通过编写小游戏程序或与生活相关的程序来提高它的趣味性,这样程序设计就像电脑游戏一样充满好奇,富有乐趣。

(1)从简单的单输出语句开始。我们都知道,现在好多课本第一章基础知识里,都有这样一道编程题:“在屏幕上打印出‘Hello, world’”,这个是学习编程的第一个程序。我们可以把这个输出改成中文的问候语句,在第一次上课时,让学生感觉到亲切,觉得这门课程可以将日常生活中的一些行为运用进来。

(2)随着学习的深入,我们还可以编写其他有趣的程序。传统的讲授型教学方法是灌输式的,是能较好地保证所讲授知识的系统性,但学生的学习思维和学习的积极性都处在被动状态,达不到理想的教学效果。

为了使学生能够学习掌握课本中相关的知识,对编程产生的兴趣,在教学过程中,教师要先从对学生有意义的问题出发,然后在讲解的过程中,把产生的问题与实际的例子结合起来,让学生能够发现并找到解决的方法。在这种方法中,我们可以将这些现实问题与计算机语言结合到一起,降低问题难度,使得学生对C语言有了印象,从而提高了学习的兴趣,使处于被动状态的学习转为主动的学习。例如我们可以给学生演示一些简单地用C语言编写的图形或让学生利通scanf()和printf()这两个标准输入出函数编写短小的程序。这样可以增强程序的趣味性,同时可以提高学生的兴趣,使学生觉得这种的编程比较有趣。从“简单”开始,慢慢再加大学习难度。

每一个人对一些比较有趣的事情都是非常感兴趣的。在教学讲解实例的时候,我们可以适当地加入一些生活的例子,充分利用学生的好奇心,增强了他们学习程序语言的积极性。比如我们讲解循环语句时可以利用这样的例子。有三对情侣举行婚礼,三个新郎为A,B,C,三个新娘为X,Y,Z。有人不知道他们谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将与X结婚;X说她的未婚夫是C;C说他将与Z结婚。这人听后知道他们在开玩笑,全是假话。这里面,他到底谁跟谁结婚呢?

对于这样的问题,我们先把新郎A,B,C用1,2,3来表示。从题目的叙述中,我们可以得出下面的内容,A不与X结婚,即X≠1;X的未婚夫不是C,即X≠3;C不与Z结婚,即Z≠3;同时题意还隐含着X,Y,Z三个新娘不能结为配偶,则有:X≠Y且X≠Z且Y≠Z。

我们把问题变成普通的判断式,将式子写出来以后,可以利用列举法的推理运算列出所有可能出现的情况。

每一个循环表示每一个人都有三种可能性。在这所有的可能中,满足全部条件的两人即为情侣。这个例子既满足学生对问题的好奇心,又贴近生活,还能充分地说明C程序中循环结构,特别是多重循环的使用。这样既可以充分调动学生学习的积极性,将学生的从被动学习方式转换为主动学习方式,同时提高教学的质量,达到预期效果。这样的现象也叫自我效能感,让学生能够意识到计算机的编程语言是可以解决很多生活上的实际问题,因此也激发他们听课的兴趣。当然这样的例子还有很多,教师们要充分利用多媒体的功能,从不同的角度,不同的方面来提高教学的效果。

3.设计不同层次的编程实践环节,培养学生的动手能力

对于学生,要读懂一条程序并不是特别难,但是让他们自己根据问题来编写程序,很多学生就望而却步了。这时,我们就要根本学生的情况,设计编写一些适合他们的编程题目。比如说,我们在讲解条件分支语句时,我们可以利用生活中用来判定闰年的问题,来让学生自己分析判别的计算方法,找出判断方法后,用相应的语句来实现。分阶段地实现编程的内容,使得学生能品尝到阶段性的成功,增强学生攀登知识高峰的信心和勇气。

同时根据对学生知识掌握情况的了解,将学生进行搭配分组。在编写小规模程序时,学生自己可以通过相互间的讨论,对程序的每个部分进行分工,通力合作,最后完成整个程序的编写任务。这样促进不同层次学生的全面提高,也能培养学生如何将所学知识来应用到实际问题上,培养学生的互助互帮,团队合作的精神和集体观念。

教学方法是一门艺术,每个人所用的方法都不尽相同。教师不仅要懂得专业的知识,更重要的是要懂得如何把自己的专业知识传授给学生。C 语言的教学虽有一定难度,但要取得良好的教学效果,就要了解学生的心理,在各种不同教学方法的尝试下,找到符合学生实际的教学方法,采用多种形式与方法去激发学生的学习兴趣与学产动力,提高了教学的趣味性,这样学生才能很好地掌握和运用所学到的知识,就能收到良好的教学效果。

参考文献:

[1]王新萍,郑静.C语言程序设计教程[M].北京:电子工业出版社,2010.

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

[3]白炽贵.C语言案例教程(第2版)[M].北京:电子工业出版社,2009.

[4]本书编写组.全国计算机等级考试二级教程C语言程序设计[M].北京:高等教育出版社,2005.

c程序篇6

关键词:C语言程序设计;重修课程;教学方法

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)27-0167-02

近年随着高校招生规模的扩大,学生数量一直呈增长趋势。C语言程序设计作为理工科专业学生必修的基础课程,不及格的学生人数也在逐年增加。重修班的课程教学也是本科教学中重要的组成部分,在重修课程的教学工作中存在一些有别于普通课程教学的特点,需要任课教师采取针对性的措施,才能保证重修课程保时保质完成。

一、目前C语言重修课程存在的问题

1.教学方法与教学手段过于单调。从目前高校的教学情况看,一般现在大多以多媒体教学为主。当然,多媒体教学较以往黑板板书的讲授方式有了一定的进步,但这里边仍然存在一定的问题。第一,多媒体教学方法仍是以教师教授为主、学生听讲为辅的教学手段,启发式教学没有得到充分应用。而且许多教师过分注重PPT教学,强调体系的完整性而非学生的掌握情况。学生经常感到上课好像都听懂了,但是上机时对C语言语法不熟练,编写程序无从下手。第二,多媒体教学很难为学生建立编写程序的直观感受。教师PPT上的例子通常是可以正确运行并得到正确结果的例子程序。这就会使学生产生厌学心理,误认为只要将程序代码输入计算机,计算机就会正确地执行。当程序发生错误时,学生经常感到束手无策,挫伤了学生学习的积极性和热情。

2.学生的学习目的不明确。对于非计算机专业的学生,通常认为C语言程序设计与他们所学专业课相关性较小,而且在现实生活中很难应用,所以对C语言程序设计很难提起兴趣。另一部分同学认为学习C语言的目的只是为了通过计算机等级考试或重修考试,所以认为C语言学习的重点是语法知识而非上机实践,这部分同学学习非常认真,教材上做满了各种对知识点的解释和编程时应注意的误区,可就是不会编写程序,最多只能参照教材的例子编写,无法编写程序解决工程实际问题。还有部分同学认为C语言过时了,应当学习JAVA、C#等目前行业内普遍采用的高级程序设计语言。而且JAVA等高级语言相对来说简单易学,源代码可读性强,同时又有功能强大的编译器支持,利于迅速开发项目。

3.C语言本身的特点。C语言作为一门实用的编程语言,以其强大的编程功能,自由灵活的编程风格,获得了IT技术从业者的广泛青睐,但是这些有点恰恰成为了初学者的最大障碍。C语言程序语法复杂,调试苦难,尤其是对指针的使用,使初学者经常犯难以跟踪的编程错误。而且对于非计算机专业的学生,C语言程序设计往往在大一下学期或大二下学期开设。对于仅学习过大学计算机基础的非计算机专业学生来说,缺乏对计算机结构的全面了解,对于和计算机硬件尤其是和内存结合很紧密的概念,学生基本很难理解和掌握。

二、针对重修课程特点的教学措施

1.培养学生学习兴趣。对于选修C语言重修课的学生,应注意对其学习兴趣的培养。比如在课堂上可以给重修的学生讲一些计算机科学家的生平及小故事、计算机与数学等方面的内容,短则一两句话,长则三五分钟,既活跃课堂气氛,又能激发重修生对程序设计的兴趣。教师也可以在课堂中向学生讲述一些在生活中使用C语言编写的软件,如与学生生活密切相关的嵌入式系统软件,让非计算机专业的重修学生感到C语言程序设计与他们并不遥远。教师在重修课教学过程中,可以采取案例驱动、任务驱动、主题作业、课程设计等多种形式[1,2],增强学生的学习兴趣。

2.改进教学方法。在C语言程序设计重修课程的教学中,要充分利用多媒体课件,其内容应该有条理、重点突出、详略得当。多媒体课件应该注重演示与推理,而不是教材的翻版。同时,教师也可在课堂上现场使用编译软件编写程序,并对程序中的错误加以修改并讲解,也可以教师将程序的主体写好,邀请同学上讲台上编写关键代码段,一起完成程序的编写。如教师在讲解for循环体的知识点之后,可以编写如下图所示代码:

并请同学上讲台现场编写代码完成所需的功能。如果学生在编写过程出现了错误,教师应该在课堂上做出讲解并给出解决方法。这样既调动了重修生上课的积极性,活跃了课堂气氛,同时教师对学生编程时易发生的错误,现场给予了解答,减轻了学生学习程序设计的畏惧心理。

同时,应采用将多媒体教学工具(如Flash)c程序调试相结合的方法,将C语言程序设计中内容比较抽象、比较底层、不易理解的部分,如排序算法,用直观的形式展现给学生。

例如,在讲解选择排序算法时,可以将如下图所示的Flash与VC++6.0的调试窗口做对照:

教师可以通过Flas与程序代码的互动,逐步地将选择排序算法程序每一步操作,形象直观地演示给学生。

3.强调算法的重要性。算法设计是C语言程序设计的灵魂,编程成功的前提是要分析出正确的算法,因此在教学中必须将算法设计作为程序设计课程的先导和教学重点,以培养和提高学生分析和解决问题的能力。笔者曾以求取任意正整数平方根为例,分别讲解了泰勒展式法与牛顿迭代法,并编写程序为学生展示了选取不同时间复杂度的算法对求解问题造成的影响。对于非计算机专业的C语言的重修学生而言,能够分析与设计简单的算法是我对他们的基本要求。要时时向学生传输这样一个观点:程序设计语言无论多么强大,多么流行,都是一种工具,而程序设计的根本目的是为了解决生产生活实际中的问题,对于解决问题而言,算法才是最重要的。

总之,以上是本人在C语言程序设计重修课教学过程中的一些体会,不一定完全正确,还需要我们不断地去探索,取长补短,不断完善。

参考文献:

[1]常本勤.基于问题的学习模式在程序设计类课程教学中的应用[J].计算机教育,2010,(2).

[2]冯小强.C语言教学方法的探索[J].科技信息,2010,(28).

c程序篇7

关键词:关键词:C语言程序设计;集体备课;教学改革

中图分类号:G4     文献标识码:A     文章编号:

引言

C语言是是国际上广泛流行的计算机高级语言,受很多大学青睐,并将其作为第一门高级语言程序设计课程。在我校C语言程序设计是各理工科专业的公共基础必修课。由于授课班级较多及教师工作量的限制,每学期都会有多位教师承担该课程的教学工作,而教师的教学经验、对知识点的掌握不尽相同,同时,学生也普遍认为C语言程序设计课程较难,在教学过程中,出现了亟待解决的问题,对此,我校成立了C语言程序设计备课组,进行集体备课,规范教学秩序,统一教学内容,研讨教学方法,提高教学质量。

1.教学中存在的不足

1.1授课班级多,时间安排不统一

我校开设C语言程序设计课程的系有电气信息工程系、机械工程系、土木工程系、化学工程系,涉及专业共有14个。各系在制定人才培养方案时,根据各自专业的需求,该课程开课学期各不相同,甚至同一个专业不同年级开课学期也不相同。使得各学期教师教学任务不均衡,当班级较多时,部分教师周学时可达20学时左右,教学压力过大,而班级少时,教师学时量不够的尴尬局面。

1.2 教学大纲多,授课内容不统一

由于专业较多,在各人才培养方案中C语言程序设计的学时数、考试性质等不尽相同,教学大纲也会根据人才培养方案中对该课程的不同安排再进行修订,而各任课教师在教学经验、教师自身知识的储备等也不相同,有的教师会将大量学时分配给顺序、选择、循环三大基本结构,有的教师则将较多学时分配给数组、指针、函数,各专业学生学到的内容也就不相同了。

1.3 教学内容难,学生有畏难情绪

对学生而言,C语言概念繁杂、知识点多、内容枯燥、难度较大且实用性不强,对该课程的学习总是提不起兴趣,缺少积极性,存在一定的厌学情绪,导致考试不及格率较高。

2. 教学改革措施

2.1 成立C语言程序设计备课组,开展集体备课

C语言程序设计备课组由担任C语言程序设计授课任务的所有教师组成,小组以教学为核心任务,召开教学例会,开展教学研讨活动、确定并实施教学改革,最终达到提高教学质量的目的。

C语言程序设计备课组带头人是我校C语言程序设计精品课负责人,她长期致力于C语言程序设计课程教学与科研工作,经验丰富,具有较深的学术造诣与师德修养,能够团结和带领备课组所有成员互相协作,共同进步,在小组中发挥着重要的作用,能够很好的带领小组发展。

C语言程序设计备课组以教学例会为依托,主要任务有确定教学大纲、研究教学方法、开展集体备课、完善教学资料、听课评课、编写实验指导书、整理习题集等,实现教学资源统一,资源共享、授课内容与教学大纲统一,保证教学质量;教师间互相听课评课,讨论教学方法、共同分析教学中遇到的问题,促进小组成员共同提高。

2.2 教学资源的完善

(1) 统一教学大纲

教学大纲对课程教学起指导性作用,是教师授课的依据。针对之前教学大纲中存在的问题,我们首先对C语言程序设计教学大纲进行调整。根据学校实际情况,将教学大纲分为两类:电气信息类与非电气信息类。

电气信息类教学大纲中总学时为64学时,其中实验学时24学时,要求学生掌握C语言的基本语法,掌握程序设计的基本思想、基本概念、基本方法及技巧,并能运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的C语言应用程序;非电气信息类教学大纲中总学时为64学时,其中实验学时为24学时,要求学生了解程序设计语言的基本概念和基本内容,掌握正确的程序设计方法,通过编程实践,具备一定的程序设计能力,并为后继课程提供必要的编程基础。

(2) 统一教材、习题集

教材选用谭浩强教授著,清华大学出版社出版的《C程序设计》一书,该书内容先进,体系合理,概念清晰,讲解详尽,降低台阶,分散难点,例题丰富,深入浅出,文字流畅,通俗易懂,是初学者学习C语言程序设计的理想教材。

虽然该教材在内容及知识点有其优势,但是该书课后习题以编程题为主,对刚入门学生而言难度较大,且C语言本身有很多小的知识点,仅有编程题对不易巩固所学知识点,使大多数学生感到学习困难,不能很好地调动学习的积极性。对此,备课组进行了习题集整理。习题集针对大纲中要求的知识点进行习题设计,题型包括选择题、填空题、程序改错题、编程题等内容,同时题目的难易程度也有所不同,总体要求为60%为基础题,30%为提高题,10%为偏难题,循序渐进,逐步提高难度,使学生能根据自己的实际情况均有所收获。

(3) 统一多媒体教学课件

教材提供了配套的多媒体课件,该课件内容全面,制作精细,结构合理,但是教学大纲对知识点的有所侧重,我们根据教学大纲以2学时为单位对课件重新进行了整理,明确每节课的重点、难点、授课内容,并在课件中增加了与知识点相匹配的课堂练习题,习题设有程序结果分析与程序填空题,通过课堂练习题对当堂知识点进行巩固,加深学生对知识点的理解。

(4) 统一实验指导书

依据教材结构和实际需要,备课组进行了《C语言程序设计实验指导书》的编写,根据电气信息类教学大纲与非电气信息类教学大纲要求,结合实际应用各设计了11组具有代表性实验题目。实验内容主要分为程序分析题、程序填空题、程序改错题、编写程序题,使学生通过读程序、分析程序、程序改错逐步达到能够独立编写程序和用程序解决实际问题的能力。对学生要求在课前进行实验内容的预习,在实验课上编辑、调试与当前教学内容有关的实验题目,写出实验报告。该实验指导书的特点是体现教材的重点的难点,注重基础知识、基本技能和实际应用,强调对学生分析问题和解决问题能力的培养。

2.3 研究教学方法与教学手段

(1) 多种教学方法综合应用

C语言程序设计课程相关概念多,知识点繁杂,理论抽象,学生不易掌握,在授课过程中,根据授课内容和学生实际情况,灵活地使用任务驱动法、案例式教学法、分小组讨论、启发式等教学方法,将多种教学方法进行有机组合,同时,借助 网络和多媒体等教学手段使这些方法得以有效实施。

在课堂上,一改原来教师满堂灌的授课方式,在上新课时,先提出问题,再引导学生分析问题找出解决问题的方法,之后给出源代码,分析源代码,此时便将新知识点引出,对知识点进行讲解,最终留给学生一任务,由小组讨论,将任务完成,巩固知识点。这样的授课方式更为形象直观,且学生可以参与到问题的分析与讨论中来,提高了上课的积极性与注意力,保证了上课质量。

教师讲授与学生讨论相结合。在作课堂练习与上机实验时,会将学生进行分组,并要求学生按小组就坐。当任务下达或作上机练习中分析问题或遇到问题时,充分发挥小组作用,进行讨论,解决问题。若小组中存在不同意见或凭小组力量无法解决,可以与其他小组或教师进行讨论或通过上机验证得到结果,解决问题。这样可以增加学生团队意识、培养学生分析问题解决问题的能力、锻炼学生语言表达能力,增强知识点的应用与掌握。

(2) 注重实践教学

C语言程序设计课程具有较强的实践性,通过上机可以巩固所学理论知识。在实验指导书设计时,旨在让学生由读程序、分析程序、程序改错逐渐达到能够独立编写程序,实验内容较多,若仅靠90分钟课堂时间来分析并完成所有实验是不可能的。因此,在实验之前要求学生对下节课的实验内容进行预习,提前完成分析程序运行结果、完成程序填空、找出程序中的错误、编写程序解决实际问题等,在上课时,将程序输入VC++6.0中进行运行,调试程序中的错误,找出错误原因即可。这样可以不仅提高课堂利用率,也可锻炼学生分析问题、解决问题的能力。

(3) 采用多媒体教学

依据学生理解能力和接受能力,在教学过程中,借助多媒体课件或动画进行演示、讲解,更加形象直观地对问题进行分析,并可以引起学生更浓厚的兴趣,亦可使算法更加的清晰明了,也可减少板书时间,使课堂时间利用更加充分。

(4) 课堂教室与网络教学相结合

90分钟的课堂教学时间有限,且课堂知识点繁杂,一堂课的内容要求学生仅靠课堂90分钟完成掌握是不现实的。对此,我们借助于精品课网站,将教学大纲、电子课件、案例分析、习题与解答等资料上传精品课网站,供学生复习和自学。同时,在精品课网站中还设有在线答疑板块,由教师对学生提的问题进行回答,帮助学生解决在学习中遇到的问题。

3.结束语

C语言程序设计集体备课是根据实际教学过程中存在的问题提出的,并已经在C语言程序设计课程教学实践中运用,取得了良好的教学效果。本次改革是C语言程序设计备课组初次教学改革,之后本备课组将继续努力探索,使C语言程序设计课程教学日趋完善。

参考文献

c程序篇8

关键词: 《C程序设计语言》 误区 感悟

《C程序设计语言》课程是电子信息工程专业开设的第一门程序设计类课程。该课程在本专业的课程体系中处于承上启下的地位,对于学习后续高级编程语言具有很好的导引作用。笔者经过一个学期的系统学习后感觉受益匪浅,不仅学到了基础的编程语言知识,更重要是的掌握了逻辑性较强的编程思想。为了让更多学生很好地学习这门课程,笔者借此文总结出《C程序设计语言》课程学习时常见的误区,并给出解决上述误区的方法和途径,供广大同仁借鉴。

一、学习《C程序设计语言》课程时常见的误区

1.只注重写程序,而忽视读程序。

很多学生在刚学习这门课程时就希望自己能够独立编写出一些程序,但实际情况大相径庭,此时挫败感油然而生,甚至一些学生因为这种挫败感产生对这门课程的厌学情绪。其实就笔者的学习经历而言认为刚开始学习时,不要急于自己编程,因为此时你还没掌握好基础知识,不可能独立完成程序的编写,认真研读别人的优秀程序才是学习该课程入门最快,也是最好的方法,在读别人程序的过程中慢慢领悟别人的编程方法和思想。

2.没能将理论学习和上机实践进行有效衔接。

《C程序设计语言》课程的教学分为理论讲授和上机实践两个环节,因为学校主客观原因的限制二者之间存在一定的时间间隔,但二者在内容上又是相互连贯的。时间上的不连贯和内容上的连贯性会使得一些学习不主动的学生不能将理论课上老师所讲的知识和技能在上机实践中得到有效的验证和消化。因此,一些学生在上机实验时面对老师布置的作业会觉得无从下手,学习兴趣就会大大降低。而C课程的知识是承前启后的,前一部分知识没有掌握好,后面章节内容的学习也会大受影响,这样就进入了一个恶性循环。最大的问题是这部分学生不仅自身学不好内容,而且会影响其他学生,这样班级的整体学习效果就会大打折扣。

3.缺乏一定的逻辑思维能力。

很多学生错误地认为C程序设计语言就是变量、控制结构、函数、过程、数组的简单结合,认为只要掌握这些就可以编写出良好的程序了。其实不然,真正优良的程序是需要靠自己的逻辑思维对变量、控制结构、函数、过程、数组这些要素进行创造性的整合。所以C程序设计语言是一门锻炼学生逻辑思维能力的课程。当你具有抽象逻辑思维能力和弄清楚了变量、控制结构、函数、过程、数组相关知识后,编写C程序就是易事。

二、走出上述误区的方法

1.端正学习态度,充分认识到本门课程的重要性,并保持良好的学习心态和学习习惯。

《C程序设计语言》是很多高校学生接触的第一门编程语言,该课程对于培养学生较强的逻辑思维能力具有非常重要的导引作用,而逻辑思维对于处于信息社会的大学生而言是必不可少的,但是逻辑思维能力的培养又不是一朝一夕的,需要持之以恒地努力。对于学生而言,只有从内心认识到这一点才可以使自身在遇到学习困难时迎难而上。对于一些偏文专业的学生而言,在学习初期肯定会觉得一些概念晦涩难懂,与自己的思维方式存在差异,此时千万不能有畏难情绪,一定要相信自己,在自身努力、同学帮助和教师引导的三方努力下共同渡过难关,而自身的认真努力是首要的。课前一定要认真预习,对自己通过预习不能理解和解决的知识点和概念进行标记,上课时当老师讲授到这部分内容时要认真听讲,如果通过教师的讲解依然不能理解,千万不能就此搁置,一定要及时向老师和同学请教。C程序设计的入门学习并不难,却是一个十分重要的过程,因为程序设计思想就是在这时形成的,良好的程序设计习惯也在这个阶段养成的。

2.学习时要注重理解一些重要的概念,勤于动手编写程序,并借鉴别人编写的好程序。

C程序设计课程就其本质而言并不是很复杂,其核心无非就是变量、函数、过程、数组、控制结构(顺序结构、选择结构、循环结构)、文件和数据库等概念和相关操作。但这些概念虽然一些同学在数学课程中听说过,感觉似曾相识,但此概念非彼概念,二者还是有所不同,要真正理解这些概念就必须多动手、多思考。程序设计是高强度的脑力劳动,不是听会的,也不是看会的,而是练会的。因此在学习过程中要勤于自己独立编写一些小程序,在编写过程中肯定会犯一些错误,在错误的解决过程中可以提升自己的编程能力,在能力提升的同时增强自身对该课程的学习兴趣。对于初学者而言,一方面要自己独立编程,但由于自身编程知识储备不充分,也要借鉴别人优秀的解题思路与方法,探究别人的思维过程,增强自己的思维能力,然后结合自身实际尝试实现或者说模仿着实现。

3.在学习过程中要避免孤军奋战、单打独斗,注重团队协作和互助。

笔者所在学校C程序设计课程的教学遵循先理论讲授后上机实验的步骤。一个教学班的学生人数在30至40人,实验课和理论课都只有一个教师。理论课和实验课之间的时间差会使一部分基础较薄弱的学生在实验课上会碰到各式各样的问题,而基础较好的学生在实验课上会很自如地完成老师布置的实验任务,因为只有一个老师进行辅导,如果那些基础不是很好的学生在学习过程中遇到问题后请教老师,老师此时可能正在辅导另外一个学生,在这种情况下就可以选择向身边基础较好的同学请教,这样既可节省时间又可加深同学之间的交流协作。经过半个学习基础知识的学习,老师会布置一些综合编程题让学生融会贯通并有效应用以前所学知识,笔者认为此时同学之间可以以团队形式进行答题,这样可以达到取长补短的效果。

参考文献:

[1]马丽洁.高职计算机和软件专业语言类课程改革探析――以C程序设计语言为例[J].电子商务,2015(07).

c程序篇9

Abstract: The paper discusses the problems of "C language programming" course in the actual teaching of higher vocational institutions, combining teaching practice, the paper proposes the concrete measures and suggestions for the course reform. The practice proves that it has got a good effect

关键词:C语言;教学改革;案例教学

Key words: C language;teaching reform;case teaching

中图分类号:G42文献标识码:A文章编号:1006-4311(2010)30-0179-01

1“C语言程序设计”的重要性及其存在的问题

许多院校的信息专业都开设了“C语言程序设计”,将其作为学生学习程序设计的入门课程,同时,它也是“数据结构”等专业课程的先修课程。

正因为“C语言程序设计”课程是其它很多课程的先修课,所以大多数院校都是在大学一年级的时候开设本门课程,所以学生对计算机语言、计算机编程还很陌生。加上C语言的抽象性和复杂性,同时,C语言的语法灵活多变,数据类型较多,所以它又是一门教师难教、学生难学的课程。

2“C语言程序设计”教学的改革方法

2.1 采用案例教学法的教学模式。案例教学是指以案例作为教学材料,结合教学主题,通过讨论问答等师生互动的教学过程,让学生了解与教学主题相关的概念或理论,培养学生高层次能力的一种教学方法。

在案例教学的实施过程中,首先举一个简单的案例程序,让学生了解到该案例程序的功能及运行结果。然后再针对该案例程序的每一个语法及书写规则,对照程序中的每条语句进行讲解,教师讲解完该程序,学生也掌握了对应的知识点。讲解了该案例后,采用“练一练”环节,让学生针对刚刚学习的知识点,自己编写所学知识点的其它程序,加深对所学知识的印象。最后通过“想一想”环节,复习本次课的内容,提出下次课的预习要求。这样就做到了有的放矢,让学生明白所学的每个知识点,达到了良好的授课效果。

2.2 构建以学生为中心、教师为主导的“四位一体”教学模式。“四位一体教学模式”即按照“精炼课堂教学,强化实践教学、引导课下自学,利用网络助学”的思路,建立以学生为中心,以教师为主导的教学模式。我们根据这个原则进行了实践和积极有效地探索,取得了一定成效。

精炼课堂教学是指教师对教学内容充分熟悉,了解学生基础,真正能把握课堂教学的实质性内容,引导学生领会主要方法,知道哪些内容学生自学有困难应该仔细讲解,哪些内容学生能够自学不讲或简略讲解,在课堂上给学生留出一定的思考空间。实践教学环节牢固“基础”,突出“应用”、强调“技能”,保证实践教学与理论教学同步,有效巩固理论教学,通过实践培养学生动手动脑能力,通过完成相应的实验作业强化学生技能,借助网络教学平台有效地实现课下师生互动交流,便于学生自学和探索研究。实践证明,“四位一体”的教学模式很有效,为学生实践能力的培养和综合素质的全面提升提供了宽广的发展空间。

2.3 教学及实验的内容要难易适当。高职高专的特点就是面向工程,面向社会应用,这样就要求老师不能仅仅局限于书本,而要放眼社会,这其中的关键就是教学内容的选择。

在知识授课中,理论知识以够用为度,侧重传授应用知识,兼顾学科的系统性、完整性,这较以前有了较大的改变,以前我们对学生的理论要求比较严格,而现在我们是先让学生会,后让学生懂,或者可以会而不懂,这样在很大程序上减少了学生的负担,使学习变得轻松有趣。

2.4 与相关课程进行内容整合,增开综合型、设计型实验。学习C语言是学习编程的基本思想,让学生掌握结构化编程的方法。但因为大多数程序功能都需要通过相关算法来实现,而高职学生对算法的掌握是弱项。所以我们加大了C语言与数据结构相结合的方式来进行教学。给学生介绍一些用C语言编写的实用有趣的数据结构算法,让学生提高了学习兴趣,变得爱学C语言。

此外,注重学生对实际项目编写能力的培养。在课程内容加入工程案例的教学。比如说,在全部课程讲完后增加一周左右的综合实训环节。实训内容可以布置一些小型的信息管理软件等实用软件让学生编写,通过实践及实训课的练习,让学生为以后继续学习较复杂的面向对象编程软件打下一个良好的基础。

2.5 改革考核方式。考核是检测和监控教学质量、评价和检查学习效果的重要手段。因此,为了真正地落实素质教育和能力教育,科学、合理地评价学生的学习状况,我院采取了多样化的考核评价方式,包括学习中的形成性评价和学习后的终结性评价。

针对“C语言程序设计”课程,我们采用了平时成绩与期末成绩相结合的方式:平时成绩占30%,包括课堂考勤和平时课堂及课后作业等;期末上机理论考试成绩占30%,题型以单选和判断等客观题为主,题目采用的是从题库随机抽题,全面覆盖教学大纲所规定的知识范围,主要考查学生知识结构的系统性和完整性;期末上机实验考试成绩占40%,参照全国计算机等级考试上机内容,让学生在规定时间内完成相关的实践上机内容,调试运行程序,得出正确结果。

2.6 鼓励学生参考各种计算机考试。仅仅是学习C语言编程有时会让学生没有成就感,为了让学生提高就业能力,可以鼓励学生多参加一些部级计算机等级考试、部级程序员考试及职业技能鉴定考试等。为了通过这些考试,学生会积极的复习与考试相关的课程,这样从侧面又激发了学生的学习热情。

3总结

在“C语言程序设计”的教学改革探索中,除了上述的改革以外,我们还做了关于教学组织管理制度的改进,比如集体备课、自编案例式教材并出版等,目的是通过这些方法改进、改变传统的教学。经过这些改革,端正了学生的学习态度,提高了他们的学习积极性、主动性,也充分训练了他们解决实际问题的能力;同时良好的教学效果也得到了学生的认可,学生的实践能力得到了良好的培养和锻炼,综合素质和创新精神也有了很大提高。

参考文献:

[1]侯孟书,廖建明,刘辉.计算机实验教学体系探讨[J].实验科学与技术,2008(10):78-80.

[2]黄蓉芳.案例教学法在“纲要”课教学中的运用[J].教育评论,2009(1):85-87.

c程序篇10

关键词:C语言 程序设计 算法 兴趣

中图分类号:G64 文献标识码:A 文章编号:1672-3791(2012)09(b)-0164-02

《C语言程序设计》是我校计算机类各专业开设的一门专业基础课程,也是非计算机专业理工科开设的一门公共基础课程。主要讲授C程序设计语言的基本知识和程序设计的方法与技术。通过本课程的学习,使学生掌握计算机程序设计的思想和方法,初步具有在各领域应用计算机的能力,并为后续课程的学习创造条件。但从教学过程来看,学生们普遍反映C语言难学,概念难理解,学完后编程不知如何入手等问题,因此,学习失去兴趣,挂科率一直高居不下,使学生对该课程产生了畏惧心理。教师教学效果不理想。在此,结合教学实践,根据遇到的一些问题提出自己的解决思路。

1 激发学生的学习兴趣

要想学生学好C语言,提高学生的学习兴趣,首先必须让学生对课程有个全局的认识。学生在接触一门新课程前,最关心的问题就是这门课程是学什么、学完之后可以做什么[1]。因此,在教学之初,教师应首先使学生明确学习这门课程的目的、要求以及目标,使学生初步了解该课程在本专业中处于什么位置,为什么要学习该课程,学好该课程对于个人的专业发展有什么作用,教师可以结合程序设计在本专业中应用的实例,使学生明白学习该课程的重要性和必要性,从而激发学习兴趣。另外,由于C语言的概念比较抽象,在每一章初期概念讲解阶段,可以多举一些与生活密切相关的例子,为概念的引入做准备,以激发学生的学习兴趣。例如,在介绍数组这个概念时,由于数组是一种新的数据类型,为加深学生的理解,可以提出一个问题让同学们思考:一个班学生的学习成绩应该如何存储呢?并提示学生这些数据有何特点,从而引出在C语言中如何存储,从而引出数组这个概念。这种方法能够发展学生的探索能力,避免了直接的理论说教,不仅能激发学生的学习兴趣,还能加深学生对新知识点的理解。此外,在教学过程中,布置一些有趣味性的编程题目,积极鼓励有能力的同学参加软件设计大赛,使学生通过独立或团体完成一个软件设计,增强他们的学习自信,调动学习热情,提高学习兴趣。

2 注重知识的归纳总结

和自然语言一样,许多字词可能是相近的、相反的或者是相同的,字词间存在着内在的联系[2]。在C语言中,涉及到此类的知识点时,可以采用归纳总结的方法进行教学。例如,循环结构中的while语句,do-while语句和for语句。在学生充分掌握三种语句的基础上,教师对这三种循环语句进行归纳总结,归纳三种语句的异同点,并针对同一程序详细介绍如何用这三种语句分别实现。便于学生对循环结构的灵活掌握。另外,C语言中学到的知识点都是零星、片面的,有些甚至是容易混淆的,比如说运算符的优先级和结合性,教师在课堂中对此类知识点进行归纳总结,方便学生的比较与记忆。并且在新的一章开始学习之前,对上一章的内容进行重点、难点以及小结的归纳总结,便于学生温故而知新,避免学生边学边忘,前后知识不衔接的问题。

3 注重算法思维的培养

算法是程序设计的灵魂,在程序设计中要设计一个好的程序首先要对程序的算法有较详细的了解,其次才是采用编程语言对算法的实现。但很多学生学完C语言课程后不会编程,甚至不知道从何下手。造成这一现象的主要原因是由于程序设计的思想与学生传统的思维方式不一致,学生缺乏对算法的抽象思维能力,因此不会分析问题,无法写出算法,这就需要教师在介绍程序范例时注重学生算法思维能力的培养。教师首先提出问题,可以选择一些与实际生活贴近的小例子,如鸡兔同笼问题,引发学生进行思考,然后详细分析问题,启发学生用现有的思维方式去思考如何解决,得到解决问题方法后再启发学生将其转化为算法,并可以改变现有条件,使学生在对新问题的思考过程中,培养学生对算法举一反三的能力,最后教师对算法进行总结归纳,加深学生对这类问题的理解。将具体问题和学生的现有知识联系起来,有利于克服学生的畏难情绪,也有利于使学生快速掌握算法。

4 认真上好实验课

《C语言程序设计》是一门实践性很强的课程,“边学边练”是掌握这门课程的最好方法。因此,我们根据理论教学进度安排了实验课,并制定了专门的实验指导书,实验指导书明确了上机实验目的和要求,制定了实验内容和详细的操作步骤,并为程度较高的学生设置了选做题目。在实验过程中,注重以学生为主体,教师为主导,安排的实验内容循序渐进,采用模仿-改正-编程的实践训练思路来培养学生[3],使学生在运行程序和调试程序中锻炼分析问题和解决问题的能力,对于实验过程中学生提出的疑难问题,教师首先加以引导或者提示,启发他们独立思考解决问题,经过自己思考解决问题往往印象比较深,也能激发学生的学习热情,对于实验中存在问题比较多的题目,教师及时进行总结,并在课堂中统一进行指导,不仅节约时间,满足同学们的需要,而且对知识的掌握起到巩固加强的目的。

5 提高教师素质

由于《C语言程序设计》课程教学任务较重,所以计算机专业老师难以承担所有的课程教学任务,造成许多任课老师都是各个院系的非专业老师,缺乏系统的程序设计思想。针对这一情况,学校每学年都多次组织计算机学院多年从事课程教学并且经验丰富的专业老师对任课教师进行培训,针对课程内容进行串讲,在串讲过程中,任课老师可以对在教学过程中的疑难问题以及教材中出现的问题进行讨论。促进教师之间的教学交流,并创建了QQ群以及网络平台,便于老师们之间的信息共享以及交流,努力提高教师素质。另外,学校每学年组织《C语言程序设计》教学竞赛,教师教学的积极性显著提高,使教师不断扩充自己的知识水平和能力,不断学习新的教学方法和手段,从而提高课堂教学效果。

6 改革考核方式

为了扎实推进学校教学改革,切实提高《C语言程序设计》课程教学质量,对《C语言程序设计》课程考试环节进行了改革,在传统的考核方式理论成绩(70%)和平时成绩(30%)基础上,新增了上机考试环节,课程成绩由平时成绩(15%)、理论成绩(70%)、机试成绩(15%)等3部分组成。理论考试重点考核学生的C语言基础知识、编程思想和算法分析能力,上机考试重点考核学生的动手编程操作能力和程序调试能力。机试的考试系统由学校自主开发,学生考试时由系统自动从100套试题库中随机抽题进行考试,做到了严格的公平公正。实践后表明,这种考核方式能够更加客观地反映学生的知识掌握程度,同时能够促进学生主动学习,提高学生的动手操作能力。

实践证明,C语言的教学改进可以提高学生的学习兴趣,有利于学生对相关概念的理解以及编程能力的培养,使学生逐步掌握分析问题、解决问题的思维能力,同时也为非计算机类专业学生将程序设计思想灵活运用到自己的专业领域打下了基础。

参考文献

[1] 胡丹.非计算机专业《C语言程序设计》教学探讨[J].电脑知识与技术,2011,7(34):8983-8985.