略论程序设计教育的价值和实施思路
摘 要:程序设计教育不但有利于培养学生的信息素养,还有利于推动整个民族软件业的发展,其重要性不容无视。在当前教育环境下,展开程序设计教育具有诸多的有利条件;其实施思路能够从初中开始实施,以必修课程为主选修课程为辅,高中则能够采用必修课程为辅选修课程为主的课程模式。
关键词:程序设计教育;信息素养;价值;实施思路
一、问题的提出
一个值得注重的现象,当前中学信息技术教育正涌动着一股无视程序设计教育的风气。我们知道,信息技术教育从课程形态来说是在以往计算机教育的基础上发展而来的,从课程目标来说,信息素养(信息文化)的培养是在以往文化论(程序设计是第二文化)到工具论的否认之否认,在当前,因为人们对信息文化(信息素养)的理解仍处在“百家争鸣”与“文化启蒙”的双重时期,理论上尚无法在信息文化的框架内给程序设计一个明确和重要的定位。受此影响,人们对信息素养的理解往往就是指对大众信息技术工具的掌握和应用水平,以及在此基础上对文
化要素的感受、体验与内化(但是,这后半局部对广大信息技术教师来说又语焉不详,如坠五里云雾),加之长期以来工具论的盛行和教育主管部门的推动,程序设计作为具有一定技术深度的内容,并没有受到应有的重视,反而因为过度的批判而日渐式微,信息技术教育所表现出的重应用(这里所指的应用指大众工具软件的应用,严格的说,程序设计同样是一种应用)轻程序设计的局面就成为一种“不可逆转”的发展潮流,程序设计被“理所当然”地排除在信息技术教育的主流之外,BASIC等程序设计语言在信息技术教学内容中所占比例越来越小。于是常常能听到信息技术教师们的问难:为什么重应用轻程序设计?
客观来说,将中小学信息技术教育转变到以信息技术工具应有为主,降低了教学难度,推动了大众信息技术的普及,这的确能够称之为一种进步。不过,将信息技术教育仅仅限于信息技术工具的应用,无视信息技术科学自身内部的知识体系与更深层的开发应用,“以大众化的潮流取代了精英式的追求”,则是另一种形式的“因噎废食”,丧失了信息技术教育的层次感与深度感。这种从一个极端走向另一个极端的做法值得我们做出反思,切以为,程序设计非但不可罢黜,更应重视和光大。
需要说明的是,在以往和现在欠发达地区,迫于软硬件的局限,不得不实行基于DOS的程序
设计教学,但是,作者所提倡重视程序设计教育,并不是受软硬件的困扰所提出的应时之用,就当前软硬件条件来说,除一些欠发达地区外,基本不存有这样的限制,教学内容和编辑语言完全能够有多样化的选择,而不但仅局限于基于DOS系统的程序设计。所以,本文并不把外部的软硬件条件作为谈论本话题的主导原因,而将视角主要放在人们的观点问题上:如何对待程序设计,如何对待它的独特价值,程序设计到底能够培养学生什么样的素质?
二、认清程序设计教育的价值
(一)对个人发展的价值
1981年,前苏联计算机教育专家伊尔肖夫(A.P.Ershov)在瑞士洛桑举行的第三届世界计算机教育应用大会上正式提出“程序设计——人类的第二文化”(Programming,The Second Literacy),这个思想代表了当时已经展开计算机教育的各个国家对计算机教育的理解,也成为我国计算机教学初始阶段的核心思想。但是,长期以来,我们对这个思想的理解和践行一直是不到位的。在伊尔肖夫的报告中,Programming有两层含义,一是指计算机程序设计;二是指有序地安排生活。不管人们是否意识到,人类总是生活在一个“程序设计的世界中”:科学上的发现、社会的组织、学习、甚至人的日常生活都是一种面向程序的工作与生活,
平常我们做事时也自觉地把事情分解成很多小步骤,然后再分步去完成,如同编程时总是把程序按照一个模块一个模块地设计一样,显然,程序设计的这种结构化设计思维和方法对于培养学生的生存水平和生涯规划水平有着积极的熏陶作用。伊尔肖夫认为,“擅长还是不擅长编排与执行自己工作的程序是人们能不能有效地完成各种任务与能不能获得有条理生活的关键;现代人除了传统的读、写、算水平以外,还应该具有一种能够与之相比拟的程序设计水平,这就是说具有第二种文化——程序设计文化”。也就是说,伊尔肖夫把计算机程序设计向人类生活的更深层次迁移,对它的定位不止是计算机信息处理、开发与应用本身,而是上升到人类生存的“文化”高度,而学生学习计算机程序设计能够协助他们从小培育一种程序设计意识与水平,培养程序设计文化(计算机文化的主体内容)。在这方面,北京丁香小学武健老师所提倡的“生活算法”就是一个值得注重的实践尝试。
但是,随着计算机技术的发展,我们还应该对伊尔肖夫提出的“程序设计文化”作进一步的扩充,超越当时计算机技术发展水平的语境限制。众所周知,面向过程的程序设计已经发展为面向对象的程序设计,从纯粹代码编写转变为基于图形用户界面的组件重用为主,程序设计技术已经完成了一次“与用户友好”的思想变革和“视觉文化”的转向,让更多的人能够尽情沉浸在VB、VC的世界里,通过对可视化的对象元素的编辑和管理实现特定的功能,体验视觉化
和对象化(组件化)信息处理机制的超强功能和简单易学等特点,感受视觉文化的直观性、形象性、生动性和丰富性,领悟客观世界的对象化特点及对象相互联系的机制。程序设计的这种“新”文化特征毫无疑问应该注入到当前的程序设计教育,不过,我们却几乎淡忘了这方面的研究和实践。
所以,理应全面理解程序设计的文化内涵并将其作为程序设计教育的应有之义。反思我们过去和现在的程序设计教育,基本缺乏对这个内涵的准确理解和把握。即便是对程序设计的第一种含义(计算机程序设计),长期以来我们的理解也是不够丰满的,往往遵循其他学科的教学思路,局限于程序设计语言的概念和规则的教学,陷于语言本位的教学,而不是将程序设计作为解决问题的一种工具和途径。通过程序设计解决学生日常生活和学习中出现的问题,不但能够贴近学生的主观经验,激发和培养他们学习程序设计的兴趣,更在于让学生在一个真实的世界中养成科学的计算机技术观,培养他们的技术素养和解决问题的水平。
从双本体观来理解程序设计教育,我们也能够将程序设计的第二层含义当作大众文化取向的内容,其第一层含义则能够认为是技术取向的内容。显然两方面都应作为信息技术教育的合理内容,轻视任何一个方面都是片面的。
(二)对社会经济发展的价值
试以印度信息产业作管窥。印度作为一个并不发达的发展中国家,却正在成为世界软件的中心。据世界银行对各国软件出口水平的调查结果显示,印度软件的出口规模、质量和成本三项综合指数居世界首位;印度当前是世界上五大软件供给国之一,是仅次于美国的第二大计算机软件出口大国。比尔·盖茨就曾断言:未来的软件超级大国不是美国,不是日本,也不是欧洲国家,而是印度。那么,印度软件业迅速崛起的秘密究竟何在?这个直是国人苦苦追寻的问题,业内人士普遍认为一个重要因素就在于它的信息技术教育。印度在信息技术基础教育中将计算机语言知识和编程水平的培养作为重要内容对待,从而为大批软件人才的成长奠定了坚实的知识与水平基础。这些完成基础教育的学生进入大学后能够进一步深造成高、精、尖的软件开发人才,而大量未能进入大学深造的学生,又能够通过成熟的信息技术职业教育而培养成为高质量的“编程蓝领”,虽然这些人才是经过职业化的信息技术专业教育后才真正成长起来的,但其扎实的信息技术基础教育无疑是一个重要的影响因素。十年树木,百年树人。印度软件产业的崛起对我国同样具有启发意义,那就是信息技术人才的培养需要有一个长远的培养计划,“程序设计从基础教育抓起”必有其现实价值和历史意义。
现在我们再回过头来看看过去的程序设计教育,在肯定其“技术启蒙”的历史意义的同时,我们必须指出,我们的理解和践行都是非常浮浅的。更为要命的是,以此浮浅的理解和实践以及由此带来的所谓经验教训当作我们现在轻视程序设计教育的历史依据和理由,则是浅薄之极!
三、展开程序设计教育的有利因素
其一、对学生的评价和考核比较方便实现。其二、程序设计的教学历史比较长,毕竟积累了一些比较成熟的教育教学经验。其三、顺应时势的发展。随着大众信息技术在日常生活中的普及,信息技术教育中的零起点问题开始化解,广大中小学生从小就开始具备常用信息技术工具软件的应用水平;随着信息技术与课程整合的全面和深入发展,课程整合将剥离信息技术课程中面向大众的应用性课程价值及其内容,但是不能替代信息技术课程本身的独特的课程价值及内容,例如,算法、人工智能、数据管理方法等信息技术解决问题的原理和方法。换句话说,信息技术课程必将面临分化,相关程序设计的内容将成为信息技术课程的主体之一。在局部发达地区,这局部内容已开始受到人们的重视,并逐渐弱化计算机操作应用方面的教育,甚至有人提出,“计算机操作应用的课程将无需在中学开设”。其四、容易激发教师
的积极性,一方面,程序设计逻辑性强,这与理科出身的计算机教师来说无疑是投其所好、得心应手;另一方面,正如第三点所言,程序设计作为信息技术课程的主体内容才真正表达了这门课程的独特价值,具有不可替代性,这样必然会增强信息技术教师的自信心和归宿感,改善其恶劣的生存环境,“远离因课程整合所带来的失业危险”,这也是增强程序设计教育的一个重要因素。
四、程序设计教育的实施思路
虽然程序设计教育如此重要,但仍需遵循学生的认知发展规律,不宜过早展开过高要求。就当前来说,小学是不宜实行程序设计教育的(个别天才小学生除外),能够从初中开始实施,以必修课程为主选修课程为辅,高中则能够采用必修课程为辅选修课程为主的课程模式(这与新出版的普通高中信息技术课程标准思路也是基本一致的)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论