“C语言程序设计”课程教学实践与创新

2009-06-18 05:05郝惠馨李秀坤辛明影
计算机教育 2009年15期
关键词:C语言程序设计指导方法实验教学

郝惠馨 李秀坤 辛明影

摘要:本文根据“C语言程序设计”课程的内容及特点,探讨了如何在“C语言程序设计”实验教学中采用科学的实验教学手段和方法,合理组织实验教学,培养学生的学习兴趣,激发学生自主学习的热情,从而提高学生的实践与创新能力,为提高教学质量,培养高素质计算机人才打下良好基础。

关键词:C语言程序设计;实验教学;指导方法;实践与创新能力

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

1引言

“C语言程序设计”是一门实践性很强的课程,在实验中编制、调试程序是学习和研究C语言的最根本的方法,作为实验指导教师,在实践教学中如何改变教学方法,把教学重点转到帮助学生主动学习、参与动手、形成能力上来,转到组织学生开展自主型学习、探究型学习和合作型学习上来呢?我们充分利用上机实验这一教学环节,努力改进实验指导方法,达到在实验中提高学生各方面综合实践能力的目的,为学生进一步学习其他专业课程和今后从事软件开发工作打下坚实的基础。

2采用科学的教学方法,培养学生的学习兴趣

随着计算机的发展与普及,大部分新生在上大学之前,就掌握了一定的计算机知识,具备一定的计算机操作能力。但是从整体上看,学生的基础很不一致,而且大一新生初入大学,对新环境、新学科感到陌生,甚至有的同学认为计算机课就是上网和玩游戏,对基础和理论学科不感兴趣。如何根据学生的实际情况,让学生爱学、乐学,最根本的是要从求知活动本身入手,让学生体验到学习和探索的乐趣。这就有必要在“C语言程序设计”教学中采用创新的教学方法,来提高学生的学习兴趣,培养学生的创造力和实践能力。在“C语言程序设计”实验教学中,主要从以下几方面对学生进行了创新教学实践。

2.1关注计算机发展历史,激发学生的学习热情

计算机的发展历史只有几十年,但是这几十年的发展对社会生产力的促进,是非常巨大的,学生对这些历史并不是很了解。书本上除了介绍了世界上第一台电子计算机的诞生,至今经历了四代(由逻辑元件变化划分)以外,关于计算机的历史介绍很简单,其实每一代的发展都有不少精彩的故事,故事本身对学生的影响远胜于知识本身。例如C语言的产生是从一个叫做“Space Travel”的电子游戏开始的,Ken Thompson为使它能在PDP-7上运行,用汇编语言给PDP-7写了一个操作系统——UNIX,他感觉汇编语言太不好用了,需要高级语言,于是在BCPL基础上,自己设计了一个B语言,后来UNIX开始发展,B语言也不够用了,Dennis Ritchie加入,把B改造成了C,并用C重写了UNIX。

我国的计算机发展起步较慢,到目前仍处于追赶外国的阶段。因此我们要利用计算机的发展历史,对同学们进行创造教育和爱国主义教育,让学生多了解一些发明创造的事迹,使学生学习发明家献身科学、百折不挠的创新精神,从中受到启迪。

2.2引导学生自己动手,使学生从好奇到产生浓厚兴趣

例如,在初次上机实验之前,我们为学生布置了一道实验题目——身高预测:影响孩子成人后的身高的因素主要有遗传、自身性别、饮食习惯、体育锻炼等。已知父母身高、孩子性别及是否有良好的饮食习惯、是否经常体育锻炼,要求学生事先有一个大致思路,上机实验时编好程序,求出孩子身高。这道题学生拿过来一看非常简单,只是简单的输入与输出,但学生上机后发现,看似简单的题实际上并不一定那么简单,程序并没有得到预想的结果,而且编译没有问题,错误不易被检查出来。学生这时就会产生好奇,得不到正确的结果的原因会是什么呢?经过启发研究,通过跟踪变量发现,原来是SCANF函数的问题,知道产生问题的原因后,学生就要想办法来解决这个问题,学生经过自己动手,最终解决了问题,在不断地遇到新的问题,并解决出现的问题的过程当中,学生的学习兴趣日渐浓厚,他们会主动去思考同一问题是否还有其他的解决办法,或自己找一些与课程相关的题目来完成。

2.3开展丰富多彩的活动,互帮互学,共同进步

在实践初期,实验教师要将查找资料的方法和途径告诉学生,使他们学会利用网络这个强有力的工具,学会运用自己所学去解决遇到的问题。如指导教师给定的题目中,要用到这样一个函数:srand( ),教材中给出一部分关于此函数的相关知识,学生还可自己上网查阅关于此函数的更多相关用法。广泛地阅读书籍、论文,利用互联网等资源,通过动手实践来解决问题,学生的视野会变得更宽,思考得更深入,不会单纯地受到一个教师、一本书或一个作者的思想和能力的束缚,从而在实验的过程中,增加学习本课程的兴趣与信心,这时可以开展活动可以让同学们互帮互学,共同进步。

这些活动内容可以是学习经验介绍,小发明小创造,也可以是某一方面问题的调查报告。还可以进行学生作品演示活动,由学生讲解并演示自己的作品,让同学们体会优秀的作品好在哪里,一般的作品哪些地方还需要改进。好的解决方案向更多的同学推广,这样使每位同学的创新思维大大加强,从而提高同学们学习的兴趣和热情。对在此过程中出现的失误和失败,也要肯定学生的探索精神。这样学生在纠正缺点弥补不足的过程中就已经使自己的实践能力得以提高,每位同学的创新思维也大大加强了。

这些活动贯穿整个学期,学生从中得到不仅仅是单纯的知识,还有创新的学习实践过程,这对他们的能力发展有很大的帮助。通过这些实践环节,学生们收获很大,一是学过的内容得到了强化,二是自学能力增强了,一些没讲过的内容通过看书、查资料、上网得到了解决,同时也更增加了对这门课的兴趣。

3实行个性化教育,因材施教、由易到难

在实验教学中应增设综合性设计实践环节,针对学生学习能力的不同程度,指导教师对学生的要求也分出层次。这样做既加强了学生实践操作的综合应用,又挖掘了学生潜在的创新意识与实践能力。

实验教师在指导时在不同时期给出不同的实验题目,实验题目有10~20个左右,供学生自由选择,把题目就难易程度和内容特点分成几类,教师做到因人而异具体地指导。对基础相对来说较差的同学,可以只完成必做的题目,基础好的同学在此基础上拔高,实验教师提出要求,让学生自己设计,自己完成。

基础部分:每个同学都要掌握实验大纲要求的内容,要求学生根据所学的知识,查阅必要的资料,毎人都要独立完成,教师只给出一般的提示和答疑,并严格把关,严禁抄袭,借此来培养和考查学生独立分析问题和解决问题的能力。

提高部分:对学有余力、有兴趣学习更多内容的同学,再多设置一些真实有趣的实验题目,这些题目有多样的解决办法和无限的发挥空间,如手机游戏贪吃蛇、五子棋、蓝黄棋、文曲星猜数游戏、电脑游戏推箱子等都可以让学生自己来做。实验教师不应给出题目的解决办法和思路,至多只能提示一下思考方向,完全让学生通过自己的能力来解决问题。学生从选题、查阅资料、制定设计方案,再到设计一步一个脚印地走过来,一定会有所收获。

渗透部分:可以让几个学生做一个创新性、设计性、综合性实验,即大作业,毎人分一部分,教师做到因人而异具体地指导,同学间可一人完成大家共享。做到完成者不但知其然而且还知其所以然,享者知其然即可,这样做既可使毎人重点突出,又能保证整个体系的完整。

开拓部分:学生完成程序基本要求后,实验教师可以启发学生对与实验题目相关的问题展开探讨、研究,还可以让学生自己设计一些动画、图形界面等,这样做,既拓宽了学生的视野,又培养了学生的综合能力。

4努力为学生的创新能力发展创造机会

创新是对未知的探索与求解,教学不仅要向学生传授知识和技能,还要创造必要的条件,真正体现“以学生为中心”的思想,培养学生独立创造的个性品质,培养他们的创新素质,使他们主动参与到教学活动中,从而去发现新知识,培养创造性思维能力,即培养学生的创新意识和实践能力。

对软件实验中心来说,为学生们提供什么样的平台,怎样帮助他们进行创新设计是我们一直在思考的问题。目前我们实验室已为学生提供了创新实践的场地和环境,并提供相应的帮助,让他们可以在课余时间充分利用网络寻找素材,去完成一些自己感兴趣的课题。

5结束语

总之,通过“C语言程序设计”实验的改革与创新,采用科学的实验教学手段和方法,积极发挥实验教师的引导作用,激发了学生学习的积极性,调动了学生学习的主动性,全面提高了他们的综合实践能力,学生在学习本课程时遇到的问题,都会在实验中基本得到解决,通过实验,有些知识得到更进一步的理解,而不用再死记硬背。学生直接简便地掌握了课程的基本内容,教学中的重点、难点也易于掌握,学生对知识掌握的深度普遍提高。学生在实验中自己理解和发挥的成份增多,知识水准有大幅度提高,为后续的课程教学奠定了坚实的实践基础。在以后上数据结构、操作系统、编译原理等专业基础课时,同学们会尝试着多做一些实践,通过上机调试来自己解决遇到的问题,那么学习效果一定会事半功倍,这使得学生的自主学习的能力大大提高。

参考文献:

[1] 苏晓红,陈惠鹏,孙志岗,等. C语言大学实用教程[M]. 北京:电子工业出版社,2004.

[2] R•M•加涅.学习的条件和教学论[M].华东师范大学出版社,1999.

Teaching Practice and Innovation in “The C Programming Language” Course

HAO Hui-xingLI Xiu-kunXING Ming-ying

(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150090, China)

Abstract: Based on the contents and characteristics of “The C Programming Language” course, this paper discusses how to use scientific teaching methods in “The C Programming Language” experiments, reasonably organize teaching experimental, culture students interest in learning and stimulating the self-study enthusiasm of students to enhance the students ability of practice and innovation. Which would lay a good foundation for enhancing the quality of teaching and culturing highly qualified personnel.

Key words: the C programming language; experiment teaching; teaching methods; ability of practice and innovation

猜你喜欢
C语言程序设计指导方法实验教学
基于科学探究的高中生物实验教学探索
网络与云技术在实验教学中的应用
初中化学实验教学中“微课”教学模式的探讨
谈初中化学实验教学的初探
小学语文课外阅读教学
浅析强化小学语文作文指导效果
细说小学课外阅读的类型及阅读指导方法
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
农村小学生课外阅读现状分析与指导