计算思维与计算机方法论
第36卷 第1期计算机科学Vol. 36No. 1计算思维与计算机方法论
董荣胜 古天龙
(桂林电子科技大学计算机与控制学院 桂林541004)
摘 要 尽管计算思维与计算机方法论有着各自的研究内容与特色, 但是, 显而易见, 它们的互补性很强, 可以相互促
进。比如, 计算机方法论可以对计算思维研究方面取得的成果进行再研究和吸收, 最终丰富计算机方法论的内容; 反过来, 计算思维能力的培养也可以通过计算机方法论的学习得到更大的提高。介绍了计算思维与计算机方法论存在的密切联系, 以及以学科认知理论体系构建为核心的计算机方法论在中国的研究与应用。相对而言, 计算思维的研究主要在国外, 主要是在美国和英国, 他们研究的重点放在计算思维的过程及其实质和特征上。此工作有助于人们对计算思维与计算机方法论的认识, 以及对它们展开进一步地深入研究。关键词 计算学科, 计算机, 计算思维, 计算机方法论, 计算机科学与技术方法论中图法分类号 TP3-05 文献标识码 A
Computational Thinking and Methodology DON G Rong 2(School of Computer and Control , , Guilin 541004,China )
Abstract Although methodology of computer science and technology each have their own research aspects , obviously , they are highly complementary with each other , promoted by each other. Methodology of science and technology can further study and absorb the achievements in computational thinking conversely , competency training of computational thinking will also be improved greatly by studying metho 2dology of computer science and technology. This paper described the relationship between computational thinking and metho 2dology of computer science and technology , introduced the research and application of methodology of computer science and technology in China , which construct theoretical system with the principles and methodologies of computer science as its core. Comparatively speaking , the study on computational thinking was mainly investigated in America and Brit 2ain , and their researches focus on its process , essence and characteristic. Our work will help people understand compu 2tational thinking and methodology of computer science and technology and make f urther study. K eyw ords Computing discipline , Computer , Computational thinking , Methodology of computer ,Methodology of com 2puter science and technology
思维活动。
以上是关于计算思维的一个总定义, 周教授为了让人们更易于理解, 又将它更进一步地定义为:通过约简、嵌入、转化和仿真等方法, 把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的思维方法; 是一种递归思维, 是一种并行处理, 是一种把代码译成数据又能把数据译成代码, 是一种多维分析推广的类型检查方法; 是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法, 是基于关注分离的方法(SoC 方法) ; 是一种选择合适的方式去陈述一个问题, 或对一个问题的相关方面建模使其易于处理的思维方法; 是按照预防、保护及通过冗余、容错、纠错的方式, 并从最坏情况进行系统恢复的一种思维方法; 是利用启发式推理寻求解答, 也即在不确定情况下的规划、学习和调度的思维方法; 是利用海量数据来加快计算, 在时间和空间之间, 在处理能力和
, 这样, 计算思维又可以更清晰
1 计算思维是什么
本文所指的计算思维, 主要指2006年3月, 美国卡内基
・梅隆大学计算机科学系主任周以真(Jeannette M. Wing ) 教授在美国计算机权威杂志,ACM 会刊《Communications of the ACM 》杂志上给出, 并定义的计算思维(Computational
Thinking ) [1]。
周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
为便于理解和应用, 本文将定义中的“基础概念”更换为更为具体的“思想与方法”
[19]
地定义为:运用计算机科学的思想与方法进行问题求解、系统设计, 以及人类行为理解等涵盖计算机科学之广度的一系列
到稿日期:2008209230
董荣胜(1965-) , 教授,CCF 会员, 研究方向为形式化技术、协议工程、计算学科认知理论; 古天龙(1964-) , 教授, 博士生导师, 研究方向为软件规约、验证及测试、知识工程与符号计算。本文为作者在第四届大学计算机课程报告论坛所作的专题报告。
存储容量之间进行折衷的思维方法。
计算思维吸取了问题解决所采用的一般数学思维方法, 现实世界中巨大复杂系统的设计与评估的一般工程思维方法, 以及复杂性、智能、心理、人类行为的理解等的一般科学思维方法[2]。
计算思维建立在计算过程的能力和限制之上, 由人由机器执行。计算方法和模型使我们敢于去处理那些原本无法由个人独立完成的问题求解和系统设计。
计算思维最根本的内容, 即其本质(Essence ) 是抽象(Ab 2straction ) 和自动化(Automation ) [2]。计算思维中的抽象完全超越物理的时空观, 并完全用符号来表示, 其中, 数字抽象只是一类特例。
与数学和物理科学相比, 计算思维中的抽象显得更为丰富, 也更为复杂。数学抽象的重大特点是抛开现实事物的物理、化学和生物学等特性, 而仅保留其量的关系和空间的形式, 而计算思维中的抽象却不仅仅如此。
堆栈(Stack ) 是计算学科(Computing discipline , 计算机科学、计算机工程、软件工程、信息系统、信息技术等相关专业的总称) 中常见的一种抽象数据类型, 这种数据类型就不可能像数学中的整数那样进行简单的相“加”。再比如, 种抽象, 法。同样, , 。不仅如此, 施有关。因此, , 以及可能产生的错误。在程序的运行中, 如果磁盘满、服务没有响应、类型检验错误, 甚至出现危及人的生命时, 还要知道如何进行处理。
抽象层次是计算思维中的一个重要概念, 它使我们可以根据不同的抽象层次, 进而有选择地忽视某些细节, 最终控制系统的复杂性; 在分析问题时, 计算思维要求我们将注意力集中在感兴趣的抽象层次或其上下层; 我们还应当了解各抽象层次之间的关系。
计算思维中的抽象最终是要能够机械地一步步自动执行。为了确保机械的自动化, 就需要在抽象的过程中进行精确和严格的符号标记和建模, 同时也要求计算机系统或软件系统生产厂家能够向公众提供各种不同抽象层次之间的翻译工具。
周教授对计算思维的特征进行了总结, 给出了计算思维的以下6个特征:
(1) 概念化, 不是程序化
计算机科学不是计算机编程。像计算机科学家那样去思维意味着远远不止能为计算机编程, 还要求能够在抽象的多个层次上思维。为便于理解周教授的意思, 可以更进一步地说, 计算机科学不只是关于计算机, 就像音乐产业不只是关于麦克风一样[5]。
(2) 根本的, 不是刻板的技能
根本技能是每一个人为了在现代社会中发挥职能所必须掌握的。刻板技能意味着机械的重复。具有讽刺意味的是, 只有当计算机科学解决了人工智能的大挑战———使计算机像人类一样思考之后, 思维可以真的变成机械的了。就时间而言, 所有已发生的智力, 其过程都是确定的; 因此, 智力无非也是一种计算, 我们应当将精力集中在“好的”计算上, 即采用计算思维来造福人类。
(3) 人的, 不是计算机的思维
计算思维是人类求解问题的一条途径, 但决非要使人类像计算机那样的思考。计算机枯燥且沉闷, 人类聪颖且富有想象力。是人类赋予计算机激情。配置了计算设备, 我们就能用自己的智慧去解决那些计算时代之前不敢尝试的问题, 实现“只有想不到, 没有做不到”的境界。计算机附给人类强大的计算能力, 人类应该好好利用这种力量去解决各种需要大量计算的问题。
(4) 数学和工程思维的互补与融合
计算机科学在本质上源自数学思维, 因为像所有的科学一样, 它的形式化基础建筑于数学之上。计算机科学又从本质上源自工程思维, 因为我们建造的是能够与实际世界互动的系统, 基本计算设备的限制迫使计算机科学家必须计算性的思考, 而不能只是数学性的思考。构建虚拟世界的自由使我们能够超越物理世界的各种系统。数学和工程思维的互补3个学科形态(或过上[16219](, , 更重要的是计算的概念, 这种概念被人们用于问题求解、日常生活的管理, 以及与他人进行交流和互动。
中国科学院自动化所王飞跃教授认为:在中文里, 计算思维不是一个新的名词。在中国, 从小学到大学教育, 计算思维经常被朦朦胧胧地使用, 却一直没有提高到周教授所描述的高度和广度上, 也没有那样的新颖、明确和系统。
周教授所描述的计算思维给我们带来了重新审视我们学科的视野, 也使我们更加重视学科所蕴含的思想与方法。这种重视, 会促成王飞跃教授所希望的, 使我们的学科产生“涅磐”般的重生[4]。
(6) 面向所有的人, 所有地方
当计算思维真正融入人类活动的整体以致不再表现为一种显式之哲学的时候, 它就将成为现实。就教学而言, 计算思维作为一个问题解决的有效工具, 应当在所有地方, 所有学校的课堂教学中得到应用。
针对不少人认为计算机科学等同于计算机编程等方面的错误认识, 周教授认为, 当我们用行动来改变这种狭隘的社会认识时, 计算思维就是一个引领计算机教育家、研究者和实践者的宏大远景。周教授呼吁:计算机科学家应该传授计算机科学的快乐、崇高和力量, 并致力于使计算思维成为人们处理问题的常识。
计算思维的提出, 得到了美国教育界的广泛支持, 不仅有卡内基・梅隆大学的专题讨论, 更有包括美国数学研究所(A IM ) 等组织在内的众多团体的参与。2008年6月, 在网上公布的ACM 对CC2001(CS2001) 进行的中期审查报告(CS2001Interim Review ) (草案) , 就明确将计算思维与“计算机导论”课程绑定在一起, 并明确要求该课程讲授计算思维的
[6]
本质。
2008年6月, 美国计算机科学技术教师协会(CSTA ) 在网上发布了得到美国微软公司支持的《计算思维:一个所有课
(Comptational Thinking :A problem 2sol 2堂问题解决的工具》
ving tool for every classroom ) 报告, 对什么是计算思维进行了
总结, 为便于人们了解, 还对计算思维在计算机科学、自然科学、数学、社会学科、语言艺术、美术、生命科学等学科领域方
[7]
面的经典论文进行了分类。
计算思维不仅影响着美国, 也影响着英国的教育, 在英国的爱丁堡大学, 人们在一连串的研讨会上探索与计算思维有关的主题。每次研讨会, 都有不少专家讨论计算思维对他们学科的影响。研讨会上所涉及的学科已延伸到哲学、物理、生
[8]
物、医学、建筑、教育等各个不同的领域。另外, 英国计算机学会(BCS ,British Computer Society ) 也组织了欧洲的专家学者对计算思维进行研讨, 提出了欧洲的行动纲领[9]。
值得人们注意的是, 计算思维的提出, 不仅得到美国教育界的广泛支持, 并且还直接促成了美国国家科学基金会(NSF ) 重大基金资助计划CDI (Cyber 2Enabled Discovery and Innovation ,Cyber 能够实现的科学发现与技术创新) 的产生。CDI 计划旨在使用计算思维(特别是在该领域产生的新思想、新方法) 促进美国自然科学和工程技术领域产生革命性的成果。根据CDI 的要求, 最终CDI 的研究成果, 将使人们的思维模式发生转变, 这种以“计算思维”为核心的转变, 要反映在美国自然科学与工程, 任务书认为, ]2 本文所讨论的计算机方法论, 主要指的是, 董荣胜教授与古天龙教授等人2002年提出, 并构建的计算机科学与技术方法论(Methodology of Computer Science and Technolo 2gy ) [17,18]。
计算机科学与技术方法论是对计算领域认识和实践过程中一般方法及其性质、特点、内在联系和变化发展进行系统研究的学问。计算机科学与技术方法论是认知计算学科的方法和工具, 也是计算学科认知领域的理论体系。
(Computing as a 该理论体系建立在《计算作为一门学科》
discipline ) 报告给出的一个关于计算学科二维定义矩阵的基础上[11](如图1所示, 其中, 学科主领域已由报告给出的9个修改为CC2001报告给出的14个) 。
三个过程
1. 离散结构(DS )
2. 程序设计基础(PF ) 3. 算法与复杂性(AL ) 4. 体系结构(AR ) 5. 操作系统(OS ) 6. 网络计算(NC ) 7. 程序设计语言(PL ) 8. 人机交互(HC )
9. 图形学和可视化计算(GV ) 10. 智能系统(IS ) 11. 信息管理(IM ) 12. 软件工程(SE )
13. 社会和职业的问题(SP ) 14. 科学计算(CN )
抽象理论设计
图1 计算学科二维定义矩阵
《计算作为一门学科》报告遵循了一般科学技术方法论的
思想, 它给出了计算学科二维定义矩阵(简称定义矩阵) 的概
(抽象、念并细化了其内容。定义矩阵的一维是“3个过程”理
论和设计) , 另一维是主领域。特别当主领域仅为计算学科时, 定义矩阵便是《计算作为一门学科》报告中所指的“知识框架”。
“知识框架”反映了计算领域中人们的认识是从感性认识(抽象) 到理性认识(理论) , 再由理性认识(理论) 回到实践(设计) 中来的科学思维方式。在这里, 这个“知识框架”是对计算学科总的概括, 它是稳定的; 而“知识框架”的内容(值) , 即各主领域及其“3个过程”的内容, 则随计算技术的发展而变化。
计算学科二维定义矩阵, 是对当时计算学科的一个高度概括。因此, 我们可以将把握计算学科的本质问题归约为把握计算学科二维定义矩阵的本质问题。要把握定义矩阵的本
(抽象、质, 就是要分别把握定义矩阵的“横向”理论和设计3
(各主领域) 共有的、个过程) 以及“纵向”能反映各主领域内在
联系的思想和方法的本质。
“横向”关系的内容, 理论和设计3个过程的内在、理, 更重要的还在于3个过程之间的相互, 推动了计算学科及其分支领域的发展。
“横向”关系中还蕴含着学科中的科学问题。由于人们对客观世界的认识过程就是一个不断提出问题和解决问题的过程, 这种过程反映的正是抽象、理论和设计3个过程之间的相互作用, 因此, 科学问题与抽象、理论和设计3个过程在本质上是一致的, 它与“3个过程”共同构成了计算机科学与技术方法论中最重要的内容。
“纵向”关系的内容, 即各分支领域中所具有的共同的能反映学科某一方面本质特征的内容, 既有助于我们认知计算学科, 又有助于我们更好地运用方法论中的思想从事计算领域的工作, 它是方法论中仅次于科学问题与“3个过程”的重要内容。
“纵向”关系, 即各分支领域之间, 主要存在以下两个方面的联系:
(1) 各分支领域中的某些研究内容是一致的, 比如数据库中的并发控制、缓冲区管理的思想与操作系统中的并发控制和缓冲区管理的思想是一致的。
(2) 计算学科中具有方法论性质的核心概念、数学方法、系统科学方法、形式化技术、社会和职业的问题贯穿于各分支领域之中, 揭示了计算学科各分支领域的内在联系, 使计算学科各分支领域结合成一个完整的体系, 而不是一些互不相关的领域。
综上所述, 计算学科二维定义矩阵中的科学问题, 抽象、
(横向”理论和设计3个过程“关系) 与计算学科中的核心概
念、数学方法、系统科学方法、形式化技术、社会和职业的问题(纵向”“关系) 构成了计算学科方法论的主要内容。自此, 计算学科认知领域的理论体系———计算机科学与技术方法论已经建立。
以上是理论体系的建立采用的是自然语言的描述, 对于我们学科而言, 显然不够, 人们更希望看到的是用形式化方法定义的理论体系, 董教授与古天龙教授在文献[17]中借助数学的集合论, 采用公理化的方法, 给出了计算机科学与技术方
法论的形式化定义。
由于公理化方法主要用于回顾性的总结, 对学科中有争论的问题以及未来探索性的展望作用有限。因此, 董教授等人在计算机科学与技术方法论构建的基础上, 又增加了两个对计算学科认知有重要影响的内容, 这些内容以任务的形式加以确认:一个是对计算教育史上和当前计算教育实际中有争议的问题作出科学的分析和评论; 另一个是根据计算技术发展的趋势和要求, 对计算教育中提出的新课题作出回答, 对未来的计算教育作出科学的预测。董教授认为, 原有的计算机科学与技术方法论的内容再加上现在新增的内容, 又形成了一门新的基础理论———计算教育哲学。
计算机科学与技术方法论构建后。董教授向学术界极力推荐这种计算认知领域的理论体系, 并认为, 随着这种理论体系的不断完善, 必将给人们一种完全超出自己粗放的想象的认识计算学科的能力。
为尽快将计算机科学与技术方法论的思想应用于教学实践, 董教授与古天龙教授合著了《计算机科学与技术方法论》(人民邮电出版社2002年9月出版) 一书。为便于大学一年级学生的学习, 董教授还撰写了《计算机科学导论———思想与
(高等教育出版社2007年9月出版) 一书。方法》
据统计, 目前已有北京大学、学、兰州大学、新疆大学、学院、《计算机科学与技术方法论》与———思想与方法》两本书选为“计算机方法论”或“计算机导论”课程的教材或主要教学参考书。
计算机科学与技术方法论的研究工作引起国内外计算机教育界的重视,2001年7月, CC2001任务组负责人美籍华人Carl Chang 教授在上海参加由中国计算机学会教育专业委员会和全国高校计算机教育研究会联合主办的“新世纪计算机教育与CC2001教程研讨会”上看到《计算机科学与技术方法
(会议论文[12]) 一文后, 即在大会报告中肯定了这项工作, 论》
并在CC2001原来报告(草案) 的基础上, 增加了“计算机科学与技术方法论”的有关内容, 并首次明确要求学生要更多地了解“学科方法论”的内容[13]。
2002年8月, 由清华大学出版社出版的《中国计算机科学与技术学科教程2002》采用了“计算机科学与技术方法论”的有关研究成果。同时“教程”, 还将“学科方法论”列为现代教育思想的内核, 并明确指出:在计算机科学与技术学科的教育中, 学科方法论的内容占有非常重要的地位[14]。
2003年10月, 全国高等学校计算机教育研究会在桂林举办了全国“计算机科学与技术方法论”专题学术研讨会, 清华大学等国内近百所高校的150多位代表参加了会议。会议代表肯定了“计算机科学与技术方法论”对计算学科的重要作用, 不少代表还介绍了使用本成果的体会, 会议论文集由中文核心期刊《计算机科学》专辑出版[15]。
3 计算思维与计算机方法论的关系
非常巧合的是, 计算思维与计算机方法论的研究, 与现代数学思维与数学方法论的研究有不少相似之处。国内研究的重点都放在学科方法论上, 国外都强调学科的思维方式[20]。相对于数学, 计算机方法论的研究要幸运一些, 它已完成了数
学方法论梦寐以求的理论体系的构建。另外, 它的研究内容建立在世界著名计算机组织ACM 和IEEE 2CS 大量研究工作的基础上, 与国外计算思维方面的研究具有更好的互补性, 也更易于吸收国外教育的先进理念。
尽管观角不一样, 但是计算思维与计算机方法论关心的都是计算学科最本质的东西。计算思维是从学科思维这个层面直接讨论学科的根本问题与学科的思维方式, 而计算机方法论则是从方法论的角度来讨论学科的根本问题和学科形态。
计算思维直接抓住学科思维的本质, 即抽象(Abstrac 2tion ) 与自动化(Automation ) 来讨论问题, 这就需要人们仔细地分析这两个概念, 并用大量的实例讨论它们与数学和物理等学科的不同, 以及这种强大的思维能力对其他学科的影响。计算思维本身的研究需要细致、深入, 以及相应的丰富而又扎实的学科理论基础。而就其一般的应用而言就简单了, 以至
(Reading , writing and a 2周教授认为, 与通常的“读、写、算”
rithmetic , 简称3R ) 一样, 21世纪每一个人都必, 周教授在其广为宣传的:如P =? N P 问题, 施行, 汉诺塔问题等, 以及计算思维对其他学科的重要影响。
在计算思维的课堂教学方面, 美国计算机科学技术教师协会认为, 计算思维应当是所有学校所有课堂教学都应当采用的一个工具。采用这个工具, 教师自然会问以下几个问题:
(1) 人所固有的能力与局限性? 计算机的计算能力与局限性?
(2) 问题到底有多复杂? 也即, 问题解决的时间复杂性? 空间复杂性?
(3) 问题解决的判定条件是什么?
(4) 什么样的技术(各种建模技术) 能被应用于当前的问题求解或讨论之中?
(5) 什么样的计算策略更有利于当前问题的解决?
在研究工作上如何采用计算思维, 著名的计算机科学家、图灵奖获得者詹姆士・贵(J ames Gray ) 认为, 一项研究, 其研究的问题应该具有以下特点:
(1) 一个问题能否进行非常简单的陈述, 或者说, 要明确到底需要解决什么样的一个问题, 或更专业地来说, 一个问题(或概念) 是否能够用一个模型来表述并进行讨论?
一个表述清楚的问题, 通常能够得到周围人的理解和支持。虽然目前还不清楚具体怎么做, 但是对问题解决之后能够带来的益处应该非常清楚。
(2) 问题解决的方案和所取得的进步要有可测试性。(3) 问题的整个解决过程要能划分为一些小的步骤, 划分的好处是, 你可以看到中间每一个取得进步的过程。
计算机方法论与计算思维研究的重点不同, 它更关注计算学科认识理论体系的构建, 也就是哪些概念是计算学科最原始的概念, 哪些概念是从这些最原始概念派生出来, 或蕴含其中的。用学科的行话来说, 就是计算学科概念认知模型的构建。
计算机方法论借鉴了一般科学技术方法论的思想, 采用
(下转第42页)
容、协商时机, 而且知道协作的目标, 所以可以在通信时采取端对端的方式。试验表明, 采用该方法生成的协作策略在完成协作任务获得目标奖励的同时可以有效降低通信量。
本文中MAS 协作策略是在全部可观察的马尔可夫决策过程(Dec 2MDP ) 模型中生成的,Dec 2MDP 作为Dec 2POMDP 的一种特例。下一步的工作就如何将本文中的方法应用到Dec 2POMDP 模型中展开研究。
AI Research ,2004[3]
Rot h M ,Simmons R ,Veloso M. Exploiting Factored Represen 2tations for Decentralized[J]∥AAMAS07. 2007:4692475[4]
Boutilier C ,Dearden R , G oldszmidt M. Stochastic dynamic pro 2gramming wit h factored representations [J ].Artificial Intelli 2gence ,2000[5]
王飞, 刘大有. Bayesian 网中的独立关系[J].计算机科学,2001
(12) :33236
参考文献
[1]
Bernstein D S , G ivan R , Immerman N ,et al. The complexity of cent ralized control of Markov decision processes [J].Mat hema 2tics of Operations Research ,2002[2]
G oldman C V ,Z ilberstein S. Decent ralized control of cooperative systems :Categorizationand complexity analysis[J].Journal of
[6]张新良, 石纯一. M_POMDP 模型及其划分求解算法[J].清华大学学报:自然科学版,2005(10) :30236
杨善林, 胡小建. 复杂决策任务的建模与求解方法[M ].北京:科学出版社,2007
方美琪, 张树人. 复杂系统建模与仿真[M ].北京:中国人民大学出版社,2005
[7][8]
(上接第4页) 参考文献
[1]Wing J M. Computational Communications of t he , 2006, ()
M. and Thinking about Com 2http ://www. cs. cmu. edu/~wing/pub 2Wing08a. pdf ][4][5][6][7]
了计算学科中的抽象、理论和设计3个概念作为学科最原始的概念, 以学科中的“认知从感性认识(抽象) 到理性认识(理论) , 再由理性认识(理论) 回到实践(设计) ”作为惟一原始命题, 构建了计算学科认知领域的理论体系, 知模型框架的构建。
, 来填充。内容的充实, 的划分, 也即是, (集合) 进行划分, 采用集合论中等价类的划分原则, 将集合划分为抽象、理论和设计3个子集; 第二项是对3个子集的相互关系进行分析, 以了解和掌握学科的发展规律。第一项任务《计算作为一门学科》报告做了, 第二项任务文献[16219]做了。
计算机方法论通过典型实例有序的引出学科的科学问题; 它从一般方法论、计算机方法论和实例3个层面介绍学科的抽象、理论和设计; 它从程序员的角度, 以计算机语言的发展为主线, 将自然语言、形式语言、图灵机、冯・诺依曼计算机, 以及程序等内容有机地联系在一起, 讲透程序与机器的关系, 为学生深入学习和理解计算机系统打下基础; 它介绍学科核心概念的来源, 以及学科普遍采用的数学方法、形式化方法, 以及系统化方法; 它让学生了解社会与职业, 为未来的职业生涯作准备; 它介绍学科有争论的问题并对学科的未来进行展望。
计算机方法论中最原始的概念为:抽象、理论和设计。这3个概念与计算思维最基本的概念(抽象与自动化) 反映的都是计算最根本的问题:什么能被有效地的自动进行。从教学的角度来说, 计算机方法论中的这3个概念更易为人们所掌握。从研究的角度来说, 计算机方法论遵循一般方法论的研究范式, 更易展开研究工作。然而, 对于具有丰富经验的计算机科学家来说, 由于没有方法论研究中范式的约束, 撰写有关计算思维方面的文章反到可能是他们的长处。
尽管计算思维与计算机方法论有着各自的研究内容与特色, 但是, 显而易见, 它们的互补性很强, 可以相互促进。比如, 计算机方法论可以对计算思维研究方面取得的成果进行再研究和吸收, 最终丰富计算机方法论的内容; 反过来, 计算思维能力的培养也可以通过计算机方法论的学习得到更好的提高。
周以真. 计算思维. 中国计算机学会通讯,2007,3(11)
王飞跃. 从计算思维到计算文化. 中国计算机学会通讯. 2007,3
(11)
http ://www. cs4f. org/
CS2001Interim Review (draft ) . http ://wiki. acm. org/cs2001/index. php ? title =Main_Page,2008
Philips P. Comptional Thinking :A problem 2solving tool for ev 2ery classroom[EB/OL ],2008. http ://www. csta. acm. org/Re 2sources/sub/ResourceFiles/Computational Thinking. pdf
[8][9]
Bundy A. Computational Thinking is Pervasive. Journal of Sci 2entific and Practical Computing , Noted Reviews ,1(2)
BCS. The science of t hinking :Europe ’s next policy challenge [EB/OL ].2008. http ://www. sciencebusiness. net/document s/t hinking. pdf
[10]http ://www. nsf. gov/crssprgm/cdi/
[11]Denning P J ,et al. Computing as a discipline. Communications of t he ACM ,1989,32(1) [12]董荣胜. 向学术界推荐一个认知计算学科的工具———计算机科
学与技术方法论(大会报告) . 上海:新世纪计算机教育及
CC2001研讨会,2001. 7
[13]ACM/IEEE 2Curriculum 2001Task Force. Computing Curricula
2001. Computer Science. IEEE Computer Society Press and ACM Press , 2001
[14]中国计算机科学与技术教程2002研究组. 中国计算机科学与技
术学科教程2002. 北京:清华大学出版社,2002[15]全国高等学校计算机教育研究会. 全国“计算机科学与技术方法
论”专题学术研讨会论文集. 计算机科学,2003,30(6, 专辑) [16]董荣胜. 计算教育哲学初探[J].计算机科学,2000,27(1)
[17]董荣胜, 古天龙, 等. 计算机科学与技术方法论[J].计算机科学,
2002,29(1)
[18]董荣胜, 古天龙. 计算机科学与技术方法论[M ].人民邮电出版
社,2002(9) [19]董荣胜. 计算机科学导论———思想与方法[M ].高等教育出版
社,2007(9) [20]郑毓信, 肖柏荣, 熊萍. 数学思维与数学方法论. 四川教育出版
社,2001