浅析C语言项目驱动式教学
日期:2010-09-19  发布人:赵海发 李小伟  浏览量:

浅析C语言项目驱动式教学

李小伟  赵海发

[郑州交通职业学院信息工程系  河南  郑州  450062]

摘要:提出一种比较新颖的教学方式,以解决在程序设计教学过程中,程序设计枯燥、难懂等问题,一直是广大计算机教师颇感兴趣的课题.根据高职高专教育的特点, 本文结合实例展示"项目驱动式"教学法在程序设计教学过程中的一些具体运用, 以解决教学实践中出现的这些问题,并对在程序设计过程中学生发现、解决问题能力和自学能力的培养给予适当的关注。

关键字:C语言 项目驱动

引言:自1946年世界上第一台电子计算机问世以来,计算机科学及其应用的发展十分迅猛,计算机被广泛地应用于人类生产、生活的各个领域,推动了社会的进步与发展。特别是随着国际互联网(Internet)日益深入千家万户,传统的信息收集、传输及交换方式正被革命性地改变,我们已经难以摆脱对计算机的依赖,计算机已将人类带入了一个新的时代—信息时代。新的时代对于我们的基本要求之一是:自觉地、主动地学习和掌握计算机的基本知识和基本技能,并把它作为自己应该具备的基本素质。要充分认识到,缺乏计算机知识,就是信息时代的“文盲”。

而对于理工科的大学生而言,掌握一门高级语言及其基本的编程技能是必需的。大学学习,除了掌握本专业系统的基础知识外,科学精神的培养、思维方法的锻炼、严谨踏实的科研作风养成,以及分析问题、解决问题的能力的训练,都是日后工作的基础。学习计算机语言,正是一种十分有益的训练方式,而语言本身又是与计算机进行交互的有力的工具。

一、C语言的特点

C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护,C语言的表现能力和处理能力极强,它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,综合以上C语言本身的优点,很多院校都将其作为一门必修课让同学学习。

二、传统教学方法和项目驱动式教学方法

高等院校开设c语言程序设计的目的是让学生对程序设计有个入门,有个直观的理解,同时为其他后续课程作铺垫。但是如果教学仅仅以此为目的,那么教学本身就效果而言是个大大的失败。大家知道,在商业上讲究唯利是图,“利”是商业追求的目标,离开了“利”经商,则商无动力,其结果是必败无疑。在c语言程序设计教学当中,教师应该把“唯用是图”作为教学的首要目标。如果抛开了实际应用进行程序设计教学,就是纸上谈兵,就是“说明书”式的教学。其形式如下:语句格式的讲解—功能介绍—举例解释--巩固练习--上机联系。正如谭浩强教授所说的:学习方法不得法,往往采用先理论后实际,先抽象后具体,先一般后个别的方法,使人难以入门,在这个过程中,学生的学习基本上是被动的,学习不得要领,甚至产生厌学心理。

而“项目驱动式”教学又称“任务驱动教学法”,是一种在建构主义教学理论基础上的教学方法,就是让学生在一个典型的教学任务的驱动下,展开教学活动,引导学生由简到繁,由易到难,循序渐近的完成一系列任务,从而得到清晰的思路,方法和掌握知识的脉络,在学生完成任务的同时培养学生的创新意识和创新能力以及自主学习的习惯,引导他们学会如何去发现,如何去思考,如何去寻找解决问题的方法,最终让学生自己提出问题,并经过思考,自己解决问题。培养学生分析问题,解决问题以及用计算机处理信息的能力。在c语言程序设计教学中采用“项目驱动式”教学中,其形式如下:提出任务—分析完成任务的方法和步骤—适当讲解或协作学习—完成任务—交流和归纳。

三、项目驱动式教学法在C 程序设计中的应用

在c语言程序设计教学中采用“项目驱动式”教学。不仅有利于培养学生的爱好,增强自信,而且有利于培养学生的合作精神,自主学习和探究的能力,有利于学生综合素质的提高。“项目驱动式”教学就是以项目为目的,以c语言理论教学为过程,最终能用c语言设计项目,实现项目的要求。“项目驱动式”教学的关键在于培养学生“如何做什么”和“可以干什么”。

例如:我们在刚刚接触C 语言的时候可以让其仅仅利用输入、输出函数完成一个加法练习程序,即任意输入两个数,用户计算其结果,计算机也计算其结果,用户对比已确定自己的正确性,完成任务后,让同学思考正确性的判定可否由计算机来进行,一次是否可以进行多道题的计算,以及题目是否可由计算机随机抽取等等,让学生开始寻找相应,解决办法,以引出后续课程。

在讲if语句时,我们就让学生编写一个新的加法练习程序,其结果的正确性可由计算机来判断,并逐渐加深对正确性判定的要求,以更深入地讲解if语句的各种类型。

在讲解循环结构时,我们接着对上述加法练习程序进一步深化,要求其完成输入10道题,每题计算正确后加10分,并计算总分。

利用循环和选择结构解决完以上问题就要考虑是否能把上述解决问题程序作成小模块,以增强程序的可读性,这就要用到函数部分。

进一步细化程序,让计算机随机产生加法题,从而引出库函数和编译预处理的概念。

以这种方式进行教学,使学生对课程本身充满兴趣,以提高学生的主动参与意识。