陈国良 张龙等
摘 要:时代的发展和社会的进步要求大学应培养高素质的专业创新人才。为此,大学计算机素质教育应传承计算文化、弘扬计算科学和培养计算思维。本文重点介绍大学计算机素质教育的这三个关注点:计算文化,包括人类对计算本质的认识和计算机科学发展中的若干典型人物与事迹;计算科学,包括计算科学的基本原理及最新进展;计算思维,包括计算思维源于西方、兴于东方的发展过程。
关键词:大学计算机;素质教育;计算文化;计算科学;计算思维
从教育学意义上讲,素质主要指人在先天生理的基础上,在后天通过环境影响和教育培训所获得的内在的、相对稳定的、长期发挥作用的身心特征及其基本品质(Character)。古人对素质的重要性早就有论述:“有出格见地,方有千古品格;有千古品格,方有超方学问;有超方学问,方有盖世文章。”[1]当前,大学生素质教育的具体内涵就是要培养学生高尚坚定的人格、理性辩证的思维以及对科学精神的追求。为此,大学的通识教育应注重传递科学精神和人文精神,体现不同文化和不同学科的思维方式和魅力。相应地,大学计算机素质教育的基本要素就是传承计算文化、弘扬计算科学和培养计算思维。
一、传承计算文化
计算文化(Computational Culture)就是计算的思想、方法、观点等的演变史。它通过计算和计算机科学教育及其发展过程中典型的人物与事迹,体现了计算对促进人类社会文明进步和科技发展的作用以及它与各种文化的关系。
通过计算文化的教育,可以让高校学生了解计算科学与人类社会发展的关系,为学生展现计算之美,从而使学生对计算科学产生兴趣。
1.对计算文化的理解要建立在对计算本质的认识上
计算文化是指“计算”这个学科所蕴涵的文化,我们理解计算文化首先要对计算的本质有清晰的认识。人类对计算本质的认识经历了三个阶段。
第一个阶段是计算手段器械化。计算手段的器械化是“计算”学科的基本属性。在古代,人类社会最早使用手指、结绳、算筹等方式进行计算。公元11世纪中国人发明了算盘(Abacus)。1275年西班牙的R. Lullus发明了旋转玩具,可以将初始符号串通过机械变换得到另一个所希望的字符串。1614年法国的B. Pascal受钟表齿轮传动装置的影响,制造了能够进行加法和减法运算的“加法机”。1673年德国人G. W. Leibniz设计制造了能够进行加、减、乘、除的计算轮(Calculating Wheel),为手摇计算机的发展奠定了理论基础。到了19世纪30年代,英国人C. Babbage设计了能用于计算对数、三角函数等的分析机。以上这些计算工具的特点都是机械式的,无法实现自动计算。到了20世纪,美国人V. Bush研制了能求解微分方程的电子模拟计算机;20世纪40年代,德国人K. Zuse和美国人H. Aiken研制了用继电器作为部件的二进制机电式程序控制计算机;到了20世纪四五十年代,美国研制了所谓第一代电子管数字计算机ENIAC和EDVAC。
第二个阶段是计算描述形式化。人类对计算本质的真正认识,取决于对计算过程的形式化描述。形式化方法和理论研究起源于数学的基础研究。首先Russell发现了Cantor集合论的逻辑矛盾,即“罗素悖论”;接着,Hilbert提出了形式逻辑系统的完备性,即Hilbert纲领。但G?del指出了形式系统的不完备性,Hilbert纲领的失败启发了后人应避免花费大量精力去证明那些不能判定的问题,而应把精力集中于解决问题的“可计算求解性”。在Hilbert纲领失败的启发下,图灵从计算一个数的一般过程入手,将可计算性与机械程序和形式化系统的概念统一起来,从而真正开始了对计算本质的研究。图灵计算就是计算者(人或机器)对一条两端可以无限延长的纸带上的0和1符号执行操作,一步一步地改变纸带上的0或1值,经过有限步骤最终得到一个满足预先要求的符号变换。在研究问题的可计算性时,图灵是从一种简单的数学机器出发来研究计算概念的,通过引入机器状态,使用了本质上具有指令特点的程序运算操作。这种数学机器虽不是一台具有现代意义上的计算机,但它却是一种操作十分简单且运算能力很强的计算装置,它就是著名的图灵机。
第三个阶段是计算过程自动化。当计算机执行的过程能实现自动化时,它才能真正发挥强大无比的计算能力。冯·诺依曼提出了存储程序的概念,将机器所执行操作的步骤(即所谓程序)和操作对象(即数据)一样都存入计算机的存储器中,这是一个很大的进步,在计算机发展历史上具有革命性的意义。一旦有了存储程序的概念,运算对象(数据)和运算指挥者(指令)都一视同仁地存放于存储器中,通过程序计数器,机器就可自动连续运行,无需操作员干预,从而实现了计算过程的全部自动化。
2.计算机发展的历史是计算文化的生动载体
在计算机发展的历程中,出现了一些对计算机发展具有重大意义的事件及人物[2],对计算学科的发展产生了深远的影响。例如,计算理论的奠基者阿兰·图灵,为计算机科学做出了重大贡献。ACM专门设立了图灵奖来纪念这位卓越的科学家,图灵奖已经成为计算机科学界的诺贝尔奖。又如,提出了“存储程序式电子数字计算机”概念的冯·诺依曼,被誉为“计算机之父”。现在各种各样的计算机仍然采用他提出的体系结构,从而又被统称为“冯·诺依曼计算机”。
这样的人物还有很多,他们的事迹是计算文化的生动载体,从中我们可以得到很多启示。例如,不少计算机科学家都很喜欢甚至痴迷物理,和诺贝尔物理学家私交甚深,也有很多计算机科学家似乎对生物学普遍感兴趣,认为计算机智能的下一个大进展将来自于生物学;重视学科交叉是计算机科学家取得很多创新性成果的重要因素。又如,科学研究同时也是冒险之旅,科学家要取得成就必须要有牺牲精神,著名结构大师D. Lenat在做项目研究时曾说过:“作为研究人员,我们其实就是在拿自己生命中的三十年进行赌博。”这些启示对于有志于从事科学研究的大学生都是很重要的。
二、弘扬计算科学
从计算的视角,计算科学(Computational Science)是一种研究数学建模、定量分析以及利用计算机来分析解决问题的研究领域;从计算机的视角,计算科学(Computing Science)是一种利用高性能计算能力预测和了解现实世界物质运动或复杂现象演化规律的研究领域。
随着时代的发展和技术的进步,人们对计算科学的概念有了更深一步的认识和理解。
1.伟大的计算原理(Great Principles of Computing)[3]
P. J. Denning曾指出:计算不仅仅是一门人工的科学,还是一种自然的科学。计算不是“围绕计算机研究现象”,而是研究自然的(Natural)和人工的(Artificial)信息处理,计算机是工具,而计算是原理。
一个领域的原理(Principle)实际上就是讲述一组交织在一起的有关该领域中的诸元素(术语)的结构(Structure)和表现方式(Behavior)的故事。而P. J. Denning将计算原理描述为运行(Mechanics)原理和设计(Design)原理:前者指计算的结构和行为运转方式,后者指对系统和程序等进行规划和组织等。他着重研究了运行原理,将其归纳为八大要素:(1)计算。关注点是什么能计算,什么不能计算;其核心概念就是可计算性与计算复杂性理论等。(2)抽象。关注点是对计算问题的归约、转换及建模;其核心概念是概念模型与形式化模型,抽象层次,归约、分解与转换等。(3)自动化。关注点是信息处理算法与智能化;其核心概念是算法设计,迭代与递归,人工智能与群体智能等。(4)设计。关注点是可靠和可信系统的构建;其核心概念是模型、抽象、模块化,一致性和完备性,安全可靠等。(5)通信。关注点是不同场点间信息可靠移动;其核心概念是编码、传输,接收与发送,通信协议等。(6)协同。关注点是多个计算间步调一致;其核心概念是并发、同步、死锁、仲裁等。(7)存储。关注点是信息的表示、存储和恢复;其核心概念是存储体系、绑定、命名、检索等。(8)评估。关注点是计算系统的性能与可靠性评价;其核心概念是模型、模拟方法、基准测试程序等。
2.计算透镜(Computational Lens)[4]
R. M. Karp在计算透镜一文中提出:(1)很多自然的、工程的和社会的系统中的过程(Processes)自然而然是计算的(Computational),计算就是执行信息的变换。(2)很多不同的学科领域(物理学,社会学等),传统的研究过程(或处理)都是基于物质变换和能量变换,但它们也可自然地视为计算,就此意义上讲,这些过程(或处理)动态地执行以数字或数据表示的信息变换。(3)通过计算透镜,我们可以根据计算要求和变换信息的方式来看待自然的或工程的系统。这些允许我们运用计算机科学的概念产生新的理解和新的思维方式,而计算可作为通用的思维方式。
化学家H. Davy曾指出:没有什么比应用工具更有助于知识的发展。在不同的历史时期,人们取得的业绩与其说是天赋智能所致,倒不如说是他们拥有的工具特征和软资源不同所致。如今,计算科学已经成为各个学科研究中不可或缺的理论方法与技术手段。计算科学、理论科学和实验科学并列成为科学发现三大支柱。美国PITAC(总统信息技术咨询委员会)报告认为[5]:21世纪科学上最重要的、经济上最有前途的前沿研究都有可能利用先进的计算技术和计算科学而得以解决。所以弘扬计算科学,应该成为我国高校学科教育的重要组成部分。
三、培养计算思维
计算思维是运用计算的基础概念求解问题、设计系统和理解人类行为的一种方法[6]。计算思维是一种解析(Analytical)思维,它共用了数学思维、工程思维和科学思维。计算思维的两个核心概念是抽象(Abstract)和自动化(Automation)。计算是抽象的自动执行,自动化隐含着需要某类计算机去解释抽象。
培养创新人才的一个重要内容就是要潜移默化地培养他们的计算思维。无论哪个学科,具有突出的计算思维能力都将成为新时期拔尖创新人才不可或缺的素质。高校应该旗帜鲜明地把培养具有计算思维能力的高级人才的作为一项重要的长期任务[7]。
1.计算思维在美国
计算思维的提出与2005年6月美国PITAC(总统信息技术咨询委员会)致美国总统报告《计算科学:确保美国竞争力》有关。为了落实PITAC报告,美国NSF组织召开了一系列会议,选择了以计算思维为突破口的行动方案,启动了两个重大的国家科学基金计划:一个是2007年启动的CPATH计划,另一个是2008年启动的CDI计划。
CPATH计划针对的是以计算思维为核心的大学计算机教育改革,目标是促进造就具有基本计算思维能力的、在全球有竞争力的美国劳动大军,确保美国在全球创新企业的领导地位。CDI计划针对的则是科学研究领域方面的创新,目标是通过多学科方法,使用计算思维在计算概念、方法、模型、算法、工具与系统等方面的创新与进步,对科学与工程领域产生新理解、新模式,从而创造革命性成果。CPATH计划最初的目标是大学本科的计算机教育改革,随着计划的实施,美国人认为这种思维方式还应该向中小学延伸,为此,2011年美国NSF又启动了CE21(21世纪计算教育)计划,目的在于促进美国K-14(中小学和大学一、二年级)教师与学生计算思维能力的提升。
与中国类似,在计算思维方面,美国也召开了一系列研讨会,仅CDI计划启动前的会议就有12次。2008年5月后,美国国家研究会更是召集了来自美国科学院、工程院、医学研究院的代表对计算思维的本质进行了近两年的讨论,2010年会议的研究报告Report of a Workshop on The Scope and Nature of Computational Thinking由美国国家科学院出版发行。
2.计算思维在我国
计算思维在中国高等教育领域与科学研究领域都得到了高度重视,并在近几年的时间里得到全面推进和发展。
教育部高等学校大学计算机课程教学指导委员会最早在2010年关注到计算机计算能力培养的重要性,在两年的时间里面组织了十多次各种范围的工作会议,对计算思维的内涵以及如何将计算思维融入大学计算机课程进行了交流,逐步形成了以计算思维为切入点全面改革高校计算机基础课程的思路。2012年,教育部开展了“大学计算机课程改革项目”的立项工作,力图在理论层面上丰富和完善计算思维的内涵,在操作层面上把计算思维能力的培养体现在课程、教学和教材中,从而正式确立了高校计算机基础课程的改革方向。在教育部项目的支持和教指委的具体指导下,很多高校开展了各种形式的教学改革与实践活动。在教指委主办的三届“计算思维与大学计算机课程教学改革研讨会”上,很多高校展示了课程改革的成果,充分体现了在高校普及计算思维教育的重要性与有效性。
国家自然基金委也非常重视计算思维的研究工作,先后多次在全国各地召开专题会议,研讨、部署、推进此项工作,并对计算思维进行专题立项研究[8]。科技部在信息技术领域备选项目推荐指南中,有关基础研究的先进计算,对计算思维及其支持机理也推荐立项开展研究。在职业教育数字化教学公共服务技术研发及应用示范项目中,也支持计算思维能力培养及职教技能评测关键技术研究。
计算思维源于西方、兴于东方。我们不应将培养计算思维简单地作为口号,但是应该在学科研究、在人才培养中不遗余力地引导学生去理解、体会、落实计算思维。这不仅仅是计算机专业教育的使命,同样也是面向全体大学生的计算机基础教育的使命。
参考文献:
[1] 蕅益. 灵峰宗论[M]. 北京:北京图书馆出版社,2005.
[2] 刘瑞挺. 计算机名校风采录[M]. 北京:中国铁道出版社,2010.
[3] P. J. Denning. Great principles of Computing [J]. Communications of the ACM, 2003, 46(11).
[4] K. M. Karp. Understanding Science through the Computational Lens[J]. Journal of Computer Science and Technology, July 2011, 26(4): 569-577.
[5] President's Information Technology Advisory Committee. Computational Science: Ensuring Americas Competitiveness[EB/OL].http://www.nitrd.gov/pitac/reports/ 20050609_computational/computational.pdf, June 2005.
[6] J. M. Wing. Computational Thinking[J]. Communications of the ACM, 2006.
[7] 九校联盟(C9)计算机基础教学发展战略联合声明[J]. 中国大学教学,2010(9).
[8] 刘克. 主体报告和分组报告评述[J]. 中国计算机学会通讯,2009,5(2).
[本文系教育部大学计算机课程改革项目部分成果,得到了教育部高等学校大学计算机课程教学指导委员会主任委员李廉和全体委员的大力支持,特此感谢!]
[责任编辑:余大品]