APP下载

应用型高校计算机专业《C语言程序设计》课程教学方法探讨

2014-04-29贺杰

现代企业教育·下半月 2014年4期
关键词:C语言程序设计C语言计算机专业

贺杰

摘要:在当今应用型高校计算机专业课程中,C语言程序设计是一门入门级的程序设计语言。在日常的教学过程中,教师与学生普遍认为C语言难教也难学,本文从C语言课程的教学内容、教学手段、教学方法等方面介绍了如何教好这门课程,学生如何学好这门课程。本文针对C语言课程的五种常用教学法作了详细的论述,培养学生分析问题及解决问题的能力,并对提高学生的实际编程能力,调动学生的学习积极性,对提高教学质量起到了促进作用。

关键词:C语言教学方法学习方法任务驱动

《C语言程序设计》是计算机专业的核心课程,是最先开设的程序设计类课程,是《数据结构》、《软件工程》等后续专业课的基础课程。程序设计语言C兼有汇编语言和高级语言的双重优点,运用它既能编写操作系统软件,又能开发各个领域的应用软件。C语言的实用性使之成为学习编程的首选语言。学好了C语言,再进一步深造C++/VC++,JAVA等言语,就有了坚实的基础。但目前很多学生在学习《C语言程序设计》后,感觉读程序还凑合,编程则“难于上青天”,甚至部分学生整个课程学完却毫无编程思想可言,仅仅是为应付考试而死记硬背,完全背离了高校计算机专业把C语言程序作为所有程序设计类课程的入门课程的初衷。因此,如何在C语言教学中启发并训练学生的编程思维,是每个教师应深思的问题。以下是我在多年从事C语言教学中的一些看法。

一、教材

我校计算机专业本科《C语言程序设计》课程选取的是由谭浩强主编的,清华大学出版社出版的《C语言程序设计(第二版)》一书,该教材是国内各个高校公认的计算机专业C语言学习的经典教材和权威。教材结构设计合理、内容详尽、逻辑严密、解释清晰易懂,在对C语言语法的阐述上无可挑剔。但学生反映该书有一定难度,有些应用过于深奥,所以我们建议学生,如果有需要可以自行购买或去图书馆借阅该教材的配套练习教程,可以更好的加深理解。

二、入门

C 语言是高校计算机专业所有编程语言的入门语言,而C语言的入门应该在第一堂课上,那么如何上好《C语言程序设计》的第一堂课就是至关重要的。因为学生都是初次接触C语言,甚至是第一次接触编程语言,C语言对他们来说是神秘的,而“兴趣永远是最好的老师”,有了兴趣他们才会积极主动地去自主学习,所以第一堂课的成功与否直接关系到学生能否对这门课产生兴趣,所以我觉得第一堂课应为本课程的地位介绍、应用介绍及学习方法介绍。

1、地位介绍

我在第一次C语言课程上我会展现程序设计语言发展的一个关系图,如图1所示:

图1程序设计语言发展关系图 通过这个图示,学生可以更好的了解C语言的发展过程,C语言和其他编程语言的关系,对于掌握C语言的定位和该课程的重要性有一个直观的认识和了解。并且知道C语言是学生今后学好后继课程的基础,比如C++,JAVA等。虽然程序设计语言更新很快,但如果真正掌握精了程序设计思想,具备了真正解决实际问题的能力。语言更新就算再快,可程序设计的本质是不会变的,编程的思想是不会变的。

2、应用介绍,激发兴趣

要激发学生的兴趣。首先要让大家知道C语言的强大功能,利用它我们能编写各种软件,大到Windows95操作系统的内核,小到一个个身边玩过的小游戏,通过幻灯片向学生展示各种运行结果画面,例如从50年代玩的摇杆游戏打飞机到如今的电脑游戏贪食蛇。相信这时有部分学生已经有些“蠢蠢欲动”了,恨不得立刻学好C语言,自己也能开发这些应用。兴趣有了,学习的动力就自然有了。

3、传授C语言的学习方法

对于应用型高校来说,动手能力是我们在日常教学过程中,非常看重的,C语言是一门实践性课程,要理论结合实践,加强学生的动手能力,解决问题的能力,在学习方法上给以学生指导,告诉学生如何自学,如何听课,如何动手实践,明确一点:“C语言是看不会的,也听不会,而是亲自动手实践练会的”,强调实践的重要性。我们课程组织上就可以看出来,C语言课程每周一次理论课程,一次上机练习,第一次课上我会强调C语言的上机实验课对大家的重要性。

三、C语言教学方法

1、抽象到形象的转化

让学习过程变得轻松有趣是激发学生兴趣的关键,C语言本身是一门极其抽象难懂的课程,把抽象的问题形象化,使本来枯燥无味的C语言变得魅力无限,符合学生的认知规律,可以使教学过程收到良好的效果。例如讲到C语言比较难得概念指针,我在教学过程中让学生把指针理解为箭头,指针变量存地址值,就是存箭头所指空间的地址,这对学生理解指针的概念有很大帮助。

2、采用问题启发式授课

针对C语言概念多,语法繁杂的现实,采用问题启发式教学可以将哪些难以理解、难以记忆的概念和规则变成一系列的问题呈现在课堂教学中,这样就能把学生的注意力集中起来,学习积极性调动起来,达到师生互动的效果,教师提出问题,自己回答为主,而与学生有问有答,互问互答为辅,改变单调死板、照本宣科的教学方法。这种启发式、讨论式、交流式的教法,不仅改变原来的灌输式的教学方,而且增强了学生自主学习的能力,激发了学生学习的兴趣。

3、“引申法”

所谓“引申法”是指是结合已经解决的问题,因势利导,引导学生在此基础上解决相关联的问题。“引申法”可以培养学生在程序设计方面的发散思维。提高程序设计中的应变能力。问题是活的,但程序是有章可循的。最终使学生明白,语法是有限的,可解决的问题是无限的。只有在分析实际向题的基础上,以清晰的思路去设计算法,才能举一反三,以不变应万变。例如:最简单的从1加到100,while、do-while、和for都能实现,我写了for循环实现的代码,让学生自行改写用while和do-while实现的方法。

4、“框架法”

“框架法”主要体现在两方面:一是在学生有了一点编程基础后要利用伪代码或流程图,从算法设计的角度讲解编程思路,而不应拘泥于语法细节,不分主次、逐条语句的讲解代码。通过框架,可使初学者对函数设计的关键问题有清晰的认识,如主函数和子函数,被调函数等,利于从全局的角度去考虑问题,分析问题,体现了程序设计逐步求精的思路。这样可以层次分明,突出算法设计的关键,有利于培养学生的编程思路。二是在学习函数时,由于新的算法已很少,主要是学习用函数调用的方法来重新编制以前所熟悉的程序,那么我们可以把着眼点放在函数的设计框架上,体现函数访问控制设计、参数设计、返回值设计等关键问题,而无需细讲函数体的实现细节。

5、“任务驱动法”提高学生自己解决问题的能力

(1)提出任務

在课堂教学中,首先要提出一个在教学时间内可以完成的具体任务,这是任务驱动法的开始,也是重要环节。关键之处就在于任务的设计,其内容必须是正在讲授的相关知识点,其形式必须贴近学生日常生活,必须是学生感兴趣的东西。只有这样,才能营造宽松的教学环境,提高学生动手实践的积极主动性。

(2)分析任务

教师在提出任务之后,采用多媒体演示或讲解的方法,对完成任务所需相关知识点的内容进行介绍,消除学生对整个任务的陌生感,并且可以给出完成该任务的思路。这时,教师处于中心地位,发挥主导作用,学生通过老师介绍,对任务有了一个基本认识,并且对完成任务的基本步骤有了一个大概的了解和规划。

(3)执行任务

教师根据“教学任务”所展示的内容,让学生开始训练,即边学边做。根据学生掌握程度的不同和教学任务的难易程度的区别,教师可以采取多种形式,如:① 教师把整个任务过程完成一遍,由学生照猫画虎,再做一遍;② 教师仅给出思路,由学生按要求完成相应任务;③ 教师给出整体思路和操作步骤,由学生独立按要求完成相应任务。在此过程中,学生处于主体地位。在教师的引导下,学生充分发挥学习主动性和创造性,不仅让学生亲身感受认知的过程,而且培养、提高学生解决实际问题的能力和创新意识。

四、结束语

在当今应用型本科高校,计算机专业的C语言程序设计的教学要讲究方法,通过这门课的学习,不仅要使学生掌握语言的基本语法规则,而且要切实培养学生自己独立的分析问题,解决问题的能力,培养学生的创新精神,团队意识,为学生学习其他编程语言打下良好的基础。

参考文献:

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

猜你喜欢

C语言程序设计C语言计算机专业
“以赛促学,以赛促教”促进计算机专业教学理念创新与实践研究
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
职业高中计算机专业教学改革浅析
论子函数在C语言数据格式输出中的应用