“C程序设计”专业基础课程中三种能力培养的教学探索

2009-01-18 07:44祝胜林邢仲璟林丕源
计算机教育 2009年20期
关键词:C语言教学探索程序设计

祝胜林 邢仲璟 林丕源

摘要:“C程序设计”课程是信息类专业的专业基础课程,该课程的教学质量直接影响后续专业课程的学习。本文将课程教学质量的提高转化为三种能力的培养,即学习能力、应用能力和知识迁移能力,探索通过三种能力的培养提高“C程序设计”专业基础课程的教学质量。

关键词:C语言;程序设计;能力培养;教学探索

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

1引言

掌握一门高级程序设计语言是高等院校学生利用计算机解决实际问题的必要条件之一,而C语言是当前国内外广泛使用的高级程序设计语言之一,因此“C程序设计”成为计算机科学与技术、软件工程、网络工程等专业的基础课程。该课程的教学水平不仅影响本课程的学习效果,而且影响后续课程的学习效果,所以提高该课程的教学质量具有十分重要的意义。

“C程序设计”课程传统的教学模式是“理论+实验”。理论教学一般采用“计算机+投影+黑板”的教学设施,教学课件是PPT文档,教学方法是教师控制PPT播放的进度,边播边讲,学生边听边记笔记。实验教学包括验证实验、设计实验和综合实验三种类型。一般采用“实验指导书”的教学材料,学生根据“实验指导书”的安排进行实验。该教学模式比较适合教师对教学进度进行控制,教师处于“主动”地位,而学生处于“被动”地位。

2问题的提出及相关研究

2.1问题的提出

通过对学过该课程的学生和后续专业课程的教师进行教学效果调查,发现传统教学模式中存在如下不足:

(1) 学生的反馈。课程的语法知识太多,理解和记忆都不太容易,即使记住了语法知识也不一定能灵活应用,程序调试不容易通过,独立地编写程序更难等。

(2) 后续专业课教师的反馈。语言基础不牢固,学过的知识如何应用到新的课程还有些困难;适应新的开发环境能力差,动手编写程序的能力弱,缺乏克服困难的主动性等。

在传统的“理论+实验”教学模式下,加强学习能力、应用能力和知识迁移能力的培养成为提高教学质量的关键问题。

2.2相关研究

针对“C程序设计”课程传统教学模式存在的不足,探索诸如“建构主义教学方法”、“案例教学法”和“项目教学法”等教学方法在该课程的应用成为研究热点。

建构主义认为,知识不是通过教师的传授得到的,而是学习者在一定的情境,即社会文化背景下,借助其他人的帮助,利用必要的学习资料,通过意义建构的方式来获得,学习的质量是学习者建构意义能力的函数,而不是学习者重现教师思维过程能力的函数。建构主义教学方法已经在”C程序设计”教学中得到了一定的应用并且取得了较好的效果,但这些方法对教师的组织能力和学生的参与水平有比较高的要求。

“案例教学法”是目前国内外比较流行的一种教学方法,被普遍应用于医学、法学和管理学等学科的教学,也被广泛应用于计算机教学中。“案例教学”有助于提高学生的学习兴趣和分析与解决问题的能力,但设计和编写教学案例会给教师增加额外的负担,而且选择能够激发学生学习兴趣的教学案例也不太容易。

“项目教学法”是通过实施一个完整的项目来实施教学活动,通过理论与实践教学的有机结合,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。该方法有助于提高学生应用知识的能力,但对学生的克服困难、认真钻研的主动性要求比较高,如果过程监控不到位,则可能出现严重的抄袭问题。

本文研究在“理论+实验”的教学模式下综合应用各种教学方法的长处,既不过多增加教师的工作量,又提高学生三种能力的培养水平。

3注重三种能力培养的教学探索

“C程序设计”课程专业基础课程一般在第一或第二学期开设,面向大学新生,中学应试教育的学习方法已经不能完全适应大学的学习内容,因此教师在课程中应注重对学生学习能力、应用能力和知识迁移能力的培养。

3.1注重学习能力的培养

“C程序设计”课程包括C语言知识、结构化程序设计思想等内容,学生开始学时候比较认真,对所学内容掌握较好,但大部分同学过于注重细节,习惯机械记忆,随着知识点的增多,机械记忆容易出错,逐渐失去学习兴趣。因此笔者从课前预习、课中听讲和课后复习三个阶段引导学生把握学习的主线。

(1) 课前预习。课前对将要学习的内容作一个概要性的预习,让学生对学习内容有个初步了解,分清重点和难点,提高学生的听课效率。为了取得较好的预习效果,要提前布置预习内容,然后对预习内容进行检查,譬如将单选题测验、概念提问等检验的情况记入平时成绩。

(2) 课中听讲。引导学生认真听讲,首先要有充分准备的教案,其次要进行适时的课堂提问,再次对学生课堂笔记进行检查,譬如课后用2~3分钟随机抽查部分学生的笔记,检查的情况也记入平时成绩。

(3) 课后复习。为了督促学生及时地复习,要布置一定的作业题,下一课要对复习的效果进行考查,考查情况也记入平时成绩。

经过一段时间的督促,大部分学生能够适应三阶段学习方法,逐渐提高自己的学习能力。

3.2注重应用能力的培养

程序设计课程重在应用,在应用中掌握语言的语法知识、编程思想,将抽象的概念和知识形象化,有利于知识的理解与记忆。本文应用“案例设计”的教学方法、“项目开发”的教学方法探索对学生应用能力的培养。

3.2.1 “案例设计”的教学方法

案例设计是“案例教学”应用于“C程序设计”课程获得成功的关键,一般由教师完成。由于教师与学生的知识背景和阅历不同,兴趣点不可能完全一致,所以教师辛苦设计的案例并不一定能引起学生的兴趣。为此,笔者引导学生进行案例设计,即“案例设计”的教学方法。

“案例设计”的要点包括:(1)经典教学案例的讲解。通过讲解使得学生掌握案例设计的步骤、方法。(2)案例征集。用“头脑风暴”法激发学生的灵感,促进优秀案例的产生。(3)案例评价。案例展示、学生评价、教师评价、优秀案例答辩等形式的案例评价,有助于提高学生的参与意识。(4)案例库完善。案例库存放所有学生的案例设计及评价,有助于学生进行意义建构或学习探究等。

3.2.2“项目开发”的教学方法

“案例设计”形成的案例其实就是项目的需求分析,对案例进行编程实现有助于学生获得真实的项目开发经历,进一步明确注释、编程风格和开发记录等对项目成功实施的意义。

“项目开发”的要点包括:(1)数据模型。要区分数据或结果的存储方式是内存还是外存,内存方式可以是变量、数组或链表,外存方式是文件。(2)功能规划。包括功能安排和菜单设计。(3)函数规划。根据功能要求明确函数调用关系。(4)函数设计。包括函数的原型、数据传递方式和功能实现。(5)系统调试。应用项目管理的思想,对系统进行整体调试和完善使用说明的编写。(6)项目评价。项目实施情况按指标进行等级评价,争优的项目需要参加答辩。

3.3注重知识迁移能力培养

不少同学认为,C语言太灵活,容易出错,直接应用C语言开发系统的机会很少,这影响了他们学习“C程序设计”课程的积极性和主动性。其实,每一种高级程序设计语言虽然各有特点,但它们之间存在许多共性的东西,学好了C语言,对学习其他高级语言有较大的帮助,这就是知识迁移能力。因此,在教学过程中,除了要注重学习C语言本身,更要注重学习高级语言的共性。

(1)IPO思想。一般程序都包括输入(Input)、处理(Process)和输出(Output)三部分,编写或分析程序分成三个部分有助于简化问题。

(2) 结构化思想。三种基本结构、复合语句和结构嵌套。任何复杂的结构都可以细分为这三种结构,结构化读写和分析程序有助于提高学习效率。

(3) 模块化思想。宏、函数、方法或过程就是程序模块,C语言是一种函数式语言,函数是C程序的模块。模块化可以将一个复杂的问题简化,有助于问题的控制与解决。

在程序分析或设计中,注重上述高级语言程序设计的共性,有助于培养学生的知识迁移能力。

4结束语

根据对2003级、2004级计算机科学与技术专业学生学习效果和教学反馈的数据分析,发现在现有的教学模式下,通过在“C程序设计”专业基础课程中培养学生的学习能力、应用能力和知识迁移能力,大部分学生不仅提高了学习C语言、应用C语言解决问题的能力,而且在语言学习方法、程序设计思想和编程实践积累的经验等方面都取得了较好的学习效果。

参考文献:

[1] 祝智庭. 现代教育技术——走向信息化教育[M].北京:教育科学出版社,2002.

[2] 蔡红. 建构主义教学方法在“C程序设计”教学中的应用[J]. 理工高教研究,2007,26(4):98-99.

[3] 邱力,郭小平.“C语言程序设计”案例教学探讨[J]. 江西教育学院学报:综合版,2006,27(6):50-52.

[4] 付兴宏,罗雨滋. 项目教学法在“C语言程序设计”教学中的应用[J]. 辽宁师专学报,2007,9(2):41-43.

猜你喜欢
C语言教学探索程序设计
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
“C语言程序设计”课程混合教学探索
基于C语言的计算机软件编程技术探究
中职C语言单片机课堂教学中的趣味性探讨
计算机原理中C语言的应用价值
基于素质教育视角下的民族高校逻辑学教学探索与实践
高中数学课堂中德育溶合的探索