非计算机专业的C语言程序设计教学实践

时间:2022-05-15 12:16:58

非计算机专业的C语言程序设计教学实践

摘要:C语言程序设计已经成为计算机公共基础课,是非计算机专业学生了解计算机、培养信息素养的基础课程。本文从教材的选择、教学内容的安排和教学方法的运用等方面对C语言程序设计课程的教学作了一些探讨。

关键词:非计算机专业;C语言程序设计;实践

1背景

随着社会信息化的不断深入,计算机不再只是专业计算机人士的独享工具,而已成为各领域的必备工具。对计算机的熟练使用和工作原理的正确理解已成为一个人信息素养的基本指标。计算机编程能力也已经是非计算机专业学生需要掌握的能力之一。20世纪90年代中后期,常见的编程语言C、VB、Java、C++等都纳入了全国计算机应用能力等级考试的范畴,同时也进入大学计算机公共基础课的讲堂。

非计算机专业学生在C语言的学习中一般存在以下特点:学生的计算机水平和能力个体差异较大,思维方式多样;计算机算法基础欠缺;对C语言专业术语接受较慢,容易犯主观错误,往往以自己习惯思维去理解C语言的语法格式;学习C语言时间很有限,上机实践不足。

为了适应非计算机专业学生的特点并解决随之产生的教学困难,笔者从教材选取、教学目标定位、教学内容取舍以及教学方法选择上作了统筹考虑和尝试。

2明确学生对象,选取适当教材

任何教学都需要首先明确其学生对象,有的放矢,才能达到预期效果。面向非计算机专业学生的C语言程序设计课程的教学目的主要是消除学生对计算机的神秘感,使其了解计算机的工作方式,学习用计算机处理问题的方法,初步具有程序设计的能力;同时也为其在将来进一步的学习、工作中能更好地理解软件的特点和生产过程,能与程序开发人员更好地沟通与合作奠定基础。因此,对非计算机专业学生学习程序设计的要求要恰当,以掌握基本内容为主。为此,笔者选择谭浩强教授专门为应用型高校非计算机专业编写的《C语言程序设计》[1]作为教材。这本教材定位准确、内容充实、语言通俗易懂、循序渐进、例题丰富,便于教学也便于自学,符合初学者的入门需要。

3合理取舍教学内容,教学过程循序渐进

“量学生之体,裁内容之衣”。在教学中,教师不应将教材内容照本宣科地交给学生,而应该根据学生的层次和其专业背景,对教学内容重新取舍,因材施教。例如在前述《C语言程序设计》教材中,对指针的解释和描述非常清楚,尤其对指针使用时的一些细节问题描述得详尽透彻[2],但对非计算机专业的学生尤其偏文科专业的学生,只需通过简单的案例和形象的类比将指针的概念交代清楚,使他们理解程序即可。又如递归的概念较难掌握,只要让学生明白递归的实质是将要解决的问题转化成为一个新的问题,而这个新问题的解法与原问题的解法相同,只是所处理的规模有规律地递减,同时有一个明确的结束递归的条件,体现在函数调用上是自身调用,无须让学生非要解决类似八皇后和背包问题。也就是说,不提学深学透,抓住最基本的内容,将初学者不常用的内容进行简化。

C语言概念复杂,规则繁多,有大量的定义、要求和格式,使用灵活,容易出错,很容易使一部分甚至是大部分学生产生枯燥无味的感觉。依照教学新三步曲“提出问题―解决问题―归纳分析”的模式,我们从学生感兴趣的案例入手,先设问学生自己如何解决问题,然后介绍程序,分析计算机如何解决,在求解具体问题的程序中分析算法,介绍程序设计的基本方法和技巧。以算法带动语法规则,在具体的问题中讲解语法规则,要求学生自己动手修改程序中指定的格式,让学生在实际问题和例子中体会这些规则和语法描绘的实际意义,使其知其然,也知其所以然,将好奇心转化为学习兴趣,枯燥无味的语法规则在学生的兴味中自然就变得有生命,鲜活明了。同时布置一些类似问题作为作业,让学生动手实践,在编制程序的过程中巩固所学方法,记住语法规则,提高设计程序的技巧,真正理解计算机实质是程序的机器。

总之,教师应在实际教学过程中将难点分散,注重循序渐进,尽量选取较简单的算法作为例子,方便学生理解概念。重点放在程序设计方法上,放在培养学生思考与分析的过程中,从中逐步提高学生提出问题、分析问题和解决问题的能力。

4灵活运用教学手段和教学方法

采用何种教学手段和教学方法,应以所教对象而定。好的教学方法能够活跃课堂,激发学生的兴趣和求知欲;也有利于教师分析问题,讲清所授内容;同时可以开拓学生的思路,达到举一反三的效果。

图形图像化方法就是将所讲内容以图形图像的方式展现出来,枯燥抽象的概念在语言文字和图形图像中得到了形象生动的演绎,既活跃了课堂气氛,又让学生很好地理解了所学内容,同时增强了学生的兴趣和信心。这种讲课方式非常适合非计算机专业学生,尤其是文科类学生,其形象思维强于逻辑思维,所以笔者在电子教案PPT中将计算机读指令的过程、函数调用的过程、指针指向的过程等都用动态图像的形式模拟描绘出来。在讲直接访问和间接访问时,笔者将谭教授针对该内容所举的例子图像化:画两个抽屉,两把钥匙。为了打开A抽屉,有两种办法,一种是将A钥匙带在身边,需要时直接找出该钥匙打开抽屉,取出所需东西,这就是“直接访问”。另一种办法是,为安全起见,将A钥匙放在B抽屉里锁起来。如果需要打开A抽屉,就需找出B抽屉的钥匙,打开B抽屉,取出A钥匙,再打开A抽屉,取出所需内容,这就是“间接访问”。通过这种形象化描述让学生懂得内存单元的访问机制,在此基础上,再上升到理论,为其最后理解和设计程序铺平道路。

类比法是教学活动很常用的一种基本方法,是通过对比找出两者的异同或者判断两者的优劣。学生在学习一个完全不同领域的知识时,源于其各自专业背景的思维惯性会使他们对同一问题在不同领域的表述和理解上产生困难。例如:见到“=”符号,同学们自然理解为“等于”,表示符号左右的内容相等,而在C语言中“=”符号只是代表赋值。遇到这种情况,作者会采取类比的讲解方法,并且作为一个重要知识点展示陈述。例如,对于上面的“=”赋值符号,为了让学生理解赋值的意思,首先让学生回忆他们在“计算机导论”课即“计算机应用基础”课中了解到的计算机读指令的方式,程序和指令都是放在内存当中的,而对内存单元的读写等同于对变量的赋值操作,这样就可以使学生根据已有的知识理解新的概念。

总之,灵活运用教学手段和教学方法,详尽地、多角度地呈现教学内容,有助于让学生准确地建立C语言的思维方式,真正地理解计算机的工作机制,进而理解程序,同时能做些简单程序的设计开发。

5结语

通过对非计算机专业C语言程序设计课程的教学实践,笔者深深体会到教材的选择、课程内容的安排、教学方法的运用不但要符合教学的目标,更要适合学生的思维特点。在C语言教学中,注重学生的思维训练,加强学生实际动手能力,调动学生的学习兴趣,提高学生分析问题和解决问题的能力,将学生引进计算机应用的新天地,使其在更高的层次上理解计算机、使用计算机,使“C语言”的学习真正成为非计算机专业学生运用计算机工具解决本专业应用问题的铺路石。

参考文献:

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

[2] 林小茶.“C语言程序设计”教学方法思考[J]. 计算机教育,2009(6):24-25.

Practice of C Programming Language Teaching in Non-Computer Specialty Students

ZHANG Ya-ping

(Information Engineering College, Capital Normal University, Beijing 100048, China )

Abstract: According to the intention, purpose and thinking trait of Non-Computer specialty student learning C language. This paper discuss on how to select teaching book, how to arrange teaching material and how to apply the ways of teaching. The practice testify what discussed here is effect.

Key words: non-computer specialty; C programming language; practice

上一篇:网络环境下自主协作教学模式研究 下一篇:武警院校非计算机专业程序设计科目选择