2006年3月,时任美国国家科学基金会(NFS)计算机与信息科学与工程部主任的周以真(Jeannette M. Wing)教授首先明确地提出并定义了“计算思维”(Computational Thinking,CT)这一概念: 计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。2011年,图灵奖获得者Richard M. Karp提出了“计算透镜”(Computational Lens)理念,其核心是将计算作为一种通用的思维方式,通过这种广义的计算(涉及信息、执行算法、关注复杂度)来描述各类自然过程和社会过程,从而解决各个学科的问题。
在美国,“计算思维”的提出得到了美国教育界和科学界的广泛支持。在美国国家科学基金会启动了“大学计算教育振兴的途径(CISE Pathways to Revitalized Undergraduate Computing Education,CPATH)”,并投入几千万美元的巨资在美国进行计算教育的改革。2008年,美国国家计算机科学技术教师协会(CSTA)在网上发布了得到美国微软公司支持的“计算思维: 一个所有课堂问题解决的工具”(Computational Thinking: A problem solvingtool for every classroom)报告,对什么是计算思维进行了总结。由于对“计算思维”所发挥的作用取得了共识,在2009年申报的项目中提出了具体的以计算思维为核心的课程改革。美国国家科学基金会启动了以计算思维为核心的重大基础研究CDI 计划,旨在使用计算思维(特别是在该领域产生的新思想、新方法)促进美国自然科学和工程技术领域产生革命性的成果。
在美国国家科学基金会的支持下,多所著名高校已经进行了将计算学科与其他学科大学基础课程相融合,计算思维已融于各类大学本科普通教育课程中。例如,在DePaul大学的自由学习项目中,该大学在艺术与文学,哲学探究,宗教,科学探究,自我、社会与现代世界和了解过去6个领域的几十门课程中,将计算思维以实例的形式明确地教给学生,并且根据计算的7大基本原理,即计算、通信、协作、记忆、自动化、评估和设计,明确地列出了每一门课程能够学习到的计算思维的基本原理。卡耐基·梅隆大学的计算机科学学院也在对其入门课程系列进行大的修订,修订包括: 为计算机专业和非计算机专业开设的入门课程要推广计算思维的原理;针对软件的高可靠性加强高可信软件开发及方法的学习;考虑到未来程序主要利用并行计算实现高性能,着力培养学生这方面的能力。
2011年,NSF又启动了CE21(The Computing Education for the 21st Century)计划,目的是提高K14(中小学生和大学一、二年级)学生及老师的计算思维能力。
计算思维也影响着英国的教育。在英国的爱丁堡大学,人们在一系列的研讨会上探索与计算思维有关的主题。每次研讨会,都有不少专家讨论计算思维对他们学科的影响。研讨会上所涉及的学科已延伸到哲学、物理、生物、医学、建筑、教育等各个不同的领域。另外,前言计算思维应用实例英国计算机学会(British Computer Society,BCS)也组织了欧洲的专家学者对计算思维进行研讨,提出了欧洲的行动纲领。
在我国,计算思维的重要性也已引起了科学家和教育界的高度重视,在“计算思维”理念下,我国也开始了大学计算机改革的进程。从2008年开始,教育部高等学校计算机基础课程教学指导委员会在陈国良院士的带领下,组织了将近20场各种类型的专题研讨,从计算思维的基本概念出发,就哲学层面、科学层面以至于教学层面的表达形式进行了深入的讨论,逐步实现计算思维从哲学的表达体系,向教学表达体系的过渡,以提高国内计算思维领域的科学研究和计算机教育的水平。
2010年7月,北京大学、清华大学、西安交通大学等9所“985工程”高校在西安召开了首届“九校联盟(C9)计算机基础课程研讨会”,发布了《九校联盟(C9)计算机基础教学发展战略联合声明》,正式拉开了我国大学计算机课程改革的序幕。该声明明确了要旗帜鲜明地把“计算思维能力的培养”作为计算机基础教学的核心任务。
2012年8月,教育部高教司设立以计算思维为切入点的大学计算机课程改革项目。该项目通过3项“第一类: 大学计算机课程系统性规划研究项目”和19项“第二类: 大学计算机系列课程及教材建设项目”的研究和建设,以及进一步提高计算思维在大学计算机基础课程教学中的教学理论水平和实践水平。
2013年4月,北京大学、清华大学、厦门大学等43所院校在厦门召开研讨会,并达成共识——“大学计算机研讨43院校厦门会议共识”。该共识旗帜鲜明地提出了“建设大学计算机体系”、“进一步确立大学计算机基础课程的基础地位”和“在坚持面向应用的过程中培养计算思维”等大学计算机改革方向。
2013年5月,教育部高等学校大学计算机课程教学指导委员会的深圳会议,发布了旨在大力推进以计算思维为切入点的计算机教学改革的宣言——“计算思维教学改革宣言”。宣言明确了“科学思维能力的培养是教育的最重要和最基本的目标之一”,“通过以计算思维为切入点的计算机课程改革,大胆扬弃现有的教学观念和方法,建设适应时代要求的新的教学体系”以及“在这项改革中,我们面临的最大挑战就是构建培养计算思维能力的教学体系”等问题。
2013年7月,在第二届“计算思维与大学计算机课程教学改革研讨会”上,来自全国各高校的360余名教师参加了此次研讨会。会上进行了成果分享,同时,陈国良等众多与会代表在大会上也表达了“计算思维是潜移默化的培养,不应该为计算思维而计算思维”,“计算思维过热,不要再提计算思维了”等观点。
在计算思维理念下,我国大学计算机相关课程的改革取得了一些标志性的和有一定影响力的成果。2011年,陈国良等认为大学第一门计算机基础课程是计算思维培养的一个关键,初步构建了以计算思维为核心的“计算思维导论”课程,并给出了该课程任务、基本要求,教学内容和教学方法。2012年,陈国良、王志强等出版了《计算思维导论》教材,并在深圳大学开设了“计算思维导论”课程。唐培和也出版了《计算思维导论》教材。
2012年,李晓明在全国多所高校开设了“网络、群体与市场”课程,并于2013年开始开设了相应的MOOC课程。该课程从交叉学科的角度出发,综合运用经济学、社会学、计算与信息科学以及应用数学的有关概念与方法,考察网络行为原理及其效应机制。课程讲解了一些社会学和经济学的经典问题实例是如何转变为计算机可以解决的形式,完全脱离了传统的计算机教材里对系统讲述计算机专业知识的讲授路线。该课程是培养计算思维的一个有益的尝试。
2013年2月,战德臣等通过构建计算思维教育空间——计算之树,从计算技术与计算系统的发展角度阐述了“核心”的计算思维,给出了大学计算机所面对的知识空间,进而通过分析非计算机专业学生未来对计算思维能力的需求,给出了大学计算机课程教学的一个内容体系方案。
2013年4月的厦门会议上,桂林电子科技大学的董荣胜教授做了“计算思维的表述体系(草案)”的报告,以及2013年7月,陈国良、何钦铭等在第二届“计算思维与大学计算机课程教学改革研讨会”上,公布了“计算思维教学改革白皮书(征求意见稿)”。他们构建了具有8类基本计算原理(计算、抽象、自动化、设计、通信、协作、记忆和评估)的计算思维的表述体系,同时也将这8类基本计算原理的关注点及涉及的核心概念进行了梳理。该计算思维表述体系参考了CC1991的12个核心概念和周以真的计算思维的基本概念,借鉴了Denning在“伟大的计算原理”的分类方法。其创新点在于:
(1) 白皮书在Denning的7类计算原理基础上增加了“抽象”,更好地提炼了计算思维的本质;
(2) Denning的7大计算原理是并列关系,陈国良等的计算思维表述体系将8大计算原理划分为3类,更好地描述了各原理的抽象层次和相互关系。
正如李廉教授所言,随着云计算、社会网络、物联网、普适计算、移动通信这些新技术的迅速发展,使得人们去编制一个程序的任务将会被寻找一个程序的任务所替代。对于大多数人所从事的工作而言,理解问题,并在云平台上找到解决问题的工具,其现实意义可能会远远大于自己动手制作解决问题的工具。目前大学计算机改革的一个重要特征是: 在非计算机专业的人才培养目标中,如何更好地实现专业化和信息化相融合的模式,提升未来社会对于计算机的理解和应用的整体水平。在这样的时代背景下,究竟给学生讲什么、怎么讲,是摆在广大计算机基础教育者面前的一个尖锐的问题。
总体来说,目前我国在大学计算机课程中培养“计算思维”的改革仍处于一个摸索阶段。在内容和方法上的突破性改革成果还不明显,还没有形成一套或几套科学的、得到普遍认可的、操作性强的大学计算机课程体系,更缺少与各学科紧密结合、将计算基本原理到专业课程相融合的研究成果,真正全方位进行大学计算机课程深化改革的高校也几乎没有。
在2012年教育部启动了大学计算机课程改革项目中,南开大学承担了“基于计算思维的人文类大学计算机系列课程及教材建设”的一个子项建设,建设了人文类大学生的公共计算机基础课程一个包括4门课程的课程体系。这4门课程分别是: “大学计算机基础”、“大学计算机应用教程”、“计算思维应用实例”和“大学计算机应用实践”。
本教材由担任南开大学公共计算机基础教学部的教师结合多年的教学经验和大学计算机课程教学的发展,面向我国高校人文类大学学生,力争在有限课时学习了解和学习一些计算原理和方法,同时具有自觉使用计算思维去解决实际问题的思维方式。赵宏负责第1章和第2章的编写并统编全书,王恺负责第3章的编写,赵宏、刘爽和高裴裴负责第4章的编写、张健负责第5章和第8章的编写(其中第5章涉及的CBDB数据库目前仅有英文和繁体中文版本,因此相应的界面图也是对应的英文和繁体中文界面)、高裴裴负责第6章和第7章的编写、李妍负责第9章和第10章的编写。
本书参考了大量的国内外论文、网络资源和书籍。由于能力和水平的限制,书中出现的不妥乃至错误之处,敬请阅读本书的老师、同学和读者指正。
在本书的编写过程中,得到了清华大学出版社的大力支持。在此表示真诚的感谢!
编者
2014年5月于南开园
