站得高才能看得远

来源: 作者:西城区教研部 吕品 发表于:2010-08-16 13:57  点击:
【关健词】

由于近几年来计算机和信息技术的迅猛发展,人们对计算机教育重要性的认识提高,以及我国计算机教育实验工作的深入,旧的《中小学计算机课程指导纲要》以及相配套的教材,已不适应形势的需要,必须加以修订。

因此自95年初以来,从中央到地方,全国中小学计算机教育研究中心、北京市教研部、北京市各区县教研室等部门,陆续召开了多次研讨会,对新的课程纲要进行了研讨。各次会议上讨论都很热烈,与会的教师根据各自的经验和认识,提出了很多好的建议和主张。有的观点相近,但也有很多观点分歧很大,甚至针锋相对。这一方面反映教师们对我国计算机教育事业的关心,但另一方面反映了计算机教育界观点很不统一,存在着一些亟待解决的、带根本性的问题。 怎样才能制定出一个比较科学的、比较符合实际的计算机课程标准呢?我认为中国有一句古话会给我们很好的启发:“站得高才能看得远”。也就是说,如果就事论事,是不可能得出一个比较统一的、正确的意见的。必须要用正确的理论来指导我们的工作。

一、正确的课程指导理论

一位伟人说过:“我们的实践证明:感觉到了的东西,我们不能立刻理解它,只有理解了的东西才更深刻地感觉它。感觉只解决现象问题,理论才解决本质问题。”[1] 恩格斯早在一百多年前也一针见血地指出:“没有理论指导的思维,就会连两件自然的事实也联系不起来,或者就会连二者之间所存在的联系都无法了解。... 轻视理论, ... 错误的思维一旦贯彻到底,就必然要走到和它的发生恰恰相反的方向去。”[2] 因此我们在研究课程设计时,必须明确地、自觉地用正确的理论来指导我们的工作。

仔细研究一些教师的观点,并提高到理论上来进行分析,就会发现,他们实际上有意或无意地重复了我们先辈已提出过的一些错误的或片面的主张和理论。 在课程标准和教学大纲的制定上,近几百年来国内外较有影响的理论和流派有十几个[3]。20世纪以来,对于学校课程的设计,有“学科中心论”和“儿童中心论”两种理论相对立。现在还有一种“社会中心”论,主张课程的设计应当服从社会的需要。

学科中心论

也称传统派。它的主要特点是严格按分科进行教学,每科主要以学科的特点为中心确定教学的目标和内容,不考虑或很少考虑社会的需要以及学生的兴趣,需要和接受能力,完全把成人认为应该学习的东西教给儿童。我国文革前的课程设计的主导思想,就是在引进苏联学科教育的基础上发展起来的“学科中心论”。例如数学课严格按数学科学的体系分为算术、代数、三角、平面几何、立体几何、解析几何;生物分为植物学、动物学、人体解剖生理学、达尔文基础等。

由于这种理论在我国有较深的基础,因此在计算机教师中有不少支持者。例如有的教师明确地说:“课程必须讲学科结构,否则不成为学科。”“只讲应用软件是浪费”“计算机学科的核心内容是信息的转换和算法,所以不但必须要有程序设计,而且要加强。”“不爱学是教研的任务。”

这种理论有它合理的一面。因为学科有它自己的体系和结构,在设置学科目的和内容时,必须认真考虑这些因素。但完全摈弃应用,把它排除在学科内容之外,是错误的。完全不考虑学生的接受能力和兴趣,则更是错误的。

儿童中心论

自称为进步派。这种理论的特点是,强调学生的自我发展,认为应从儿童内在的自然潜力出发需要来确定教育的目的和内容。这种理论基本不考虑教学内容的科学性和系统性,也不考虑社会的需要。这种理论的典型代表就是美国的J·杜威。他把儿童的本能作为教育的出发点,认为“学校科目互相联系的真正中心,不是科学,不是文学。不是历史,不是地理,而是儿童本身的社会活动。”“决定学习的质与量的是儿童而不是教材”。

这种理论在我国计算机教育界中影响较小但也有反映。例如有的教师说:“学生(计算机)语言不爱学,应用软件很有兴趣。”“软件用中文,有兴趣。”“CCED适合学生兴趣”“语言越少越好”等,就是这种思想的反映。

这种理论忽视了人类文化遗产的传递,忽视了系统的科学基础知识的教学,不利于学校培养全面发展的人。但这种理论要考虑在儿童的基础上来进行教学,要重视儿童学习的积极性和主动性,这些观点有其合理的一面。

社会中心论

这种理论片面强调社会对教育的制约作用,把它夸大到不适当的程度,主张完全从社会的需要来确定教学目标。“社会就是教育”是这种理论的典型口号。这种理论把学习内容按照它们在有利于社会生存上的用途来排列次序。例如这种理论的代表人物之一,英国的赫伯特·斯宾塞的学科排列次序是:算术、几何、机械学、物理学、化学、天文学、地质学、生物学和社会学。

这种理论另一个片面性是只强调社会当前需要,而忽视社会的长远需要,即人们的继续教育和终生教育需要,因此也称这种理论是功利主义的。

这种理论在我国计算机教育界中有较大的影响。例如有的教师说:“教学目的就是社会需要。学生在学校学了计算机程序设计,出去到社会上一点也没用,还要重新学习。”有的教师还建议把社会流行的“五笔字型输入法”“会计电算化”等列入计算机课程。

这种理论有它合理的一面。社会需要是确定教育目标的基本出发点之一,但不是唯一的考虑的因素,还应考虑学科本身的特点,以及学生的全面发展。

我认为,这些理论都有它们合理的一面,但也有它们各自片面性的一面。应该以唯物辩证法为指导,吸取各种流派的合理方面,舍弃它们错误的方面,在设计课程时应以实现教育目标为中心,并从我国的国情出发,从基础教育的性质出发,从前几年我们实验的宝贵经验出发,综合地思考,确定当前我国的计算机课程目标和内容。

二、制约课程设计的因素

任何时代、任何学科的课程设计,都要受到各种因素的制约。 从原则上说,政治和经济的因素是制约课程设计的根本因素。但具体地说,在课程设计时,特别在当前设计我国计算机课程时,以下几个因素应特别引起我们的重视。

1、社会生产的需要

教育的首要职能是传授生产劳动的经验,否则社会的生产就不能发展,人类的生活就无法改善。所以课程设计首要考虑的因素是社会生产的需要。

我国95年颁布的《教育法》第五条明确指出:“教育必须为社会主义现代化建设服务,必须与生产劳动相结合”[4]。在课程设计时,应该首先把社会主义现代化建设迫切需要的基本知识和基本技能安排到课程中去。 马克思在《临时中央委员会就若干问题给代表的指示》一文中曾明确地指出,教育的内容应该包括智育、体育和综合技术教育三方面。“这种教育要使儿童和少年了解生产各个过程的基本原理,同时使他们获得运用各种生产的最简单的工具的技能。”使他们把体力劳动和脑力劳动结合起来,获得体力和智力的全面发展。[5]俄国十月革命成功以后,列宁也十分重视综合技术教育。“我们决不能放弃原则,我们一定要立刻尽可能地实施综合技术教育”。他不同意从抽象的概念出发,只针对遥远的将来,而不考虑当前的现实情况;而要从实际出发,根据经济情况和社会主义的需要,采取具体的措施。

我认为马克思和列宁的这些论述,对当前我国计算机课程的设计,仍有很重要的现实意义。

我国几千年的封建教育,“学而优则仕”、八股文、科举制度等,形成了教育严重脱离生产实际的倾向。解放初期虽有很大改变,但受苏联“学科中心”论的影响,教育仍较严重地脱离实际。近几年来,又受“片面追求升学率”的干扰,教育忽视生产的需要。造成在一些人眼里,生产劳动技能不是科学,不是课程的内容。例如在计算机学科上,认为“计算机应用软件的学习不是计算机学科的内容”,“在计算机课中学习应用软件是浪费时间”等的说法就是这种思想的反映。

我们必须认真研究马克思和列宁的论述,清除脑中错误思想,才能正确地进行课程设计。

2、培养目标的要求

不同级别的学校、不同类的学校有不同的培养目标,因此对课程也有不同的要求。

我国目前的学校分为三级:初等学校(小学)、中等学校(中心、中专)和高等学校(大学、学院、专科),级别不同,教学目标就不同。就智育来说,小学的教学目标是:具有阅读、书写、表达、计算的基本知识和基本技能,了解一些生活、自然和社会常识,初步具有基本的观察、思维、动手操作和自学的能力,养成良好的学习习惯。而初中阶段的目标是:掌握必要的文化科学技术知识和基本技能,具有一定的自学能力、动手操作能力,以及运用知识分析和解决问题的能力,初步具有实事求是的科学态度,掌握一些简单的科学方法。[6]普通高中阶段的教学目标是:培养学生掌握现代社会需要的较宽厚的普通文化科学基础知识和基本技能,具有自觉的学习态度和独立学习的能力,掌握基本的学习方法,具有自主创新的精神和分析问题、解决问题的基本能力。[7]因此在不同级的学校,计算机课的要求也不相同。例如小学只是了解一般常识,一定的操作能力;而初中是掌握基本知识和操作能力和一定的解决问题的能力;高中是掌握较厚实的基本知识和科学的方法,分析问题和解决问题的能力。 我国的中等学校从性质来说,又可分为普通教育和专业教育两大类。教育的性质不同,教育的目标也不同。普通教育也即基础教育,“基础教育是素质教育,是为儿童少年全面成长打好基础的教育。”[8]而职业教育和中专教育属于专业教育性质,对学生实施职业技术教育和和专门的劳动技术教育。培养目标是为就业作好准备。因此,这两类学校性质不同,计算机学科也就有不同的要求,普通中学偏重打基础,专业教育偏重学习劳动技术和职业技术。

我们有些教师没有分清或混淆了不同类型学校对课程的不同要求。例如有的教师说:“计算机科学核心内容是算法,因此计算机课要讲算法,讲程序设计”。这就没有分清是对大学的要求还是对中学的要求。又有的教师说:“学校中讲程序设计,到社会上一点没用,要从头学起。中学应学社会流行的软件”。这种看法没有分清是对普通中学的要求还是对中专和职高的要求。如对普通中学这样要求就是完全错误的。

3、科学技术的发展

科学技术是在不断发展进步的,随着这种进步,新的知识和新的内容不断出现。因此课程相应地要适应科学技术的发展,不断地修订、删除一些陈旧的、过时的内容和知识,增加一些新的现代的科学技术知识和成果。例如五、六十年代对数计算尺的使用,是数学课的一项内容。但80年代以来,随着计算器的普及和电子计算机的出现,这项知识就从数学课中删除了,而增加了新的计算机学科内容。

但在“删旧增新”的问题上有两点应特别加以注意。一是普通教育是基础教育,“删旧增新”必须是在基本知识和基本技能的范围内来考虑吸收一些新的成果和知识。比如计算机科学中“面向对象的程序设计”是一项新的技术,但放到中学的计算机课中来,我认为是不适当的,应它不是基本知识。而如图形界面的交互技术,多媒体、网络的一些新知识是可以考虑增加的进来的。 二是学校的修学年限和每学期的课时是有限的,而“知识的海洋是无边无际的”,因此我们不能任意扩大课程的范围,来包含一切新的东西,而主要应在课程设置和知识结构上进行改革,“不是增加学生学习的总量,增加学生的负担,而是要精选内容,改进教学方法,更新教育观念,采用现代教育手段,教会学生如何自学,如何获取知识。”[9]

计算机信息技术的发展速度之快,是任何其他学科不能相比的。中央处理器(CPU)已更新了四五代,主流机种已从几年前的8位机发展到32位机、64位机,现已发展到多媒体、网络化。操作系统已从简单的DOS发展到Windows 95,应用软件也日新月异,几年前的一些热门软件现在已处于淘汰之列。计算机学科课程如何跟上计算机的这种迅速发展形势,更是需要认真研究的问题。完全跟着潮流走是不可能的,我们只能精选内容,把典型的有代表性的、迁移性强、发展性强、能有效地促进智力发展和能力培养的教学内容吸收进来。

4、儿童身心的发展

课程教材要受儿童身心发展阶段的制约,也就是要受儿童年龄特征的制约,学生认知能力的制约。课程教材的内容要适应儿童的认知能力,不能太深,也不能太浅。

计算机科学有它自己的逻辑体系,即科学的体系。但受儿童认知能力的制约,中小学计算机学科的体系,就不能完全按照计算机科学的体系来安排,必须在科学体系的指导下,按照学生的年龄特征,建立自己的学科体系,以适应学生“循序渐进”地学习需要。

如何在科学体系的指导下建立合理的学科体系,一直是计算机课程教材设计中研究探讨的重要课题。例如有的中学计算机教材把大学的一套体系完全搬来,甚至用到小学的教学中去。有的教材“程序设计”部分,按照计算机的科学体系,先讲抽象的“算法”,再讲具体的“程序设计”。这犹如对没见过任何苹果、梨和香蕉的孩子们大讲水果的特性一样,是违反教学规律、不符合儿童身心发展的,因此也是行不通的。

5、社会经济文化的发展

我国地域广大,人口众多,又是发展中国家,因此各地发展极不平衡。一些发达地区如上海、广东、北京等地的经济文化发展,已接近一些较发达国家的水平;但也有不少的地区,如“老少边穷”地区,在经济发展的需要上。在教学经费、师资队伍、仪器设备、图书资料等都存在很多问题。因此课程教材的设计要适应这种国情。国家教委提出的“一纲多本”的原则,即大纲“是一个统一的基本要求,允许一部分教材高于大纲,一部分教材符合大纲要求,另一部分教材基本符合大纲”[10],就是针对这种现实提出的。

计算机对于我国仍是一种“贵重的仪器”,设置计算机课要有较大的资金投入,因此更需要对不同的地区采取不同的政策。就是同一地区,由于机型配置不同及其他条件不同,要求也应该有所区别。例如重点学校和机型配置较好的学校,要求可以高些;而普通学校和机型配置较差的学校,要求就可以低些。甚至同一学校不同学生也可以有不同要求。总之,绝不能用同一标准去要求全国各个地区、各个学校的所有学生。

三、注意几个特殊性

1、我国国情的特殊性

最近国家教委收到了两封信件,一是联合国(UNDP/CPR)首席技术顾问大卫·艾伦写的;另一封是纽约市立大学约克学院传播技术级电脑中心主任黄哲操写的。信中他们对我国的计算机教育事业提出了很多好的建议,但也以美国为例对我们发出了警告:“以BASIC语言为中心的课程是第一大危害者,...工业国家十年前的经历,如今似乎正在中国中学计算机教学最先进的上海重演。”“如不彻底改变方向,一切证据表明中国中小学计算机教学将面临最大的灾难。”

对于这样严厉的警告,我们应如何看待?我认为当然应当认真地研究他们的建议和批评,吸取其中有用之处。但我认为最根本的是,最了解中国的是我们自己,中国和美国相比较,在经济发展上,在文化传统上有很大的差别。在美国是好的办法,在中国不一定是好的;在美国行不通的,失败的,在中国可能会成功。我们已经有了十几年的计算机教育经验,我们必须根据我国的国情,来决定我们的政策。

我国国情对计算机课程有较大影响的我认为有以下几个特点:

(1) 我国是发展中国家,计算机起步较晚,一般的学校中中老年教师没有学过计算机知识,年青教师虽在学校里学习了一点,但由于计算机发展迅速,他们学的知识与现在的计算机差距很大。另外我国教育特点是重理论轻实践,造成我们的教师和家长,动手能力较弱。所以要让一般学科教师在自己的学科中使用计算机,还是十年、20年以后的事。因此我国目前中小学的计算机普及教育,还主要靠学校,主要靠计算机学科教师。

(2) 我们中国人是很聪明的。一些西方心理学家曾说过,由于汉字这种象形文字的学习,中国孩子的大脑要比西方的儿童发育要早。我们学校在数学上严格的培养,使中国的儿童在数学能力上,在逻辑推理的能力上要大大超过美国的孩子。所以像BASIC这种逻辑很强的计算机语言,对于美国儿童学习可能较困难,但对中国儿童就不是困难的事。十几年来我们在小学、初中普及LOGO和BASIC 语言,都得到了较好的效果;我们的计算机奥林匹克队在每届国际比赛中都获得金奖,特别在1996年参赛的4名队员,全部都获得金奖。这也说明了我国的学生在学生计算机语言上的优势。所以BASIC语言的教学在美国是失败的,但在中国却不一定失败。我不赞成在小学和初中计算机课中把BASIC作为普及性的语言要求全体学生来学习。但在部分学生中作为课外活动,完全是可行的,是学生可以接受的。而且从大学生中的反馈信息中,也没有由于中学学习了语言“造成大学学习障碍”,反而有利于他们的学习。

(3) 我国是一个地域辽阔广大的国家,各地区发展极不平衡,有的学校已配置了几个高档的计算机机房,但也有的学校还在为粉笔发愁。所以我国的计算机教育也应适应这种情况,采取相应的措施。

2、计算机学科的特殊性

(1) 计算机科学是一门技术性实践性较强的科学,因此它与理论学科如数学、物理等有很多区别。它有理论但更注重实践,更偏重技术和应用。

(2) 计算机学科是一门新兴学科,才几十年历史,而像数学、物理学科已有上百年历史,教学已成体系,有一套较成功的办法。而计算机教育完全是新的,还在实验阶段,不能简单地武断地否定一种做法,肯定另一种做法,要允许做各种试验,例如以应用软件学习为主,或以程序设计为主。

(3) 计算机技术发展异常迅速,比其他学科知识的更新速度要快得多。曾有一位教师说,如果我离开数学教学十年后,再回去教课,还可以胜任。但如果我离开计算机教学五年,再回来教学,就要重新学习了。计算机教学内容的更新之快,是任何其他学科所不及的。

(4) 计算机教学对机型的依赖程度,要比物理、化学对试验仪器的依赖程度要大得多。所以计算机课程设计要综合考虑学校主要机型以及社会主流机型。

四、几个需要商榷的观点

1、一些教师认为“按布鲁纳的理论,课程必须讲学科结构,计算机科学的核心内容是算法,所以程序设计不但不能取消,而且应该加强”。

首先,这些教师对布鲁纳的理论理解有些片面。布鲁纳在他的名著《教育过程》一文中是这样叙述他的观点的:“不论我们选什么学科,务必使学生理解该学科的基本结构。”“学习结构就是学习事物是怎样相互关联的。”布鲁纳明确地指出了他所说的“结构”是指“事物是怎样关联的”,他接着指出“基本结构就是学科的基本原理”[11]。所以布鲁纳理论中的学科结构指的是学科的基本概念、基本原理和基本规律,而不是“学科的核心内容”。而且他提出的教学要求是“理解”而不是“掌握”,这两者是有很大区别的。

其次,布鲁纳的理论是否完全正确,也是值得怀疑的。60年代美国一些学校,按照他的理论设计了数理科的课程,进行实验,但没有取得应有的效果。其中失败的原因之一,就是过于强调了理论,而忽视了实用知识和基本技能的训练。

而且他的理论基础之一是假设“儿童活动的性质同科学家当初发现新事物的性质是一样的,只有程度不同。”这种假设也是不正确的。连布鲁纳自己在他后来的著作中也承认了这个错误:“在开始阶段过于理想主义了。”拿一个有错误的理论来指导我们的工作,是不可能得到正确的结果的。

第三,认为计算机学科的核心内容是算法,更是需要商榷的。

中国计算机学会根据计算机科学的发展和美国计算机协会(ACM)和电子和电气工程师学会(IEEE-CS)联合编制的《计算机教学计划》,在1993年制定了我国的《计算机学科教学计划1993》。该计划中列举了计算机学科的9个主科目领域,它们是:算法与数据结构;计算机体系结构;人工智能和机器人学;数据库与信息检索;人-机通信;数值和符号计算;操作系统;程序设计语言;软件方法和工程。在上面列举的领域中“程序设计”仅仅是其中一项,即占九分之一[12]。

关于计算机学科的定义,现在一般公认的是89年ASM和IEEE-CS联合专题组的一份报告《Computing as a Discipline》上的一段话:“计算学科系统地研究信息描述和变换算法:它们的理论、分析、设计、效率、实现和应用。一切计算的基本问题是‘什么能被(有效地)自动化?’”。这段话很明确地指出了“算法”只是计算学科研究的领域,主要内容应是“它们的理论、分析、设计、效率、实现和应用。”因此“计算机学科的核心内容是算法”这种说法也是不正确的。

2、另一些教师认为:应用软件学习不是计算机课的内容,学习应用软件是浪费时间。

“应用软件学习不是计算机课的内容”这句话涉及到两个问题:一是应用软件知识是否属于计算机学科?二是应用软件的学习是否应安排在计算机课中? 对于第一个问题,回答应该是肯定的:应用软件知识属于计算机学科的内容。任何学科知识都可以分为理论、技术和应用三部分,理论部分即概念、原理、规律部分。应用部分即把理论和技术应用于生产和生活实际部分。例如物理有理论物理和应用物理,数学也有应用数学分支。难道应用物理不属于物理学科,应用数学不属于数学学科?

这些教师提出这个观点的愿望可能是好的,是为了批驳那些受实用主义影响,仅把社会上流行的应用软件使用作为计算机学科几乎全部的内容,而摈弃任何理论、原理的学习的观点。但他们批驳的根据却是错误的,走向了另一个极端。 我国现在的学校教育,除了在文革中受了些干扰外,一直是重视理论教育的,这有利于学生系统地掌握科学知识,有利于进一步再学习和提高。但另一方面,却长期轻视实践教育,对于实验和社会实践时间安排的课时数较少。《中国教育改革和发展纲要》中指出:“进一步转变教育思想,改革教学内容和教学方法,克服学校教育不同程度存在脱离经济建设和社会发展需要的现象。”[13]国家教委基础教育司司长王文湛司长在1995年一次会议上谈到目前教学改革情况时指出:“教育教学改革我们已取得很大成绩,但与实现向素质教育转轨的要求还不相适应。如... 太注重理论,轻视实践等。国外如英国,很重视培养学生的动手能力,理科教学中课堂教学同实验教学的课时比是 1:1,而我国教学大纲中规定,理、化、生课堂教学同实验教学的课时比是 8:2,但实际上实验教学还达不到。”[14]这种偏重理论轻视实践的教育使得我们的毕业生动手能力较差,把科技成果转化为生产力的能力也较差,这是不利于我国现代化建设的。而计算机学科它的一个显著特点是实践性较强,与实际应用关系比其他学科更密切。本应该很好地利用这个优势来弥补我们学生这方面的不足。但这些教师的观点却要把唯一可以加强学生这方面能力的计算机应用部分也给砍去,我认为是很不正确的! 至于应用软件的学习是否应安排在计算机课中,这个问题不是原则问题,可以灵活处理。能在各学科中讲更好,因为这样有利于学生综合能力的培养。但目前其他学科教师能使用计算机的较少,能教学的更少。在计算机课中集中学习应用软件,是目前绝大部分学校实际可行的方案。

3、由于计算机信息技术的发展,大量的软件涌现,计算机处理各种信息的速度和功能大大提高,一般的应用都有现成的软件,不必要自己编程。因此一些教师认为:“计算机学科没有必要学习程序设计,只需要学习计算机操作方法和一些社会上流行的软件使用就可以了。”而且还提出了“一些学生在学校学习了程序设计,到社会上完全无用,仍需从头学起”的说法。

上面看法有正确的一面。过去的计算机课教学,由于各种原因以BASIC语言教学为主,忽视或根本没有实际操作和应用软件的使用内容。而且不论是中学还是小学,不论是普通中学还是职业高中,无区别都是一个模式。因此在一定程度上造成了学非所用的结果,特别是对准备毕业后立即就业的那部分学生。但上述说法从基本点上、从理论上说是不正确的。首先,这种说法指导思想是受了“社会中心”论的影响,即当前社会上需要什么就学什么,是一种急功近利、实用主义的做法。 我们不反对从社会需要出发来考虑课程的设置,不但不反对,而且要提倡。我们也不反对学习一些实用的应用软件,而且赞同在新教材中增加一些应用软件的内容。我个人认为,特别在初中的计算机教材中,实用部分可以占全部内容的70%到80%。但在这里,我们和持这些观点的教师有一个根本上和原则上的区别:我们不但看到社会当前的需要,而且更注意社会长远的需要。我们不但着眼于学生当前学习和就业的需要,更注重学生将来的学习以及终生教育的需要。出发点不同,在内容的选择上,在教材的安排上,以及在教法上,就会有根本性的不同。 例如,在安排应用软件内容时,不仅看到当前社会急需的东西,而更注重应用软件中普适性、长远性和可迁移性的东西。一些当前社会最流行的但没代表性的,或不久将淘汰的软件和内容,我们就不选;而一些社会上目前不是最流行,但从长远看是有代表性的、有发展前途的,我们就要选择进来(例如电子表格软件等)。

又如在对进行某一应用软件的教学内容教学时,一些有普遍意义的、长效性的内容就着重讲,而一些虽有技巧性但不具有普遍意义的内容就略讲,甚至不讲。而从“急功近利”出发,就往往会大讲特讲社会上流行的内容,而忽视普适性的可迁移性的内容。 再如,在教法上,我们认为,一个具体软件仅仅是一个载体,通过它使学生学习到同一类软件的基本功能和基本使用方法。因此教学时把注意力放在有共同性的基本功能上,注意使学生通过这一具体软件的学习,把能力迁移到其他软件和知识的学习中去,起到“举一反三”的作用,并且更注重学生自学能力的培养。而从“急功近利”出发,就会就事论事,把注意力化在一些具体的操作命令上,一些细小的、特殊的功能和技巧上,忽视能力的迁移。

上述观点第二个错误是混淆了不同教育的性质。普通中小学教育是素质教育,它与职业教育不同。上述观点把素质教育与就业教育等同起来了。这在前面已有论述。这里不再赘述。 就是职业教育,上述观点也是不完全正确的。我们教给学生的不仅仅是知识,而更重要的应该是能力。这就不能是“知其然,而不知其所以然”。不懂得汽车的基本原理也能开车,但绝不可能成为一名优秀的司机。同样,如只会一些具体应用软件的使用,不懂得有关的基本原理和知识,就不可能很好地使用计算机,成为一名优秀的计算机应用人员。我很赞同这样一段话:“必须坚持技术基础教育和实用技术教育兼顾,... 如果不进行技术基础教育,就缺乏后劲,难以掌握高技术;如果不学习当地的实用技术,就不易起步,难以把最基本的科学技术运用于生产,把可能的生产力转化为现实的生产力。... 按照布鲁纳的知识迁移理论,... 扎实的技术基础教育,有利于学生去掌握实用技术,起到举一反三作用;良好的实用技术教育,有利于扩展和提高技术基础教育,起到触类旁通的作用。”[15]而且将来的社会职业的变动将是很频繁的,一生中职业变动四五种是常事。这就更要求我们的教育从学生的长远着想,注意基础知识的教育,注意能力的培养。

但应用软件的“基础知识和能力”是什么?是否就是“程序设计”?这是我们应该进一步研究的课题。

五、几个值得探讨的课题

1、“一纲多本”还是“多纲多本”

“一纲多本”的政策是我国教育改革的重要组成部分。中共中央、国务院于1993年2 月正式颁发的《中国教育改革和发展纲要》中指出:“中小学教材要在统一要求的前提下实行多样化。”[16]即大纲是一个统一的基本要求,允许一部分教材高于大纲,一部分教材符合大纲,另一部分教材基本符合大纲。

但从十几年的计算机教学实践经验,从计算机课的特殊性分析,我认为“一纲多本”还不足以适应计算机教育复杂多样的情况,而应该是“多纲多本”。

计算机学科是一门需要高资金投入的学科。而我国经济文化发展极不平衡,差距很大。一些欠发达地区仅在少数重点学校有计算机设备;而一些发达地区,如北京、上海、广东等地,不但已在高中、初中普及计算机课,而且正在向小学普及。这种状况造成有的地区只能在高中开设选修课,而有的地区将在初中、高中实行全面的系统的计算机教育。另外计算机课的内容受硬件设备的制约很大,有的学校只有八位机,仅能进行较简单的计算机普及教育;而有的学校已配备了多媒体机房,可以进行较先进的计算机内容教学。以上这些差距,不是一个大纲所能包含得了的,必须根据不同情况,制定不同的教学大纲。

另外,计算机学科的教学,在我国甚至在全世界,还处于试验阶段,还没有一个较成熟的、公认的方案。计算机课程设计的指导思想还不统一,还没有足够的证据证明哪个是完全正确的。在这种情况下,也不宜用一个完全统一的大纲来限定各地区的计算机教学。

实际上,计算机教学是“一纲多本”还是“多纲多本”已经不只是理论上争论的问题。“多纲多本”已是目前我国中小学计算机教育的既成事实。

1983年在第一次全国中学计算机教育试验工作会议上,原教育部制定了计算机选修课的教学大纲。1986年第三次全国中学计算机教育工作会议上对它进行了修订。但很多地区实际上根据自己的情况,制定了适合自己地区的计算机教学大纲。例如在《广西中小学计算机教育情况汇报》一文中写道:“自治区根据国家教委公布的《中学计算机选修课纲要》和全区的具体情况,制定了《广西中学计算机选修课教学大纲》”[17]。在1987年出版的北京市《中学计算机选修教程》的前言中也写道:“根据国家教委关于《中学计算机选修课指导性教学大纲》的精神,北京市教育局制定了《普通中学计算机选修课教学大纲(试行)》。

为适应新的形势,国家教委全国中小学计算机教育研究中心在91年起草了新的指导纲要,并与94年公布。与此同时,北京市根据当地的具体情况,于1991年8月在全国的《指导纲要》基础上制定了新的北京市教学大纲,并于第二年编制了相应的教材。1996年8月,又根据北京市发展的新形势,以及计算机发展的新情况,起草了新的教学大纲。

“实践是检验真理的唯一标准”。以上事实说明计算机学科“多纲多本”更符合我国的当前实际。我建议,国家教委可以在一个基本要求的《指导纲要》下,制定或推荐几个适合不同地区的教学大纲,指导各地区的教学大纲和教材的编订。

2、计算机学科是否应独立设科

由于信息时代即将到来,我国计算机广泛应用和深入普及,必须在中小学普及计算机教育已是全民的共识,但在怎样设科上,却有不同的看法。

由于计算机学科的应用部分与其他学科联系密切,而应用软件的教学又占了计算机学科的很大一部分学时。因此产生了分散教学和独立设科两种建议。

分散教学,就是不单独设立计算机学科,而把要学习的计算机内容分散在别的学科教学中。例如把字处理教学放到语文课中,把电子表格教学放到数学课中,把绘图软件教学放到美术课中等。这种分散教学有它的好处:一是在课时有限的情况下,不用增加学科门数和另加课时数。在新技术新知识迅速增加的当今社会,符合“不增加学时学习总量,不增加学生的学习负担,增加现代科技知识”的好办法。二是可以把计算机和其他学科互相结合,相互渗透,有利于培养现代社会需要的复合型人才。但这种设置存在教材难编,教师难教的现实问题。

独立设科,就是在中学课程中单独设立一门计算机课程,集中教学。这种设置有利于教材的编写和教学质量的提高。但就要增加课程的门数和相应的课时。另外在与其他学科的结合上也不如分散教学好。

我认为,在我国目前的国情下,计算机还是单独设科更有利,更适合我国学校的实际。理由如下。

一是如果分散教学,首先就会遇到一个教师问题。我国目前的学科教师,绝大部分中老年教师没有学过计算机。一些青年教师虽然在大学中学了些计算机初步知识(主要是BASIC),但现在看显得陈旧了。因此有一个99%的教师要重新学习的问题。要使我们这些学科教师掌握有关的计算机基本知识和操作技能,并能胜任教学工作,还是一件相当困难的事。尤其是由于我国教育领域长期轻视实践,造成我们的大部分教师对实践性很强的计算机有“格格不入”之感。前些年,即第二次计算机普及高潮时,曾在我们的学科教师中普及过计算机知识和操作,但到目前能使用计算机的还是少数,能在自己课中应用计算机的更是凤毛麟角。这个事实从侧面说明了这项工作的困难程度。

二是计算机信息技术发展异常迅速,从过去十几年的教学实践看,约五年左右内容就要更新一次。这样快的更新速度,如果把它分散在各学科中,困难就会很大,教材的更新和教师的再学习的工作量就会很繁重。如果集中教学,涉及的范围会小得多,困难就会少得多。

三是还有一部分独立的知识,如基本原理和基本操作,很难融合到某个学科教学中去,放在某个学科中也只能是“组合”,不会减少课时。另外,分散在各学科学的应用软件有共同性,特别当今软件发展趋势是向操作尽可能一致发展,因此集中教学对与操作相同部分只要进行一次教学即可,这样反而可以节省课时。 根据上面这些理由,我认为我国目前的中小学计算机课程,还是单独设科更符合我国的国情。

3、关于“程序设计”的教学

当前计算机教育中的一个争论焦点是计算机课程中要不要有“程序设计”的内容,如果有,要求到什么程度?

①一部分人明确地提出计算机课中必须有程序设计内容,理由是“它是计算机学科的核心内容”。关于这一点,在本文的第一部分已进行了讨论。即在《计算机教学计划1993》中列出了计算机学科主科目有九项,而“程序设计”仅是其中一项。为什么在9项中只选择了“程序设计”这一科目?为什么不选其他科目?理论和实践的根据是什么?

②有人认为,选“程序设计”内容是因为它可以培养学生的“分析问题和解决问题的能力”。这个结论的理论和实践根据又是什么?有什么足够的证据证明这一点?而国外一些实验却否定了这一假设。

曾是布鲁纳的博士生的美国心理学家罗伊·庇(Roy.D.Pea ),作了两项关于LOGO程序设计学习对规划技能影响的研究。这两项研究都表明,经过一年的LOGO程序设计学习,没有发现程序设计对学生规划能力有什么影响,没有学过编程的儿童(控制组)和经过一年程序设计学习的儿童作计划的能力一样好[18]。

③有人提出学生学习 BASIC程序设计是为了使他们懂得“计算机能做什么,是怎样工作的?”这句话如果是在70年代或80年代初讲,还有一定道理,因为那时计算机软件还很不丰富,使用计算机很多工作还必须用户自己编程。但在计算机的软、硬件功能、数量和质量极大发展的90年代,还拿来作为学习程序设计的理由,似乎有些过时了。积我十几年的编程经验和对目前一部分软件的初步了解,我觉得当前在简单的 BASIC程序设计和强大功能的应用软件之间已产生了一道鸿沟,两者之间差距非常大,要通过简单的 BASIC程序设计学习来了解现代计算机系统的功能,犹如“隔靴搔痒”,在应用软件中表现出来的计算机强大的能力,在简单的 BASIC程序设计中很难学到。例如文字处理软件中的块操作和排版功能,以及对象的链接和嵌入功能,在简单的程序设计学习中就很难体会到。反之,通过应用软件学习所能了解的计算机功能却大大超过简单程序设计中的功能。例如应用软件中的打印功能已大大超过BASIC中PRINT(打印)语句所能了解到的功能,输入功能也大大超过INPUT语句所能提供的信息。

我认为,如果学习简单的程序设计仅仅是为了解计算机能干什么和怎样干,那么在学习一些应用软件的基础上,把学习程序设计的课时拿来学习计算机的内部结构和基本工作原理,得到的知识可能会更多些,更深入些。

④有人说,计算机课中安排“程序设计”教学就是为了使学生初步了解程序设计语言和程序设计的知识。这就又回到了前面已讨论过问题上:计算机学科有九个主科目,程序设计只是其中之一,为什么在中学阶段要选这个科目,而不选其他科目?根据是什么?

我认为,如果仅从学习计算机的基本知识来考虑,学习计算机的体系结构,或者人-机对话这些科目可能更合适些。

这里要特别声明一点,上面的论述是针对在全体学生中普及计算机知识的中小学计算机课程的,并基于目前计算机仅有少量课时的情况。如果讨论的是课外活动和一些特长学生的学习(例如奥校学生的学习),或者有较多课时的情况,那就另当别论了。我国十几年的教学成绩和国内外的实验结果,都证明了较长时期的程序设计学习,有助于提高学生的逻辑思维能力、规划能力和分析问题解决问题的能力。

在中小学计算机课程中究竟要不要安排“程序设计”的内容?我是赞同在计算机课中安排程序设计内容的,而且认为,如果有可能的话,越早越好。即不但在初中尽可以安排一些初步的程序设计内容;而且在小学也应尽可能地渗透一些程序设计的思想。但理由与上述的几种不同。

在计算机普及工作中,很多教师都有这样一种体会:只要内容和教法适当,程序设计入门,初中学生比高中学生容易,甚至高年级小学生比初中学生容易,最困难的却是成年人(这里不是针对个别人,而是大多数人来谈的,即从普及的角度来谈的)。这种“怪”现象如何解释呢?

根据现代认知心理学的理论,人的头脑中的知识,不是杂乱无章地存储着的,而是有一定的结构,即认知结构。学习就是科学的逻辑结构和人的头脑中的认知结构之间的矛盾和转化。“当儿童认识一种新事物时,总是先用原有的图式(即认知结构)去同化(即把新知识纳入原有的认知结构中),如获成功,便得到认识上的平衡,否则就进行异化,调整原有图式或创造新图式,直至取得新的平衡为止”[19]。

程序设计是一种新的知识结构,它与其他学科的结构,如数学知识结构、物理知识结构等,有很大的区别。很多人都有这样的体会。关于这一点,当代著名的计算机科学家唐·依·克努特(D.E.Knuth)在他的巨著《计算机程序设计技巧》中有很精辟的论述。他写道:“能把问题的解法表达成计算机能够‘理解’的一种明显形式(这些机器没有普通的感觉;它还不会‘思考’。但它能准确地不折不扣地去做让它做的事情。当一个人初次试图使用一台计算机时,这是最难以掌握的概念)。”[20]为什么“最难以掌握”?就是因为这种知识结构与以往人们学习的知识结构有很大的不同。

因此当一个初学者学习程序设计时,在把这种新的知识结构纳入自己原有的认知体系中(同化)时,由于结构差别太大,就会遇到原有结构的“顽强抵抗”,必须创造新的认知结构。这种新的认知结构的“创立”,如果原有的认知结构越牢固,创立就越困难。一般地说,年龄越大认知结构就越牢固,越不容易改变。这就造成新的结构建立成人比高中生困难,高中学生比初中学生困难,而小学生头脑像一张白纸,最容易接受新的东西。

从上面的分析,是否可以得出这样一个结论:在学生脑中建立起“程序设计”这种认知结构,越早就越容易。尽早地学习“程序设计”这种知识,就会减少进一步学习的障碍。 当然这种“程序设计”知识结构对于不同年龄的学生,它的内容多少,它的复杂程度的高低是不同的,是有层次的。另外,这里的“程序设计”概念应广义地去理解,即不限于程序设计语言意义上的“程序设计”,例如批处理文件的建立,宏命令的设计,数据库语言的程序设计,甚至用计算机应用软件解决一个问题的具体步骤,都可以理解为计算机的“程序设计”。

1994年,联合国教科文组织(UNESCO)委托国际信息处理学会(IFIP),编写了指导世界各国计算机课程设置的文件《中学信息学课程》。其中有一段话,对于我们每个从事计算机教育的人会很有启发。现摘录如下:

“这里所指的程序设计非技术性的程序设计,更确切地说应该是把‘你自己做的事情’转变成‘别人能做的事情’。这就要求能详尽地描述完成任务的过程,以便其他的人或其他的设备能准确地重复这一项工作。

这种完成任务的‘自动化’就被称作程序设计,有时也称作算法程序设计──信息学的一个重要特点。当使用复杂或先进的软件工具(如电子表格、数据库管理系统、操作系统,甚至文字处理系统)时,用算法的思想来思考或解决问题是必要的。

程序设计是帮助学生获得解决问题经验的一种快速、明确而适合的途径,教学的目标不是培养‘小型的程序员’,而是使得学生能用程序设计的方式进行思考。本着这个思想,在学习过程中只要掌握‘必须了解’的,至于程序语言中的独有的特点和假设就不是很重要了。教师必须强调解决问题的方法,程序设计只是实现这个目的的一种手段。”[21]

我国的计算机教育已经有十几年历史了,取得了很大的成绩。我希望以上一些个人的看法,能在我国的计算机教育事业的大厦上,添一块砖,加一块瓦。我愿意和有志献身于计算机教育事业的人共同努力,把我国的计算机教育事业推向更高发展阶段。

参考书目

[1] 毛择东:《毛泽东选集》第一卷,人民出版社,1991年,286页。

[2] 恩格斯:《自然辩证法》 人民出版社,1963年版,37页。

[3] 陈侠:《课程论》 人民教育出版社,1989年版。

[4] 《中华人民共和国教育法》法律出版社,1995年,3页。

[5] 马克思:《马克思恩格斯全集》第16卷,218页。

[6]《九年义务教育全日制小学初级中学课程计划》。

[7]《全日制普通高中课程计划(试行稿)》1995年。

[8][9][10][14] 王文湛:《在江西南昌1996年中小学教材审查会议上的讲话》。

[11] 布鲁纳:《教育过程》文化教育出版社,1982年,28,31页。

[12] 《计算机学科教学计划1993》电子工业出版社,1995年。

[13][16] 《中国教育改革和发展文献选编》人民教育出版社,1993年,20页,21页。

[15] 郭福昌:《试办农村综合初中,势在必行》《课程研究》1994年4期,7页。

[17] 《全国中小学计算机教育资料汇编》电子工业出版社,1991年,66页。

[18] 陈琦:《中学计算机教育文选》光明日报出版社,1987年。146页。

[19] 瞿葆奎主编:《课程与教材》人民教育出版社,1988年,196页。

[20] 唐·克努特:《计算机程序设计技巧》第一卷前言,国防工业出版社,1986年。

[21] 《中学信息学课程》清华大学出版社,1995年,49页。

(责任编辑:nylw.net)转贴于南粤论文中心: http://www.nylw.net(代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)
顶一下
(0)
0%
踩一下
(0)
0%


版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.