C语言实验课教学

2024-06-18

C语言实验课教学(精选十篇)

C语言实验课教学 篇1

许多学生都有这种感觉, 在理论课时教师讲的内容都理解, 实验课的时候也按照教师要求完成了相应的实验任务, 但C语言一个学期学习下来, 合上课本甚至连一个完整的程序也编不出来 (当然他们中的好些也能在考试中取得高分, 然而他们的秘诀却是"背程序") , 这其中主要的原因就是他们的实验课没有上好, 动手编程和解决问题的能力不强。

实例教学就是在教学中运用围绕课程内容设置的实例, 以实际应用为出发点, 结合理论教学, 让学生针对实例中涉及的具体问题提出解决的方法、手段和途径, 并在实际应用中加以掌握, 同时"任务驱动"则巩固和深化对知识点的理解和掌握, 这种模式更注重培养学生灵活运用知识创造性解决实际问题的能力。

在C语言实验教学中灵活运用实例教学, 它使得教学内容具有生动活泼的立体感, 从而能极好地开发和增加学生的实践能力, 极大地提高教学水平、改善教学效果。

一、激发学生学习的兴趣和主动性

在传统的C语言实验教学中, 大都以其教材或相应的实验指导书为主。这种形式的实验教学有它的不足。

首先过于简单。虽说C语言是许多学生接触的第一门程序设计语言, 但C语言也是相对比较容易入门的语言, 其中的决大部分内容, 学生在通过教师理论课的讲解或自习后即可理解掌握。所以对于大部分的实验任务, 学生无须多加思考, 只要通过对课本或实验指导书上现成的例子稍做修改即可完成。可能好多教师都被学生问过类似于这样的话:我们学这东西 (turboc2) 有什么用吗?能做些什么呢?因此, 上机实验基本属于验证性实验, 抹煞了学生实验的自主性和创造性。

其次, 内容过于枯燥。对于这些简单的实验程序, 其大部分输出的都是枯燥的字符或数字。所以学生即使完成了, 在其他同学看来也没什么值得欣赏的地方。不像其他科目的实验课, 比如网页制作, 虽然难度不大 (甚至还很烦琐) , 但不少学生对此还是乐者不倦, 经常在其他实验课时间也在做网页之类的内容。原因很简单, 网页做出了后他们有成就感, 可以和其他同学分享他们的成果。

所以, 使用传统的实验教学办法, 开始的时候大部分学生可能还很认真, 但由于他们的学习是被动的, 到后来他们的兴趣也就慢慢地淡下来了。但如果C语言实验教学中通过引用分析、修改实例, 最后仿造完成相应的实例, 其效果就不同了。

首先内容丰富多彩。为培养学生学习兴趣, 可以使用带有图形界面的完整C语言程序 (如一些小游戏程序) 作为实例教学的素材。实践证明学生对游戏编写的兴趣是最高的, 因为他们编写出来后通过不断修改完善, 既可自娱, 重要的是也可以让其他同学来分享其完成一个程序后的成就感。

其次是增强了难度。一个完整的特别是带图形界面的C语言游戏小程序, 其中不少内容 (如图形方面) 在现在大多数的C语言教材上是没有涉及到的。而且一个可以完成某些特定功能的C语言程序少说也要上百条语句, 对于学生来说, 不是随便翻翻书就可以弄明白的。这样自然能激发学生强烈的求知欲, 他们的学习也就会由被动变为主动。例如在学期末教师先演示一个经典的俄罗斯方块程序, 然后让他们分析该程序的算法和执行过程, 最后给出一定的图形结构体和一些相关的函数, 让学生自己完成类似的游戏程序, 这样激发学生上机操作的兴趣, 从而达到良好的教学效果。

二、增加学生间的交流

传统的C语言实验教学由于内容简单、枯燥, 学生的兴趣不高, 所以他们相互间很少进行交流, 从而导致他们的理解误区很难及时得到矫正。使用实例教学模式, 促使学生为分析、解决问题而增加相互间的交流, 这无论是对教学还是学生学习, 无疑是最好的。

三、提高综合编程能力

传统的C语言实验教学中, 上机操作编写的是课本或指导书上的例子, 学生思考不多, 语法印象不深, 编程能力不强。实例教学通过循序渐进的实例作业, 使学生的编程思维不断创新和改进, 通过不断地上机操作, 既巩固了理论语法知识, 又提高综合编程能力。避免了类似"合上课本甚至连一个完整的程序也编不出来"的情况。

四、树立信心

通过学期末综合实例的实现, 树立学生分析、解决实际问题的信心, 这将对学生以后的发展起到重要作用。

最后, 总结在应用实例教学过程中应注意的一些问题:

在C语言实验教学中, 应用实例教学重点和难点在于实例的选择上, 过易或过难都不理想, 选择实例应注意循序渐进, 每个实例和任务都是独立的, 但又是联系的, 是成一系统的。由于C语言的程序实例经常涉及到其他学生未接触过的方面, 教师应根据学生具体的水平, "屏蔽"掉一些语句。即对于一些复杂的程序, 教师要把它细化, 哪些是这节课需要掌握的重点, 哪些是可以忽略的 (只要知道是怎么引用即可) 。这一点在实例教学中也非常重要。

摘要:传统的C语言实验教学中, 大都以其教材或相应的实验指导书为主, 然而其枯燥、单一的语法实验很难激发学生学习的主动性。本文通过实例教学与传统教学的对比, 阐述了实例教学模式在提高教学质量和激发学生学习兴趣等方面的几个重要作用。

关键词:C语言,理论教学,实例教学,学习兴趣

参考文献

[1].何迪.C语言课程教学方法探析.中国培训.2005年第7期

C语言实验教学方法探讨 篇2

关键词:C语言;实验;教学方法

中图分类号:G642文献标识码:A文章编号:1009-3044(2007)12-21728-02

Discussion of the Experiment Teaching Method in C-programming

LIU Han-ying

(Department of Electronic and Computer, Guilin University of Technology, Guilin 541004, China)

Abstract:C-programming experiment is important part of C-programming teaching. As the result of each kind of reason, there are some disadvantages in the experiment teaching of C-programming: the experiment passing rate of national examination is low; the teacher can't instruct because of so many students; the students written down the programs without preparation. The students don't know how to do with the errors. With some teaching examples of the C-programming experiment, this paper propose some teaching methods, The experiences show that the proposals stimulated the students' enthusiasms of studying, and improved the quality of experiment teaching.

Key words:C language; experiment; teaching method

《C语言程序设计》(以下称C语言)是计算机及相关专业的一门专业基础课,是学习其他专业课程如《C++与面向对象程序设计》、《JAVA》、《数据结构》、《数据压缩》、《计算机图形学》的基础,C语言实验是C语言教学中的一个重要环节,常常占总学时的2/5以上。C语言实验教学有利于增加学生对理论知识的理解,调动学生的学习主动性,提高学生思维能力和动手能力。然而,由于各方面的原因,C语言实验教学中存在一些问题:全国等级考试实验通过率不是很高;C语言实验往往是大班上课,学生人数较多,老师指导不过来;学生课前没有预习,上机时直接输入参考程序,实验成了打字练习;英语水平不高,对错误提示无从下手;部分学生以为编译通过就是调试成功,不会使用调试工具。笔者近年来多次承担C语言实验教学任务,总结了一些教学方法和经验,下面是笔

者对C语言实验教学方法的探讨。

1 思想上重視实验环节,提高学习兴趣

由于C语言教学往往是大班教学,在考核方式上常常采用的是理论考试,部分学生不重视实验课,课前不预习,上机时就直接输入指导书上的参考程序,实验效果很差。因此,为了提高实验教学的效果,应将上机考核作为C语言考核的重要组成部分,让学生从思想上重视实验环节,做好课前预习。同时,笔者把一些用C语言程序实现的小游戏或画的图形图像演示给学生看,激发学生的学习兴趣,取得了较好的效果。

2 编写适宜的实验指导书

目前,有许多与C语言课程配套的实验指导书,这些指导书常常配有答案[1]。学生拿到指导书后,看有答案,常常不自己思考就将书上的程序录入进去,编译出错时不是根据错误提示查找错误原因,而是从头到尾地与书上程序比对,改正录入错误,遇到书上有错,就无从下手。整个上机练习成了打字练习。笔者认为,一本适宜的实验指导书应具备以下几点:

(1)实验指导书要与理论知识配套

C语言实验教学的目的是通过实验,让学生增强对理论知识的理解,学会自己编写、调试程序。因此,实验指导书的内容要与理论教学配套,有针对性地设置实验内容,且实验时间安排要合理(略晚于理论教学),参考程序与实验指导书分离。

(2)实验内容难度适宜

由于种种原因,学生能力上有很大差异,为此,在编写实验指导书时要兼顾各个能力层次的学生,设置基础题、中等难度题和较难题多个层次。笔者从历年的考试题中抽取一些具有代表性的改错题作为基础题练习;在此基础上,设置一些程序设计题让学生编写、调试;对学有余力的学生,可设置一些难度较大的题目,组成小组讨论。

3 养成良好的编程习惯

3.1 注意编程思想

算法是程序设计的精髓,语言只是表示形式,没有正确的计算机算法,就无法用计算机正确地解决问题。对于每一道题目,首先找出解决问题的算法,画出盒图,最后才是编写程序,这样可以减少出错的可能性。

3.2 使用有意义的标识符

C语言教材常常使用i,j,k,a,b,c几个字符作为标识符,很多学生在学习C++时觉得很难,其中一点就是C++中教材中的标识符较长。笔者建议学生,在编写程序时尽量使用一些有意义的字符串作为标识符,尽量不要用l作为标识符,提高程序的可读性,如输入一系列学生成绩时使用的是score1,score2……,而不是a1,a2……。

3.3 养成良好的程序录入习惯

有的学生在录入程序时不注意书写格式,在遇到错误时常常不易查找。笔者要求学生使用锯齿形的书写格式,在录入大括号、小括号、引号等时都要做到成对录入,有较地提高了程序录入的准确率。

4 改革实验辅导方法

4.1 网络教学软件的使用

传统的实验课是老师先布置实验习题,学生练习,遇到问题举手,老师解答。然而,C语言实验往往是大班教学,学生人数较多,许多问题十分相似,老师常常为同一问题解释多次,指导不过来。针对这一问题,笔者使用了红蜘蛛软件[3],这个软件可以在局域网上实现多媒体信息的教学广播,是一款实现在电子教室、多媒体网络教室或者电脑教室中进行多媒体网络教学的非常好的软件产品,集电脑教室的同步教学、控制、管理、音视频广播、网络考试等功能于一体,并同时实现屏幕监视和远程控制等网络管理的目的。该软件是专门针对电脑教学和培训网络开发,可以非常方便地完成电脑教学任务,包括教师演示、学生示范、屏幕监视、遥控辅导、屏幕录制、屏幕回放、网络考试、网上语音广播、两人对讲和多方讨论、联机讨论、同步文件传输、提交作业、远程命令、获取远端信息、电子教鞭、电子黑板与白板、网上消息、电子举手、锁定学生机的键盘和鼠标、网络唤醒、远程关机和重启、学生机同步升级服务、远程安装、倒计时、班级和学生管理等。笔者通过文件传输功能,将实验题目(如基础改错题)发放给学生,让学生练习,然后通过提交作业功能抽一名学生的作业来讲解。

4.2 总结错误

针对一些学生英语水平不高,对错误提示无从下手的现状,笔者总结了上机时经常遇到的错误,如语法错误、逻辑错误等,罗列给学生,并从一些试题中挑选一些适宜的改错题传给学生练习,学生不用从头到尾地录入程序,提高了实验效率。

4.3 调试方法的使用

調试的目标是寻找软件错误的原因并改正错误[2],一般有以下几种调试途径:

4.3.1 蛮干法

上机时指导学生查找错误,学习使用程序调试工具,跟踪程序的执行过程,发现较隐蔽的错误,提高学生动手解决问题的能力。如学生编写如下程序计算 (用公式 )时,发现结果不对,笔者指导学生使用调试工具观察变量pi和t的值,很快找到了错误原因,同时学生也练习了调试工具的使用方法。

#include

#include

void main()

{float s,n,t,pi;

t=1;pi=0;n=1;s=1;

while(fabs(t)<1e-6)

{pi=pi+t;

n=n+2;

s=-s;

t=s/n;}

pi=pi*4;

printf("pi=%fn",pi);}

4.3.2 回溯法

从发现症状的地方开始,人工沿程序的控制流往回追踪分析源程序代码,直到找出错误原因为止。如上例中,用go to cursor执行到pi=pi*4,发现pi的值不对,则往回分析代码,很快可以查出是循环条件不对。

4.3.3 对分查找法

对分查找法的基本思路是,如果已经知道每个变量在程序中若干个关键点的正确值,可以用赋值语句或输入语句在程序中关键点附近“注入”这些变量的正确值,然后运行程序,并检查所得到的输出。如果输出结果是正确的,则错误原因在程序的前半部分;反之,错误原因在程序的后半部分。

4.4 让学生自己调试程序

由于学生多,问题多,为了快速地解决问题,有时老师会帮学生调试程序来提高效率。笔者认为,老师应指导学生调试程序,而不是帮学生调试程序,学生只有自己动手,动脑,才能真正学会调试方法。同时笔者鼓励学生之间互相帮助和交流,培养团结协作的精神,学生在帮助同学的同时自己也得到学习。

5 结束语

以上是笔者对《C语言程序设计》实验教学方法进行的探讨,通过实践发现,这些方法有助于激发学生学习自觉性和主动性,提高学生分析问题和解决问题的能力,达到提高教学质量的目的。

参考文献:

[1]谭浩强.C语言程序设计题解与上机指导[M].北京:清华大学出版社,2005.

[2]张海藩.软件工程导论[M].北京:清华大学出版社,2003.168.

[3]http://www.forclass.com/.

浅论C语言实验教学改革 篇3

C语言因其丰富的功能、具有良好使用的灵活性,可移植性好,特别在嵌入式系统开发方面,C语言体现了自身的优势。本人认为将“C语言”作为计算机专业学生学习程序设计的人门课程,旨在让学生掌握基本的程序设计方法,培养学生逻辑思维能力,最终达到他们能够利用C语言来解决一些问题。传统教学过程中却存在很多问题,比如概念不能充分理解;知识结构不完善;动手能力差,写出的程序多数是从课本例题模仿而来,代码中无法体现个性化的思想,更别说涉及到软件开发;以上问题是笔者从事几年的C语言教学总结而来,特别是结合自己在实验教学方面的实践经验,提出了一些解决的方法和建议。

2 C语言实验教学中存在的几个问题

1)对实验教学认识有误区。很多学校把实验课视为理论课的附属,没有将实验教学单独开课,没有单独配备相应的硬件资源(实验室)和软件资源(实验教师),甚至实验课的课时只有理论课课时的一半。C语言是一门应用性非常强的课程,归根到底要培养学生的综合编程能力!试想,作为入门语言,编程语言对于学生来说是陌生的,2课时的理论课,可以给学生讲授3-4个比较重要的知识点,而实验教学如果只配备1个学时,单单是4个重要的知识点的验证恐怕时间都不够,更别说让学生去设计实验,来进一步理解所学的知识,能够真正地将课本上的知识转化为自己掌握的一种技能。

2)实验教学的课堂内容设置不合理,无法达到实验教学的真正目的。由于某些教师精力有限,没有专门针对理论教学的进度以及内容,对实验课的内容进行认真的设计和反复的修改。导致学生在实验课上试验内容与理论课内容错位,使得学生茫然不知所措,不能消化理论课的内容,对实验课乃至整门课程失去信心和兴趣。如果失去信心和兴趣,就会对课程产生逆反心理,产生逆反心理后又直接影响到学习的兴趣,造成恶性循环。

3)综合性实验(课程设计)没有开展,或者说效果不好。综合性实验(课程设计)是检验课程开设效果的最有力的手段,也是提高学生自身编程技能的一个非常好的契机。但是,如果实验课普通实验效果都不好,这样的综合性实验对于学生来说,简直是遥远的、不可触及的。对于以后续专业课的进一步学习,埋下了隐患。

3 实验教学方教学方法的改革和探讨

针对以上提出的实验课程教学中存在的问题,我对C语言课程教学做了一些尝试,应该说还是受到了比较明显的效果。

1)将实验教学做好定位,明确实验教学的任务,将实验教学学时应该是理论教学学时的1倍或者1.5倍。我们先看看实验教学的目的:一是让学生掌握基本的程序设计算法,能够编程实现我们课后练习的一些题目,当然这是对学生的最基本要求,也是最低要求;二是,让学生真正掌握C语言这样的一个软件开发的工具,为学生以后走向工作岗位,奠定良好的基础。因为对于计算机专业的学生,通过课程设计或者综合性实验能够用C语言开发一个小的软件(哪怕只有2个或者3个功能),对于他们来讲,会有一种成就感,能够给他们学习的信心和兴趣,或许一名优秀的软件设计人员会因此而产生。

通过上面我们不难看出,实验教学,不仅要引导同学更好理解理论课中的一些算法、语法、设计思想,更重要的是,通过实验课,我们将那些枯燥的理论转化为自己的思想,成为自己编程的利器。由此可见,增加实验教学的学时数,是提高C语言教学效果的一个前提保障,没有充足的学时数,其他的改革措施无从谈起。

2)在具体教学过程中始终贯彻任务驱动的教学机制(如图1所示)。把整个学期的实验教学活动看成完成综合性实验的一个过程,学期期末有综合性实验这样的最终的任务;对于每次课程,都有具体、明确的习题配套练习,可以看成最终任务的分割。也就是,这门课程的目的就是让学生在完成一个一个的任务中潜移默化地提高编程能力和技巧。做到这样要求,教学任务明确了,学生的学习目标自然也就明确了。任务驱动的教学机制给实验教师提出了相对比较高的要求,因而教学任务的设置变成一项非常重要的工作。表现在:

(1)实验教师要具有完整的C语言的知识结构体系,把教学大纲中的重要知识点串起来,再具体分配到每个具体的学时里,让学生掌握。最后达到让学生掌握和建立C语言的知识体系结构。

(2)实验教师要加强与理论教师之间的联系。因为学生的学习进度、基本概念、基本算法的思想都是在理论课上学习的,而实验课要巩固他们的知识,要实现算法的代码设计,要提高变成技巧,可以说任务很繁重。如果实验教学在此环节上和理论教学联系不能很紧密,会造成两个本该相辅相成的教学环节脱节,学生既没有达到实验教学的目标,理论教学的内容又得不到实践,最后我们的教学效果就难以保障了。

3)思维能力和编程能力培养并重,相辅相成。

(1)为了培养学生的良好的思维方式,我们在授课过程中应该始终贯穿结构化程序设计思想和自顶向下、逐步求精的思维方式。在分析典型问题时,要从构造算法出发,着重探讨分析问题和设计算法的思维过程,加强学生思维方式的培养。以解决闰年问题为例,这个问题本身非常经典,是一般C语言课程学习完控制结构后一般都要联习的题目,我在具体的教学过程中是这样执行的:

首先画出流程图,流程图是最能体现学生解决问题思路的方式之一。

如果学生能够画出图2这样的流程图,基本上说明他已经解决了闰年问题。剩下的部分就是将流程图的思路转化为具体的Turbo C的可执行代码。可以让学生将流程图先转化成一条条的汉语语句。

S1:测试数据Y是否能被4整除;

S2:如果S1不成立,输出“不是闰年”;

S3:如果S1成立,继续判断是否被100整除;

S4:如果S3不成立,则是闰年;

S5:如果S3成立,继续判断是否被400整除;

S6:S5成立,则输出“不是闰年”;

S7:S5不成立,则输出“是闰年”;

有了清晰的思路,学生建立了解题的方法,剩下的内容就是根据C语言的语法规则将上述语句转化为C的代码即可。

(2)C语言教材中的课后习题非常丰富,许多题目的针对性也很强,教师应该对其进行归纳、整理和分类。针对同一类问题时不要逐题练习,应该在重点练习典型题目的基础上,拓展学生思路,引导学生归纳和总结求解一类间题的基本算法,达到举一反三的效果。

4 结束语

针对“C语言”教学相关的若干问题,我们提出了正确认识实验教学,摆正实验教学的位置。并将“任务驱动”的教学法引人到实验教学的各个环节中。实践证明这些教学方面的探索,在实验教学中取得了较好的教与学的双向效果。帮助学生建立了完整的课程知识体系,激发了学生的学习积极性和主动性,培养了他们的算法思维能力,提高了综合编程能力,最终完全达到了预先的教学设想和效果。

参考文献

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

[2]栾咏红.C语言课程案例教学模式的探究与思索[J].内江科技,2007(11):153.

C语言实验课教学 篇4

课程名称:C语言程序设计

课程属性:必修(限选)

实验属性:独立设课

适用专业:光伏发电技术及应用、光伏材料加工与应用技术、新能源应用专业 学时:(实验学时 34)

应开实验学期:第二学期

应开实验项目数:

实验类型:综合性、验证性

一、本门课程实验的目的与要求

通过实验,加深学生对C语言的理解,掌握数据类型、模块化程序设计、指针、数组、指针及结构体、共用体和枚举类型的定义及使用,会写选择型程序、循环型程序,要求学完本门课程后,可编写C语言小程序。

上机实验是学习C语言程序设计的重要环节。通过实验,学习C语言的特点和方法;理解计算机程序的执行过程;掌握用计算机解决问题的方法和基本的程序设计技术;学会程序的调试方法。

二、实践形式和实践环境要求

1、实践形式:课内实验。

2、实验环境要求:每人一台电脑,安装有(Turbo C 2.0,C++环境)的实验室环境条件。

三、实践总学时和实践资料

1、总学时:34学时。

2、资料:按自编实验指导书相关内容进行实践。

四、考核与成绩评定

本课程实验考核由各分阶段实验报告、期末实训两大部分组成。各分阶段实验报告占总成绩的60%,期末考核占总成绩的40%。

五、实践任务与学时分配

实验一C程序上机操作方法及运行环境

(一)实验目的与要求:

1、了解所用的计算机系统的基本操作方法,学会独立使用该系统。

2、了解在该系统上如何编辑、编译、连接和运行一个C程序。

3、通过运行简单的C程序,初步了解C程序的特点。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验二数据类型、运算符和表达式

(一)实验目的与要求:

1、掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。

2、掌握不同的数据类型之间赋值的规律。

3、学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用。

4、进一步熟悉C程序的编辑、编译、连接和运行的过程。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验三顺序结构程序设计

(一)实验目的与要求:

1、掌握字符型数据与整型数据如何通用及赋值语句的使用方法。

2、掌握各种类型数据的输入输出函数的应用方法。

3、掌握顺序结构程序的编写过程。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0环境)。

实验四选择结构程序设计

(一)实验目的与要求:

1、掌握关系运算符和逻辑运算符的使用方法及其表达式的应用。

2、掌握分支语句的使用。

3、结合程序掌握一些简单的算法。

4、学习调试程序。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验五循环结构程序设计

(一)(一)实验目的与要求:

1、掌握循环次数不确定的循环程序设计方法。

2、掌握如何用break语句退出循环。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验六循环结构程序设计

(二)(一)实验目的与要求:

1、掌握循环次数确定的循环结构程序及双重循环结构程序的设计思路。

2、掌握循环控制变量的取值范围的确定。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验七数组的应用

(一)(一)实验目的与要求:

1、掌握一维数组的定义及应用,主要注意其下标从0开始及下标越界问题。

2、掌握数组在循环的控制下其下标的灵活变化。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验八数组的应用

(二)(一)实验目的与要求:

1、掌握数组的定义、数组元素的引用及数组的初始化。

2、掌握字符数组的定义、数组元素的引用及对字符数组的初始化。

3、在综合应用中的具体体现。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境))。

实验九函数

(一)(一)实验目的与要求:

1、掌握函数的定义、说明和调用方法。

2、理解return语句的作用和使用方法。

3、掌握函数调用过程中“传值”和“传址”方法的特性、使用及区别。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验十函数

(二)(一)实验目的与要求:

1、掌握函数的定义、说明和调用方法。

2、理解return语句的作用和使用方法。

3、掌握函数的嵌套调用和递归调用的定义及编制方法。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验十一编译预处理

(一)实验目的与要求:

1、掌握简单的宏定义和带参数宏的定义及其应用,并理解宏展开实质。

2、掌握文件包含和条件编译的应用。

3、清楚带参的宏和函数的差异。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验十二指针

(一)实验目的与要求:

1、掌握指针的概念,指针变量的定义和使用。

2、会使用指向数组的指针。

3、会使用指向字符串的指针。

4、掌握指针型函数和指向函数的指针。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验十三结构体、共用体

(一)实验目的与要求:

1、掌握结构体类型的说明和结构体变量的定义。

2、掌握结构体变量成员的引用和对结构体变量的初始化。

3、掌握结构体数组的定义及使用。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0环境)。

实验十四文件

(一)实验目的与要求:

1、掌握文件以及缓冲文件系统、文件指针的概念。

2、学会使用文件打开、关闭、读、写等文件操作函数。

3、学会用缓冲文件系统对文件进行简单的操作。

(二)参考学时:2

C语言实验课教学 篇5

[摘要]文章探讨了在C语言程序设计课程教学中引入机器人实验的必要性、意义及创新点,并讨论了在C语言课程教学中开展机器人实验应注意的几个问题。

[关键词]C语言课程 教育机器人 实验 教学改革

[作者简介]尹华(1975- ),女,赣南师范学院数学与计算机科学学院,讲师,主要从事计算机教学与应用研究;肖随贵(1956- ),男,赣南师范学院数学与计算机科学学院,教授,主要从事计算机教学与应用研究。(江西赣州341000)

[课题项目]本文系赣南师范学院质量工程项目课题“基于可编程控制机器人比赛的C语言系列课程创新实验项目”的研究成果。

[中图分类号]G424.21 [文献标识码]A [文章编号]1004-3985(2009)33-0182-02

一、“C语言程序设计”课程实验现状

目前,我国大部分高校的理工科专业都开设了“C语言程序设计”课程,而计算机科学与技术、网络工程等专业还开设了“C语言课程设计”“面向对象程序设计(C++)”等课程。通过系统地学习“C语言程序设计”课程,学生掌握了如何使用计算机语言进行程序设计,以及程序设计的基本思想、基本方法和技巧,达到通过学习相关课程使学生能够利用C语言解决实际问题的教学目标,并为后继课程打下坚实的基础。

“C语言程序设计”是一门实践性很强的课程,实验课时比重很大。例如,赣南师范学院的2008人才培养方案中C语言的实验课时增至32学时,占总学时的1/2。在进行实验教学中,大部分是验证性实验,最后是综合性实验。由于C语言的实验环境是在字符方式下进行的,实验过程比较枯燥,实验结果的表示单调,学生学习兴趣不高,学习效果不佳,导致学生的综合应用能力不高,甚至影响到后继课程的学习。因此,应该采取哪些措施,通过实验提高学生的学习兴趣,提高学生的动手能力和解决实际问题的能力,是实验教学改革的一项重要任务。为此,我们设计了一套能调动学生学习积极性、提高学生综合应用能力的实验项目。

二、在C语言教学实验中引入教育机器人

近年来,可编程控制机器人和可编程控制机器人学发展非常迅速。教育机器人是将机器人应用于教育领域,是由生产厂商专门开发的以激发学生学习兴趣、培养学生综合能力为目标的机器人成品、套装或散件。它除了机器人机体本身之外,还有相应的控制软件和教学课本等。

从教育机器人的发展情况来看,硬件技术方面已经非常成熟,设备的可靠性、灵活性、耐用性等性能都已得到社会的广泛认可。教育机器人的硬件配件多样,技术支持能力强,价格也相对便宜。控制操纵机器人的关键问题之一是软件设计,主要是通过C语言或VC++等程序设计语言进行程序设计,通过编程对机器人进行控制。这就给计算机专业的学生提供了广阔的开发平台,通过编程对机器人进行操纵,使其完成各种任务,培养了学生的综合应用能力。

用于实验创新的教育机器人种类繁多,依据可编程控制机器人可以设计出各种机器人,创造空间巨大,例如使用AS-ROBEI机器人工程创新套件就能设计一百万种机器人,如投球机器人、救火机器人、追光机器人等。

教育机器人已引起了国内很多学校的关注和重视,在教学活动中纷纷引入教育机器人并取得了良好的效果。

三、在C语言教学实验中引入教育机器人的意义及创新之处

“机器人是一种能够通过程序控制,自主完成某类任务的机器系统”,在“C语言程序设计”教学中通过“程序控制”与机器人动作紧密联系起来,应用各种程序使机器人完成各种动作(如搬运、灭火等),使教学与实验“动起来”“活起来”,提高了学生的学习兴趣、综合应用能力和创新能力,从而提高了教学质量。

在C语言教学中引入机器人实验有如下几点创新之处:(1)教育理念创新。通过引入可编程控制机器人,改变了传统的实验教学理念。一是实验中,教师引导学生自己设计与控制机器人,学生体验到学习的快乐;二是精心设计机器人实验,对学生实行个性化教育;三是通过教育机器人的实验,发展学生的多种能力,如分析能力、创造能力和实践能力等。(2)实验手段创新。创建可编程控制机器人实验室,构造开放的实验平台。(3)实验内容创新。在可编程控制机器人的开发平台上,充分发挥学生的想象力,设计制造各种各样的机器人,提高学生的创新能力。

在C语言教学活动中,通过引入机器人编程,并将其贯彻到整个教学与实验过程中,能够获得非常好的效果,具体表现为:(1)可以促进对C语言系列课程(如“C语言程序设计”“C课程设计”“C++”等)的改革创新,设计与开发创新性实验项目;(2)趣味性机器人实验,寓教于乐,激发学生学习热情;(3)构建创新实验跨越多个平台,帮助学生学习各种相关知识,锻炼学生的动手能力;(4)利用第二课堂培养学生实践能力和创新精神,组织学生参加各种机器人赛事,使学生的各种能力得到提高。

四、C语言课程开展机器人实验应注意的几个问题

在C语言教学中引进机器人实验是对传统教学与实验的深化与改革。在具体实施过程中,需要注意以下几方面的问题:

1.教育机器人的选型。在教学实验活动中,应根据专业特点、培养目标、实验经费选择合适的机器人机型,以保证实验的顺利进行。目前,国内教育机器人的生产厂商及品牌有很多,可供选择的空间较大。在选择机器人时应注意的是:首先,硬件要结构紧凑,简洁实用,软件使用C语言编程,提供字符界面或图形化界面编程,纠错能力强,功能强大;其次,结构要牢固,抗压抗摔,有较好的碰撞能力,功能较大;再次,所选机器人能满足教学和竞赛的需要;第四,有良好的售后服务体系,配套教学资源丰富。

2.实验室的设计。传统的计算机实验室环境较为较严肃、生硬和呆板。实验室的设计应该从教学和比赛的多个角度进行综合考虑,设计应遵循以下原则:(1)以人为本,营造一个有创新氛围的全新学习空间;(2)课桌四周有充分的活动空间和比赛空间;(3)力求体现学校特色,提升学校形象。

在机房空间较大的情况下可将机房与场地连在一起,便于管理;当机房面积较小时可将机房和场地分开,但距离不宜太远。场地建设依据活动的需要,因地制宜。一般来说,对于非比赛需要的场地,可以采用简易材料搭建,可让学生参与搭建过程。搭建过程应考虑搭建的场地是否适合机器人行进的路线,以及编程设计能否满足要求。学生参与搭建的过程中,分析、设计能力以及解决实际问题的能力都得到了提升。若是竞赛场地,则需要按竞赛规则和标准进行建设。

实验室建成后,应满足学生的系统化训练。学生可以利用该平台,动手组装和调试机器人,搭建检测电路,编写控制软件,获得全方位的、系统化的基础工程训练。针对计算机专业的高年级学生能进行创新训练。学生可以利用该平台,进行一些较深入的学习和研究,可以在该平台进行如人工智能,图像处理,语音识别,机器人自主导航,面向对象编程,软件工程,遗传算法等方面的研究及验证。

3.实验教学计划与实验项目的设计与制定。在设计制定相关实验项目时,应充分考虑人才培养目标、学生的特点以及学生的要求等因素,实验项目应紧密结合“C语言程序设计”等课程的知识点(如顺序、分支、循环、数据与函数等),将教学要求与机器人实验有机的结合在一起,使学生能够通过实验熟练地掌握相关知识和技能,并能激发学生的学习兴趣。

实验教学计划与实验项目的制定拟分四个阶段逐步进行。

第一阶段:以典型的智能机器人为对象,掌握基本程序的编制,电机的控制方法,以及最简系统的组装、编程、调试的方法,能够实现基本系统的各种控制,实现机器人的自主漫游等一些经典控制项目,从而使学生对机构设计、软件编制以及优化有一定的认识。

第二阶段:在第一阶段的基础上增加标准传感器,学生可以通过对典型传感器的学习,熟练掌握完整智能控制系统的编程与应用方法,为其他各种传感器与功能模块的应用打下基础。

第三阶段:在前两个阶段的基础上增加各种扩展传感器、创新模块套件及执行机构,学生熟练应用不同传感器,独立设计方案以及试验环境来实现不同功能。通过这个环节,一方面学生可以进一步了解不同传感器及执行机构的工作原理与应用方法,另一方面通过设计实验来培养学生解决实际问题的能力。

第四阶段:通过对智能小机器人的学习发展到可以使用其他各种高级机器人,以点带面,举一反三地推广到其他各种高级机器人控制系统的应用,并且逐渐增加难度,体现由浅入深、层层深入的原则。

4.教师角色转变及培训。教师必须熟练掌握机器人实验的要领,指导学生进行实验。教师应在教育观念上进行转变,教师不是教学的控制者,不是知识的灌输者,而应成为学生学习的引导者、帮助者,充分发挥学生学习的积极性、主动性,培养学生的创新思维。教师应在指导学生实验的过程中,引导学生领会与掌握机器人实验中所涉及的机械、电子、计算机等多种学科的知识,引导学生主动对知识进行学习与探索,不断提高自己的各种能力。以情驱“动”、任务驱“动”、协作互“动”都是为发展学生的教学目标服务。

5.虚拟机器人与实体机器人并用。虚拟机器人其实是厂商提供的一套仿真系统软件,用以模拟机器人运行。它是一个虚拟机器人的程序编辑平台和运行平台的集成环境。在实验经费和实验机器不足的情况下,使用虚拟机器人进行前期的教学和演示,能收到较好的教学效果,并且有助于学生学习编程语言、感官系统、仿真技术等知识。

在机器人仿真系统中检验程序的效果直观,容易分析程序设计中出现的问题。先通过仿真软件发现问题,问题解决后再到机器人上实践,这种做法有时候比直接利用机器人实践的效果要好。

目前,很多机器人仿真系统都支持C语言编程,如VJC仿真软件、NSTRSS 3D仿真系统、AI-CODE仿真系统等。下面以AI-CODE仿真系统为例,作一简要介绍。系统总体架构如图所示。

这套系统主要用于算法与程序设计,它是一个通用平台,支持多种语言(如C,C++,Java等),可以满足教学多样性的需要。它分为初级、中级和高级三个阶段,既可以通过图形化编方式(流程图式的编程方式)进行程序设计,也可以利用代码编辑器(CodeCanvas)转换到C、C++、java 等常用语言下的代码编程。所有设计的代码都可以在AIRobot 环境下以虚拟机器人的形式进行竞技、演示等各种交互,仿真能力很强。在仿真系统调试通过以后,再移植于实体机器人中运行,让机器人在真实环境中工作,以检验实际效果。

[参考文献]

[1](美)Robin R.Murphy.人工智能机器人学导论[M]. 杜军平,等,译.北京:电子工业出版社,2004.

[2]杨丽,李伟.机器人创新设计开放实验教学模式的构建[J].中国科教创新导刊,2009(5).

[3]彭绍东.论机器人教育(上)[J].电化教育研究,2002(6).

C语言程序设计实验课程教学探索 篇6

C语言程序设计作为一门重要的程序设计语言入门语言, 在课程体系中的地位不言而喻。盐城师范学院将C语言程序设计作为计算机专业本科生程序设计课程的基础核心课程, 已有多年历史。该课程对培养学生计算思维、编程能力、自学能力和分析解决计算机问题的能力有着至关重要的作用, 并对后续课程, 譬如算法与数据结构、数据库原理、操作系统等核心课程的学习有非常大的支撑作用。但是, C语言中概念多、难点多、语法复杂、设计到的硬件知识多、使用灵活、不易调试等特点, 容易导致学生出现畏难情绪, 极大地遏制了学生的学习兴趣。本文针对以上问题就该课程对应的实验课程做几点思考, 从课程内容、教学方法、教学手段等几个方面进行大胆改革, 积极投身教学实践, 结果显示我们的改革能取得较好的效果。

2 传统教学模式存在的问题 (Defects of traditionalteaching model)

C语言程序设计实验课程是计算机专业进入大学后要学习的第一门程序设计实践课程, 它对提高学生编程兴趣和动手能力有着至关重要的作用。或者说, 该课程是热爱编程和害怕编程的两种学生的分水岭。传统教学模式在实际教学过程会存在以下问题[1]。

(1) 生源的计算机基础参差不齐, 有些学生进入大学前就已经通过计算一级考试, 有些学生还没有接触过计算机。进入大学后同一平台学习程序设计, 后者明显感觉到有压力, 自信心受打击从而出现厌学的情绪。

(2) 传统教学模式的过程以教师为主体, 学生被动的学, 对于实践性很强的课程, 学生逐渐丧失兴趣, 缺乏学习的动力。C语言程序设计实验课程上, 如果只是简单的做些验证性实验, 则不能培养学生独立编程解决问题的能力, 极大地扼杀了学生的创造力。

(3) 由于被动的学习, 造成只是照本宣科, 缺乏钻研精神, 导致学生在后续专业课程或参加设计性、综合性实验课程时, 往往力不从心, 达不到预期的教学效果。

(4) 教师对课程教学目标不明确, 认为将该课程的语法知识传授给学生就达到教学目的, 这样就背离了通过学习C语言应该培养学生能够用编程语言去分析和解决实际问题的能力的宗旨。

3 改革方案 (Project of innovation)

C语言程序设计是一门实践应用性较强的学科, 在日常的教学过程中需要不断强化实验环节, 让学生在操作实践过程中不断地发现、分析和解决新问题。为了实现上述目标, 教师在教学过程中必须要结合有效教学理论的要求, 努力改进教学方法。

3.1 精心设计好教学内容

案例教学教学法的理论依据是构建主义学习理论[2]。构建主义者认为, 教学设计要发挥学习者在学习过程中的主动性和构建, 教师的职责在于使学习者置身于探索知识之中, 为他们提供适当的“情境”[3]。在设计案例时, 要兼顾不同基础的学生, 不能让实验课变成少数人的实验课。因此, 我们将教学内容按层次组织。第一个层次为基本知识, 所有的学生都必须能够通过自身的努力顺利完成, 这样可以极大提高学生的学习积极性。第二个层次为对所学知识简单的应用, 这个层次对基本概念和方法加深理解, 需要学生通过自己的钻研、参考课外资料, 发挥自己的学习能力。通过这一层的学习, 所有的学生应该能够学会主动积极地查阅文献, 切实提高自己的钻研和自学能力, 同时也能鼓舞学生的斗志。第三个层次是用所学知识去解决实际问题, 真正做到培养学生的创造力。这个层次需要通过大量的思考和联系才能达到, 同时也能选拔出具有一定天分的学生。

3.2 激发学生的学习兴趣

兴趣是最好的老师, 同时兴趣也是学好程序设计的关键, 而培养学生对C语言程序设计课程的兴趣关键在于实验课。激发学生的学习兴趣的关键莫过于让学生有解决实验中碰到问题的能力, 不会因为C语言本身的问题丧失学习的信心。比如, 让学生掌握调试手段。首先我们使用一个有趣的现象引出为何要使用调试工具, 以及调试工具使用方法。例如, 我们给出如下所示代码, 请学生写出运行结果。绝大部分学生会给出从246到255的十个数。运行的结果告诉他们结果应该是一个死循环, 这样会激发学生的想知道原因的兴趣。

#include

int main ()

{

unsigned char a;

for (a=246;a<256;a++)

printf (“%dt”, a) ;return 0;

}

我们用VC++ 6.0的调试工具, 在循环体语句前设置一个断点, 执行debug, 并执行单步调试, 发现当a为255后for循环并没有能停止, a的值变成了0, 如图1和图2所示。这时学生会回忆起unsigned char类型的变量取值范围为0—255。当变量a值为255时再加1就回头变成了0。这样学生会对调试工具的使用有一个非常深刻的印象, 同时也会明白掌握调试工具的重要性。更重要的是, 极大地激发了学生的学习兴趣。

3.3 设计考核体系

目前许多高等院校C语言程序设计课程学习成绩的评定, 仅以期末一张考试卷的完成情况而定, 这使得很多学生不重视实验课, 认为实验课学得好与不好对成绩影响不大, 很多学生重理论、轻实验[4]。我们将考核贯穿整个学习过程中, 每学完一个知识点进行一次考核。考核的方式灵活多样, 可以通过诸如答辩、课后撰写小论文、完成实验报告等方式。考核过程中发现的问题决定教师教的过程, 可以通过集中讲授、设计思考题、提供参考资料等方式解决学习过程发现的问题。

4 结论 (Conclusion)

多年来, 我校在C语言程序设计实验课上进行了改革的尝试, 许多老师积极参与教学改革, 取得了辉煌的成果。我们一直在努力寻找提高学生对C语言程序设计实验课程的兴趣、最有效的教学手段, 为计算机专业学生提高动手能力、编程思维能力做出自己的努力。

参考文献

[1]王创伟, 汤克明, 蔡长安.“C语言程序设计”教学改革方案与实践[J].现代计算机, 2010 (10) :23-25.

[2]温彭年, 贾国英.建构主义理论与教学改革:建构主义学习理论综述[J].教育理论与实践, 2002, 23 (5) :17-22.

[3]储岳中, 秦锋, 刘哄申.“C语言程序设计”理论与实践一体化教学的几点实践[J].计算机教育, 2012 (12) :22-25.

高职高专C语言实验教学探讨 篇7

“C语言程序设计”是高职高专医疗器械维修专业的一门专业基础课, 通过该门课程的学习, 有利于培养学生的逻辑思维能力和程序设计能力, 为学生综合能力的发展起了重要的作用。学习“C语言程序设计”课程, 应该有别于传统的理论课程, 不能只是去学习了解一些语法语句等基础理论知识, 也不能停留在仅仅看懂书上的程序, 而是要熟练地掌握程序设计的全过程, 并在此基础上, 尽可能创造性地完成新项目新课题的程序设计工作。在今天的环境下, 如何让学生上好实验课、学好C语言是大家共同面对的新课题[1]。对于高职高专学生, C语言教学的主要目的不是让他们掌握多么深的理论知识, 而是重在培养他们程序设计的思想, 让他们能编程, 会编程。因此, 在C语言的教学过程中, 我们强调理论知识适度够用即可, 强调将理论知识融入到编程实践中去讲解去学习, 这就要求我们更加重视实验教学的重要性, 更加重视对学生应用能力的培养。

本文通过分析传统实验教学中存在的问题, 针对高职高专学生的实际情况, 结合多年的教学实践, 提出了相应的改革措施。

1 高职高专C语言实验教学现状

1.1 学生基础太差, 缺乏基本的自学能力

C语言课程的学习对学生的综合能力要求很高。学生要掌握这门课程, 既要有一定的阅读理解能力, 还要有较强的逻辑思维能力和编程能力。而高职高专院校学生的高考成绩普遍较低, 自学能力较差, 且大多没有很好的学习自律精神, 课前不预习, 课后不复习。在这种情况下, 学生在C语言实验课上往往不会编写程序, 只会把书上的程序原封不动地输入到电脑, 结果编写程序变成了打字练习, 实验效果很差。

1.2 课程难度大, 学生厌学情绪很重

C语言课程是高级程序设计语言的经典课程之一, 是大多高校选择开设的最基本的编程课程。在C语言的教学过程中, 即使是很多本科院校, 学生也觉得课程的难度很大。而对于基础远低于本科生的高职高专学生, 其学习的困难程度可想而知。很多同学在最初学习时, 出于对程序设计的神秘感, 往往会表现出较大的学习热情, 但是, 随着学习不断深入, 发现编程很困难, 又会表现出很重的厌学情绪。

1.3 重理论, 轻实践

在C语言教学课时安排上, 很多院校为实验课分配的学时不足, 过分注重理论教学, 忽视上机操作的重要性。C语言程序设计是一门实践操作性很强的课程[2], 学生学习C语言的首要目的就是要掌握如何利用它来编写程序, 这就要求在C语言的教学过程中, 要更加重视培养学生的编程实践能力。

1.4 评价机制单一, 过分注重考试结果。

单单以最终的期末考试成绩来评价学生, 往往会使学生不注意平时上机实践的积累, 同时, 部分学生为了得到高分, 往往在上机考试中拷贝别人的程序, 不利于保证评价的公正性。目前, 由于对实验环节缺乏合理的评价办法, 对学生平时的上机实践不能起到有效的促进作用。

2 C语言实验教学改革与探讨

2.1 开放实验环境, 定期安排教师指导

因实验课时的限制, 学生在学习C语言的过程中, 能在课堂上进行上机实验的时间有限。学生不可能在如此短的时间内练习掌握所有的知识, 还需要利用课余时间上机练习。这需要学校能为学生创造好的实验条件, 尽可能多地对学生开放实验室, 保证学生能灵活地利用自己的课余时间进行实践操作。

同时, 由于学生编程基础差, 在上机实践过程中, 碰到一些问题, 初期往往无法自行解决, 这又会挫伤学生上机实践的动力和热情, 久而久之, 学生编程会感觉越来越难, 容易自动放弃。因此, 根据实际情况, 定期安排教师在实验室进行上机指导, 将有利于学生实践能力的培养。

2.2 分组实验, 提高效率

实验教学的通常做法是教师安排实验题目, 学生按要求上机练习, 遇到问题时举手, 教师为其解答。一个班级只有一名教师进行上机辅导, 而班级人数往往很多, 学生在上机过程中碰到问题, 教师往往不能及时给于解答。而且学生所问的很多问题非常相似, 教师经常要为相同的问题解释多次, 从而降低了教学效率, 影响了教学效果。

如果在学生一人一机的基础上, 对学生进行分组, 允许学生在实验过程中就碰到的问题进行小组讨论, 甚至组与组之间的讨论, 那么, 学生就能在轻松愉快的相互合作中解决很多问题, 这样既能使学生在相互合作中享受学习的乐趣, 同时还有利于培养学生主动学习的意识。而教师只需汇总各组均无法解决的问题, 为全班同学解答。在教学中采用这种做法, 可以在有限的时间里尽可能提高解决问题的效率。

2.3 在教学中注重引导, 提高学生的自学能力

古人说:“授人以鱼不如授人以渔”。在教学过程中, 不仅要注意传授学生相关知识, 更要重视培养学生的编程思维, 帮助学生掌握正确的程序设计思想, 最终才能提高学生的自学能力。这就要求我们在日常的上机实验中, 必须坚持以学生为主体的原则, 尽量避免直接回答学生提出的问题, 而要注重引导学生正确地分析程序, 举一反三地思考, 培养学生自行解决问题的能力。

2.4 完善考核机制, 重视实验过程

考核作为一种教学评价的主要手段, 对教学有着非常重要的调节促进作用。通过考核, 可以检查学生学习的效果, 帮助学生了解学习中存在的问题, 使学生有针对性地解决这些问题, 不断提高自己程序设计的能力。

重视考核在教学中的作用, 改变传统单一的考核机制 (期末考试制) , 改为重在过程的考核方式 (包括平时考核、实验考核和期末考核) , 提高平时考核和实验考核在总成绩中的比重, 加强对学生平时上机实验的考核, 使学生认识到程序设计的学习不能单纯地去掌握理论知识, 更重要的是注意平时的上机实验, 考虑如何将已有的知识运用到实践, 提高自身的程序设计能力, 这才是学好C语言的关键。

2.5 开展课内课外竞赛, 鼓励学生积极参与

良好的实践教学对提高学生的实践能力、创新能力及个性发展起着十分重要的作用[3]。开展课内课外竞赛, 有利于调动学生上机实践的积极性, 增加学生上机实践的动力和热情。比如, 在课堂上, 教师布置一个实践题目, 将学生分成多个组参与课内编程竞赛, 如果在规定时间内顺利完成编程, 可以给于小组每名成员考试加分的奖励, 这样能使学生更加重视日常的上机练习, 而不是只关注期末考试。另外, 还可以鼓励感兴趣的学生成立C程序设计小组, 指导学生参加程序设计大赛, 参与各类小型软件项目的设计开发等。

3 结束语

本文通过对C语言实验教学中所存在的问题进行分析, 针对高职高专学生的实际情况, 结合自身的教学体会, 对C语言实验教学作了一些探讨, 并从教学实际出发, 提出了一些解决问题的办法, 取得了良好的教学效果, 对C语言实验教学的开展有一定的指导作用。但同时, 我们也认识到, 教学质量的提高是一个反复实践反复摸索的过程, 不可能一蹶而就。我们只有坚持实践, 不断深入思考实验教学的好方法, 完善实验教学管理体制, 才能保证不断提高教学质量和教学水平。

摘要:针对当前高职高专C语言实验教学中存在的一系列问题, 对如何改善C语言实验教学效果进行了探讨, 提出了一些可行性办法。教学实践表明, 这些办法有利于提高学生上机实践的积极性和主动性, 有利于改善实验教学效果。

关键词:高职高专,C语言,实验教学,教学改革

参考文献

[1]陈网凤, 张盛华, 高晓蓉.程序设计语言实验教学模式改革初探[J].牡丹江教育学院学报, 2005, 93 (5) :94—95.

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

基于反馈机制的C语言实验教学改革 篇8

1 目前C语言实验教学中存在的不足

目前在C语言的实验教学中有部分老师采取使用统一的实验指导书,统一进度的模式,这种模式的不足是显而易见的,因为是统一的实验指导书,因此同一个实验项目大家的实验内容都一样,这会使得有些同学认为太难而又有些同学认为太简单。同样,采用统一的进度会造成有的同学跟不上进度,又有的同学觉得进度太慢。采用这种实验教学模式的老师大多受到目前理论教学模式的影响,因为在理论教学时一般由授课教师按教学计划进度统一讲解。还有一些老师在C语言实验教学过程中针对上一种模式做了改进,一般认为在一个班级里学生的C语言掌握情况大致可以分为这三个层次,第一个层次是停留在语法层面,第二个层次是熟悉语法并可以顺利完成教材后的习题,第三个层次是可以设计数据结构和算法解决一些实际问题。于是在实验指导书上加以改进,分为易、中、难3个部分由学生自由选取。这同样存在问题,如学生不知道自己该选择什么难度的才是最适合自己的。

在开展实验教学时若只是给出实验任务然后交给学生去完成,这样往往很难取得良好的实验教学效果,若引入反馈机制,则能较好的实现个性化教学,做到因材施教,学生做实验的兴趣也能大大提高,而且目前做C语言实验一般都是一个学生一台电脑,网络环境也相对完善,因此也方便开展这种个性化的教学。

2 反馈机制包括的主要方面

反馈总体来说应该是双向的和多回合的,既有老师给学生的反馈,又有学生给老师的反馈。老师需要从学生的反馈中知道学生的基本情况,并跟踪情况的变化,学生需要从老师的反馈中知道自己下一步该做什么。

2.1 关于实验编译工具熟悉情况的反馈

在C语言实验教学时老师应尽量提供目前主流的编译工具,并指出各自的优缺点,演示各编译工具的基本使用方法,这样可以确保学生可以使用任意一款主流的编译工具进行C程序的编辑、调试和运行。之后应从中选择一款作为实验教学用,作为指定使用的这一款就应要求学生熟悉掌握其各个功能并注重使用这些功能。俗话说“磨刀不误砍柴功”,既然要用这款工具当然要熟悉这款工具。比如若选用VC++6.0作为编译工具,则它的单步调试功能、监视功能、断点功能等都应首先演示给学生看,学生就可以在以后的实验当中慢慢尝试使用并最后熟练应用。此外开发工具的帮助文档也是必须的,如VC++6.0的MSDN不仅需要在实验机器上安装好,而且还要演示给学生它的使用方法以及一般在什么情况下适合使用等等。之后,可以设计一个专门针对实验编译工具的实验项目,并从实验过程中收集学生使用的情况并反馈给学生什么方面还必须进一步熟悉。

2.2 C语言编程规范的反馈

要编写出高质量的程序代码,首先必须养成良好的编程规范,这样写出的源代码清晰易读,这应该从一开始学习程序设计就应该要注重的一个问题。一个大的软件项目一般是由多人协同开发而成,如果没有一个统一的规范则在模块集成时容易出问题,同时也会增加维护阶段的工作难度。作为教师可以给学生先提供一个相对完善并相对主流的C语言编程规范,然后在后续各个实验中通过查看学生提交的源代码,若发现不规范的现象应及时反馈给对应的学生在编程规范的哪方面还做得不够。

2.3 各个具体实验项目的反馈

实验项目可按层次进行组织,可分简单、中等和综合三个层次。所谓简单层次即停留在基本语法的掌握上,强调基本知识及基本程序的设计和编写;中等层次即能运用所学知识灵活解决一些小问题,强调所学知识的熟练应用;综合层次即整个实验项目是为完成一个具体的大任务而设置的,里面可能包含一些复杂的算法设计以及包含一些C语言的高级内容,强调知识的扩展。初次实验由学生根据自己的情况申请对应层次的实验项目,在初次实验完成后将实验报告及存在的问题应反馈给老师,老师在下一个实验中就可以给出合适的实验项目并反馈给学生需加强的方面。这样下一个实验是在取得上一个实验反馈的前提下开展,使得不仅可以解决不同学生的实验进度问题,也可以解决不同学生对实验难度有不同需求的问题。

3 反馈机制的实施平台

反馈机制的实现需借助一定的平台才好实施。目前开展C语言实验的机房大多具有网络环境,并安装有网络教学软件,并且主流的一些网络教学软件产品,一般包括网络广播、屏幕监视、遥控辅导、在线考试、联机讨论、文件传输、网上消息、电子举手等功能。可以利用这些功能在一定程度上辅助实施反馈机制。若没有安装网络教学软件产品,也可利用一些即时通讯软件,FTP,电子邮件等来辅助实施。但从使用效率及效果考虑,最好还是自己开发一个更加方便实施反馈机制的平台,该平台在设计时应充分考虑使用的方便性及什么工作是可由系统自动完成的,这样可以在提高效率的同时大大减轻任课教师的工作任务。

4 结束语

如何更加有效的开展C语言实验教学还需要不断的探索及改进,采用反馈机制模式可以在一定程度上实现个性化的实验教学,以求达到理想的语言实验教学效果。

参考文献

[1]丁海燕,等.C语言实验教学体系及改革措施[J].实验技术与管理,2010,27(11):179-181.

计算机C语言实验教学方式分析 篇9

目前各高等院校的计算机专业都开设了C语言课程, 此项课程具有处理问题周密、逻辑性强、实践性强等特点, 重在培养学生良好的思维方式和程序设计风格, 因此实验环节在此门课程教学中占据着重要比例。所以, 更应该在保障理论教学的基础上加强实验教学, 该如何充分利用有限的C语言实验教学学时高效地激发学生编程兴趣和动手能力成为当下高校教学的研究热点。

1 高校计算机 C 语言实验教学现状

1.1 理论与实践不能相辅相成

理论与实践是目前教育科学中极为敏感的话题, 而当今教育常出现理论孔洞陈旧、严重脱离实践的现状。例如计算机C语言实验教学是将实践课放于重要位置, 实际动手操作为此要。但理论课程上的内容也较为枯燥、繁琐, 降低学生对此门课程的学习兴趣[1]。通常会在课堂上看见, 部分学习会因理论知识的缺失失去对实验操作的耐心, 则利用实验操作的时间浏览网页, 从而导致理论与实践不能相辅相成的发挥作用, 学生实验操作能力自然无法得以提高。

1.2 学生兴趣不高

如果从心理学角度分析, 兴趣是一个人研究或认识某种知识的心理特征, 当学生对某一学科有兴趣时就会持续地其专心致志的钻研, 进而提高学习效果。它具有很现实、很活跃的心理成分, 在学习活动中起着十分重要的作用。若对于计算机C语言教学, 教师和其他课程教师相同, 都会存在一个弊端, 即占据课堂的主体地位, 学生被动地坐在下方听, 无法观察学生的实际情况和对知识的理解程度, 长此以往, 导致学生降低对该门课程的学习兴趣。

1.3 学生学习目标模糊

目标达成是个体从事一项活动中最直接的动力, 若目标过高会直接影响进行活动的积极性。学习目标是预期学生在从事学习活动中所能产生的结果, 一旦这种预期过高或学生通过学习未能产生某种变化, 那么就会使其丧失继续学习积极性。目前很多学生对计算机C语言学习的重要性还未充分意识到, 觉得才该门课程无太大的意义, 因而不会产生学习兴趣, 也有部分学生觉得枯燥无味, 更愿意花费时间学习当下流行的开发性语言, 出现上述现象的直接原因就是没有树立明确的学习目标, 从而导致学习效果不佳[2]。

2 计算机 C 语言实验教学有效方法

2.1 课前准备

教学大纲能帮助教师了解教学内容, 可以说教师的教学和学生的学习都在大纲的协助下挖成, 教师只有充分掌握了教学大纲中的所有知识点, 才能更好地在实验教学中体现出来。教师除了要提升实验题目的新鲜感, 激发学生兴趣, 还要符合教学大纲基本要求。计算机C语言编程较枯燥, 所以应使用恰当的方法调动学生的学习兴趣, 例如C语言中的三种基本结构, 在设计实验教学内容时可根据每一模块的知识点为基础, 突出难点和重点知识, 让学生明确自身要学习的内容。此外, 教师要在上实验课之前提前练习所有实验题目, 便于及时发现所设计教学内容中的问题并加以解决, 节省课堂时间。教师还需提前调试实验机器, 避免实验过程中不必要的麻烦。

2.2 合理设置教学内容

高校院校相对于普通高等教育培养学术型人才而言, 更倾向于培养高等技术应用型人才, 重在培养学生分析问题和解决问题能力。计算机C语言实验教学主要是引导学生打破传统的思维模式, 提高上机的学习兴趣, 培养学生调试程序能力和自主实验的方法, 所以, 合理地安排实验内容是实验教学的前提。具体有以下几方面:1) 突出内容难点重点;根据计算机C语言实验教学教学大纲和实验大纲要求制定详细的实验计划, 然而C语言理论知识多而复杂, 从而在设置实验内容时既要保证学生通过实验掌握理论难点、重点, 还要考虑实验是否能和基础理论相对应。例如在学习输入输出语句章节时, 可以设置以下实验:

在输入字符时运用%c格式, 空格字符会相应地作为有效字符输入, 然而”%d%的运用刚好前者相反, 其数据结束以空格字符为主。学生非常容易混淆这个知识难重点, 也是计算机C语言考试中出错率最高的题目。2) 激发学生动手操作兴趣;初期学习计算机C语言会混淆语法, 觉得理论知识枯燥范围, 不愿意在实验课上动手操作。所以激发学生主动地思考实验, 激发对编程的兴趣, 有利于提高实验兴趣。某著名文学家曾说过:“成功的教学在于激发学生学习兴趣, 并不是强制其学习, 因此可以选择一些趣味性极高的实验例子贯穿于C语言程序实验课内容中。例如在讲数组时, 可以数组记录以所教学班级每个学生的身高, 之后应用排序查看每个学生身高在班级的具体位置是, 由此一来, 既能调动学生的积极性, 也能促使学生自主思考学习[3]。

2.3 改革教学方法

(1) 自主编程。学生通过教师所创设的学习环境已有所了解实际问题, 后续可独自编程。通过编程上机操作能发现自己所编程的程序中是否有隐藏的语法、逻辑错误, 调试程序发现可改进之处及潜在疏漏, 促使自身形成良好的解决问题逻辑思维。教师也应给学生创造提出问题和想法的机会并引导学生在编程实践中探索其规律性, 只有这样学生才能在面对实际问题时举一反三。自主编程可避免传统实验课中散漫现象, 训练学生知识反馈能力和反应能力, 最重要是能在学生中形成和平竞争的良好学习范围, 促使学生从被动学习过渡至主动学习。同时也应督促学生形成编程习惯, 所编写的程序要顾及“服务对象”的感受, 细微处彰显实力, 有利于成为合格的程序编写人员。

(2) 开放实验室协作学习。首先确定实验协作小组;根据学习任务要求进行分组, 将整体学习小组分割晨若干个小群体, 促使学习者从个体学习状态转变至协作学习状态, 学习竞争关系也改为“组际竞争”和“组内合作”。其次确定学习任务;教师在设计实验时应保证协作小组都有学习任务, 以此增大学习对实验题目的接触面, 有利于学生建构和积累知识。代码练习主要为了加强学生对实验室学习内容理解程度并为学生提供了实验室环境外的编写程序的机会。编程练习和代码练习的目的一致的, 都在于综合提炼所学内容, 培养学生动手实践和勤于思考的良好习惯。第三构建协作环境;协作环境在开放实验室的协作学习中是至关重要的, 它会影响学习任务是否能按预期目标完成。

(3) 建立多元评价体系。计算机C语言是一门实践能力要求较高的课程, 其具体评价注重学生综合表现, 可在给定实验成绩时从以下方面评定:1) 实验前准备工作;编程是C语言主要实验内容, 如果学生到实际上机操作时才思考设计程序, 基本不可能完成实验, 必须在课前写好部分实验代码。2) 良好的编程风格;所谓编程风格即个人习惯, 一旦养成不好的编程习惯, 后期改正就十分困难, 所以必须从学习初期引导学生树立良好的编程习惯。3) 小组练习的表现;大型软件编程需一个团队共同协作, 因而培养学生的合作能力也是实验课目的之一。总之, 多元化评价体系有利于提高学生逻辑思维能力和良好的编程习惯, 进而提高学生在计算机C语言学习方面的综合能力。

3 结语

总而言之, 在高校计算机C语言教学过程中, 教师应根据学生实际情况构建有效的实验教学体系, 让学生从枯燥无味的语言学习中解救出来, 增强学生的编程意识和学习兴趣。高校院校也应改革当前计算机C语言实验教学方法, 制定出理论和实践相结合的教学方案, 不断探索和尝试实践教学, 提高教学质量, 从而培养出和当下社会所需的优秀人才。

摘要:在计算机课程教育中, C语言是其基础课程, 在传统C实验教学中存在较多问题, 其中包括理论和实践结合不紧密、学生兴趣不高、学生学习目标模糊等问题, 严重影响了计算机C语言实验教学质量。本文在对计算机C语言实验教学现状分析基础上, 探析其有效教学方法。

关键词:计算机,C语言,实验教学

参考文献

[1]王晴.高职院校C语言网络实验教学的探讨[J].读写算 (教育教学研究) , 2012, (24) :116.

[2]孙干.面向实践能力培养的C程序设计教学实践改革探讨[J].电脑知识与技术, 2011, (21) :5263-5265.

高职院校C语言教学探讨 篇10

关键词:C语言;教学改革;教学方法

一、引 言

《C语言程序设计》是计算机专业的必修课和其他理工科学生的重要基础课程,由于覆盖面广、应用广泛,对于学生的基本编程素质的培养有较大的影响而备受重视。如何更好地完成教学目标,让学生真正掌握C语言,深入了解其精髓,值得每个C语言教学工作者不断探索。

当前,在高职高专院校,《C语言程序设计》课程一般都设置在一年级,学生从高中的基础教育转向学习全新的编程性的语言,学习难度比较大。主要有以下几个原因:一是学生的英文底子普遍薄弱,而C语言英文运行环境,对于运行过程和提示错误根本看不懂,导致上机调试困难重重;再加上对程序主观上认识过难,无形中挫伤了学习的积极性。二是学生的数学基础也比较差,一些编程算法都需要数学思想来支撑。诸多原因造成了C语言教学效果不佳,而对其掌握的程度如何,直接影响到后继相关课程的学习和掌握,甚至是整个专业的后继发展。

笔者根据多年的程序设计课程的教学实践,对《C语言程序设计》课程从教学内容、教学手段、教学方法等方面行了一些改革,并取得较好的教学效果。

二、教学改革措施

1.精简内容,培养兴趣

C语言语法繁多,学生初步接触容易有惧难情绪,因此第一堂课的教学显得尤为重要,它是能否激起学生学习热情的关键因素。一般建议在第一堂课介绍一些应用C语言的小项目,比如嵌入式开发驱动程序的编写、学生注册信息系统的管理。向学生演示运行一些信息管理系统及遥控电风扇运转的一些代码,让学生了解这门语言的一些基本功能,激发他们的学习兴趣。同时用每年获得大赛的学生的事迹激励他们,讲讲学好这门课的方式方法,帮助他们树立学好这门课的信心。

2.案例引导,项目驱动

以谭浩强主编的教材《C程序设计为例》为例,教学内容主要包括C语言语法基础、程序控制结构、数据类型、数组、指针、函数、文件以及它们的应用等。教材在内容组织上,虽然依逻辑思维方式进行了归类,但难点还是较为集中,跨度大;概念讲得多,分析少。再加上高职高专院校的学生,有相当一部分入校时,分数低,数学基础较差,逻辑思维能力不是很强,如果按照书本章节一步步讲下来,学生会产生畏难情绪,学习兴趣开始降低,以往一些学生在第三章节数据类型及表达式还没有完全上完心底就已经开始放弃这门课了。所以在上这门课的时候,建议采用“案例引导、项目驱动”[1],把课程学习内容联系真实环境,提出各种问题并形成主题任务,进行任务驱动式教学;将学生置于发现问题、提出问题、思考问题、探究问提、解决问题的动态过程中学习。比如第二次授课,就可以提出做一个管理信息系统,先和学生进行基本的功能分析,然后逐步地以实现每一个功能将各个章节的知识点融入进去讲解,以任务驱动教学[2],让学生真正了解语法为编程服务,而不是单纯的死记硬背一些语法知识。

3.建立良好的网络资源平台,促进师生互动

教学中涉及到的很多知识较抽象和难于理解,因此需要学生课下对课程的重点难点进行进一步消化和理解。因此,应该采用行之有效的办法来帮助学生解决在自主学习中可能遇到的一些问题,比如学生需要进行自主学习的一些教学资源,需要一个进行问题探讨交流的空间,以及教师需要及时地掌握学生自主学习的情况等等。为此,需要建立关于这门课程的学习网站,分别设置课程学习模块、在线练习及在线测试、学习资源建设、参考文献资料、教学论坛等。笔者在完成一个院级项目的过程中建立了一个关于C语言的重点课程建设网站:重难点动画演示课程中涉及的比较难理解的算法以及知识;常见问题解答以章为单位,由课程老师共同建设,不断的加以充实,逐年积累;利用留言板功能建立课程的论坛,教师可以根据自己的教学内容在其中创建话题(发帖),学生也可以在上面对自己的疑问发帖,针对这些话题学生被允许在课题后面发表自己的看法并与教师或其他同学交流,这一功能消除了传统教学中教师只能当面答疑的时空限制,学生能在讨论板上提出自己的问题,而教师可以对具有代表性的问题做出统一解答,避免重复解答,从而提高了教学效率及学习的主动性,同时教师可通过总结学生提出的问题对教学内容做出适时调整。

4.重视上机实践,注重综合考核。

C语言是一门实践性很强的学科,除课堂上的理论讲解外,实验教学也是至关重要的。由于学生是第一次接触程序设计,许多概念都是很抽象的,因此,要求在课程内容的安排上循序渐进,由浅入深,逐步引导。实践课除了需要携带教材以外,另外还需要与之相配套的实验指导书和实验报告册,对于实验指导书可以选择与课本相配套的,教师也可以根据自己的教学需要和学生的实际情况编写合适的实验指导书。对于这门课程学习结果如何,不是一张试卷就能给出答复。我们追求的不是学生懂了多少语法,而是能做出什么,所以对于这门课程,对学生学习成绩的评定,建议采用综合考核法,将平时的实践成绩与期末卷面成绩进行综合,得出本课程综合考评分。这样才能更加客观地反映学生的学习情况,同时也能更好地促进学生平时的学习。

三、结 语

C语言的教学需要不断探讨,我们应在教学过程中不断模索,化繁为简,多钻研教材教法,使学生将所学知识转化为实际工作的能力,提高学生的实际工作水平、综合素质和就业竞争能力,为企业提供适用型的人才。

参考文献:

[1] 邓云洲.案例教学在教学基本要素上与传统教学的区别.教育发展研究,2001,(12).

上一篇:传统阑尾切除术下一篇:公路建筑材料