新工科背景下对于计算思维的再认识

2019-09-27 11:09狄长艳周庆国李廉
中国大学教学 2019年8期
关键词:数字经济计算思维新工科

狄长艳?周庆国?李廉

摘 要:从新工科建设的背景出发,探讨计算思维概念的深刻内涵。计算思维是从信息运动的角度认知和理解世界的思想和方法,在更深和更广的层面上揭示计算思维对于新工科的意义。信息流驱动的产业流程重组是新型工业经济的核心变革,以信息互联为中心的管理模式是数字时代的核心特征。计算思维和计算机科学具有不同的涵盖范围,面向计算机专业和非计算机专业学生的计算思维培养侧重点,以及相应的课程改革内容也有所不同。

关键词:计算思维;新工科;认知科学;数字经济;面向领域应用的教学;计算机教育改革

当前,我国高校正在积极推进新工科专业建设,从一般的意义上说,新工科就是用新一代信息技术改造传统的工科,主动设置和发展一批新兴工科专业,推动现有工科专业的改革创新,实施“再工业化”战略。在这个过程中,所有能够数字化的对象都将被数字化,所有能够自动化的流程都将被自动化,因此在大学的教学中,无论计算机专业还是非计算机专业,都需要突出计算思维在学习过程中的重要性,实现信息社会新一代人才的培养。本文从新工科建设的背景出发,对计算思维的内涵、意义以及在教学改革中的落实继续进行探讨,并且提出一些新的认识。

一、前言

“计算思维”是由美国卡内基·梅隆大学周以真(Jeannette M. Wing)教授于2006年第一次明确提出来的,并将其解释为“运用计算的基础概念求解问题、设计系统和理解人类行为的一种方法”。她大力提倡“将计算思维引入基础教育环节,预见计算思维将成为像读、写、算一样,每个人必备的认知技能”[1]。

这一概念一经提出,即引起国内外广泛关注,推动大学计算机基础教育从“工具论”向“思维论”转型。国内开展了多次计算思维的研讨会,就大学计算机课程的核心价值是培养学生的“计算思维”,以及“以计算思维为导向进行大学计算机课程改革”等观点达成了共识。但是具体到如何培养等问题还存在诸多不同的见解。对这些问题追根溯源,还在于目前对于计算思维的内涵理解有待继续深化。周以真在提出此概念的时候,通过列举计算机学科中的一些术语,用几个“是什么,不是什么”进行描述,但这不是计算思维定义的形式,且并未具体阐述如何实施计算思维教育[2]。

因此,国内外学者针对这一课题进行了广泛的研究与探讨,取得了一些积极的成果。文献[3]认为:“计算机科学最具有基础性和长期性的思想是计算思维。”文献[4]中提出“计算思维是运用计算机科学的思想与方法去求解问题……的思维活动”。美国K-12教育实践中,计算思维被宽泛地定义为一组认知技能和解决问题的方法,包括(但不限于)七大类特色,涉及逻辑地组织和分析数据、分解问题,算法设计、程序化的执行技巧,并且将问题解决过程拓展到社会和人文领域。

计算思维是当前国际计算机界广为关注的一个重要概念,是当前新工科建设中计算机教育重点研究的课题。但不可否认的是,人们并未就计算思维的定义与内涵达成一致[5]。如果我们连基本概念都没有弄清楚,那么在这一领域很难取得突破性进展。因此,本文从计算思维的研究对象入手,进一步探讨计算思维的内涵,指出计算思维是从信息运动的角度观察和理解世界。同时将计算思维的通俗化解释为:人类在认知过程中开辟的一个B世界(以数据形式重构的Bit世界),凡是A世界(Atom World,客观物质世界)不能直接解决和解释的问题,可以映射到B世界间接解决和解释,反过来影响和理解A世界。文章进一步给出了计算思维包含的具体内容,指出计算思维并不完全是计算机科学的思维,两者的涵盖范围有一定差异,明确了计算机专业和非计算机专业计算思维教学中不同的侧重点。

二、计算思维是从信息角度认知世界的思想和方法

1.计算思维提出的时代背景

每一时代的理论思维都是一种历史的产物,在不同的时代具有非常不同的形式,并因而具有非常不同的内容。因此,关于思维的科学,和其他任何科学一样,是一种历史的科学,关于人的思维的历史发展的科学[6]。关于计算思维的内涵,应该置于其所处的历史背景中去理解。计算的历史由来已久,但为什么直到2006年人类才明确提出计算思维的概念?要回答这一问题,必须考察这一时期人类社会的发展变化。

20世纪以前,人类采用大脑和手工方式记录、存储和分析信息,导致人类能处理的数据规模很小,对于信息的认知有限;直到1948年信息科学才首次由香农提出,并在其论文《通信的数学原理》中将Bit定义为测量信息的单位。正是香农的这一理论,使人类在经历了六千年的农业社会和近三百年的工业社会后,步入了信息社会。

20世纪40年代,计算机的发明使信息的加工和处理有了一种崭新的工具,同时由于计算方法和计算机科学的发展,使得计算机的计算能力突飞猛进。20世纪70年代各工业先进国家由于大量使用计算机,使科学技术获得了快速的发展,其成果比人类有史以来到20世纪60年代的总和还多。到了20世纪80年代,计算机在许多领域已成为不可或缺的工具,它从一种利用现有知识的工具发展为一种发现新知识的手段。诺贝尔物理学奖获得者Ken.Wilson明确指出“计算已成为除了理论和实验之外,科学研究的第三条腿”。

2000年后,借助计算机,信息科学和技术有了进一步发展。诺贝尔奖得主David Baltimore说:“生物学今天是一门信息科学。”物理学家提出,量子波携带产生物理效应的信息。經济学家根据其固有的信息流来分析经济系统。来自更多领域的科学研究表示,信息过程出现在各自领域的深层结构中。

伴随着上述信息加工和处理的实践,人们对信息有了从现象到本质的了解,认识到它对推动社会生产和人类进步的巨大作用,信息成为和物质、能量同等重要的资源,成为国民经济活动的主要内容。人类以物质流驱动的商业模式正在转变为以信息流驱动的商业模式。计算思维正是处于这样的历史背景中提出的,其中包含两大基本前提:一是人类对于信息概念的深入认知;二是信息处理工具的发明和发展,使得人类的信息处理能力大幅度提高。因此,计算思维的提出是时代发展的必然,是人类认知和实践的产物。其根本意义在于“从信息运动的角度认知世界”这一方法的逐渐成熟。这也是计算机科学属于信息科学的原因。

2.信息和计算的关系

在刚刚出版的《计算机教育与可持续竞争力》一书中,提出了“计算思维是基于信息的获取和分析计算,以算法求解、系统构建、自然与人类行为理解为主要特征,实现认知世界和解决问题的思想与方法”的定义[7],指出计算思维有两个立足点,即信息和计算。信息是组成世界的三大基本元素之一,那么计算是什么?图灵虽然从理论上建立了计算的模型,但是在实际问题中如何界定计算活动仍留下了很多空白。国际著名计算科学家Z.Manna在《计算的数学理论》中写道:“什么是计算?我相信,世界上,没有两个计算机科学家会就这一概念给出相同的定义。”[8]本文从文献资料中,摘取了有代表性的多个阐述如下。

图灵奖得主Karp提出,很多自然、工程和社会系统中的过程自然而然是计算的,计算就是执行信息的变换[9]。ACM曾任主席Denning指出,人类愈加发现信息和计算是诸多领域的基本过程,计算不再仅仅是一门人造科学,它是对自然和人为的信息过程进行研究[10]。平台软件Mathematica的首席设计师Wolfram认为“计算作为一种概念的重要性被严重低估了,它只是作为一种方法的背景被提到,却没有意识到计算本身才是应该研究的核心问题”[11]。陈国良院士认为“长期以来,计算机科学与技术这门课程被构造成专业性很强的工具学科,‘工具意味着它是一门辅助性学科,并不是主业,这种狭隘的认知对于信息科技的全民普及极其有害”[12]。国内多个教材将“计算机科学”定义为“对描述和变换信息的算法过程系统地进行研究的科学,包括算法过程的理论、分析、设计、有效性、实现和应用”[13]。

由此可见,大多数文献都赞成“计算是对信息进行处理”,计算的认知主体是信息。因此,本文认为计算思维的主要特征在于信息,而不仅仅是计算。

3.“从信息的角度认知世界”将计算思维与其他两种科学思维区别开来

一种思维模式实际上就是一种认识世界的方法与观点,也就是我们所说的世界观。人们认识物质最早,到工业化时期才真正认识能量,并发现能量和物质可以相互转换。现有的物理科学系统正是基于伽利略、牛顿、爱因斯坦从物质的角度观察世界而揭示的结论。这一领域的典型特点是,结论无论是通过什么方式得到的,只有在实验中被观察和验证,才能被接受。“实证”是判定结论正确性的唯一标准。从这一点说,实证思维具有明显的可感知特点。可感知指的是思维的结论可以由客观世界直观形象表现出来。而以逻辑思维为代表的数学学科,则不同于实证方法,其研究对象、结论的产生以及结论的验证都是以抽象的形式表达,只要从公理出发,论证过程符合逻辑,则其结论就会得到承认。该结论是否与自然世界的现象符合与结论的正确性之间没有关系。在20世纪40年代之前,这两种方法互为补充,构成了整个科学大厦的基石。

20世纪40年代以来,随着科学技术的进步,人们终于认识到客观世界里还有信息的存在。控制论的创始人维纳认为,信息就是信息,不是物质也不是能量。由此,基本确定了现实世界的三大组成要素:物质、能量和信息。人们也构造了解释世界的信息论模型,从信息的角度观察和解释世界,极大扩展了人类的认知范疇,以前从物质和能量角度无法解决和解释的事情,现在可以从信息的角度给以解释和解决。比如,分子生物学以DNA结构的信息编码、生物大分子间的信息传递等理论阐明了生物的本质和遗传规律,由此揭示出生物界在遗传密码及生命信息传递和表达式上所呈现出的惊人统一性。

文献[14]中谈到计算思维的重要特质之一是从关联的角度分析现象背后的规律,而这一特征正是信息的基本属性。香农提出信息概念,是受玻尔兹曼“熵”概念的直接启迪,认为信息是消除不确定性。由此信息也经常被认为是负熵,是物质和能量在空间和时间中分布不均匀程度,是系统的序,这里的“序”就包含了时间和空间上的关联关系。

综上所述,本文认为计算思维是人类在认知实践中发展出的一系列从信息运动角度观察和解释世界的思想和方法,只有将计算思维从局限于计算机的框架中抽离出来,提升到科学认知的高度,才能解释“计算为什么会扩展了我们对自己作为生物系统的理解,以及我们与周围世界的关系”[15],也才能彻底地将其与其他两种思维形式划分开来。

三、计算思维与计算机科学的关系

计算思维是由计算机科学家提出的,是计算机科学的典型思维形式,那么计算思维是否就是计算机科学中的思维,两者的关系如何?这一问题是计算思维概念中最重要和最基本的问题,本文从计算思维解决问题的一般方法入手,展开上述问题的讨论,深化计算思维的内涵理解。

如上所述,计算思维是从信息运动的角度观察和理解世界的一种思想和方法,而计算是这一思想和方法实现的主要手段,是对信息进行处理和变换。信息是真实世界的一种客观存在,它必须经由某种抽象才能在计算机中处理,这种抽象就是数据,数据是信息的载体。运用计算的方法解决问题,本质上是将客观世界中的问题从信息角度进行抽象,再以二进制Bit的形式进行重构,经由算法实现机器的自动处理,以此解决客观世界无法直接解决的问题,包括设计系统和理解人类行为。这也是“为什么构造性是计算思维典型特征”的原因。信息时代,我们发现越来越多的问题可以用这种方法来处理,从宏观上而言,人类以数据再造了一个虚拟的Bit世界。如果将以原子(Atom)构成的物质世界称为A世界,以Bit方式构成的世界称为B世界,则计算思维可以通俗的理解为,人类在认知过程中开辟的一个B世界,凡是A世界不可解决和解释的问题,可以映射到B世界间接解决和解释,反过来影响和理解A世界。

本文定义的计算思维概念隐含了其解决问题的一般方法和步骤:(1)计算机建模。待解问题从A世界到B世界的映射。(2)程序设计。B世界中的重构问题在计算平台的自动处理。(3)将计算结果返回A世界进行检验和反馈,以迭代方式完善解决方案。尽管计算思维的概念和内涵还存在争议,但是人们却就计算思维解决问题的一般方法和步骤达成了一致。文献[1]中认为计算思维是“首先将问题进行抽象表达,然后用自动化的方式描述解决方案”的过程。文献[16]采用“现实世界问题域—建立模型—编程实现—计算机世界执行求解”这一表达。

在这两部分中,计算机建模涉及不同领域中待解问题的信息提取和抽象重构,隐含着对领域内知识的深入理解。而程序设计部分指出,所有重构问题的解决都需要在一定的计算环境和平台中完成。计算机科学的作用恰在于此,它为其他学科从信息角度认知世界,提供了强有力的计算环境和平台,保证来自不同领域的用户获得快速、便捷和可靠的信息处理能力,以解决本领域的问题,它是B世界的基础设施。从这一意义出发,本文将B世界划分为两部分,一是面向所有领域、所有人的应用层;二是由计算机科学搭建的基础设施层,既包括硬件实体,也包括提升处理效率和保证结果可靠的软件方法,围绕这一部分,计算机科学发展出了系统的思想和方法。

1.计算机科学构建了B世界的基础设施层

(1)计算机科学的基本问题是围绕B世界的基础设施层提出的。在文献[17]中,作者从科学哲学的角度阐述了计算机学科的三个基本问题,并指出尽管表述不同,但其核心思想是一致的。这三个基本问题分别是:①计算的平台与环境问题。计算的平台问题指从理论和实践上给出自动计算的机器,此外计算平台在使用上还要比较方便,由此派生出计算环境的概念。计算机学科中的计算模型、实际的计算系统、高级程序语言、体系结构等都是围绕这一问题展开的。②计算过程的能行操作和效率问题。一个问题的实际解决,必须按照能行的可构造性特点,在一定的开销内给出实际解决的具体步骤,计算机科学的分支,如算法设计与分析、数字逻辑、计算复杂性理论等都是围绕这一问题展开的。其基本的核心就是算法问题。③计算的正确性问题。一个计算问题在给出能行操作序列的同时,必须确保计算的正确性,如此计算才有意义,而程序验证理论、计算的可靠性和安全性、分布式网络协议等分支,则是围绕这一问题展开。围绕这三个基本问题的计算机科学研究构建了整个B世界的基础设施层,提供了信息处理的软硬件平台和环境,保证了信息处理过程的效率和结果的正确性。

(2)计算机科学的发展脉络是基于B世界的基础设施层展开的。第一代计算机采用电子管,在这一时期,计算机发展实现了三个转变:从军用到民用,从实验室到工业生产,从科学计算到数据处理。第二代计算机采用了当时先进的晶体管技术,一方面提升了计算能力,减小了设备体积,另一方面出现了高级语言、操作系统等的研究,计算机的使用难度大大降低。第三代计算机采用的集成电路,沿着速度更快、体积更小的方向继续发展,大容量、高速度计算机的出现,使计算机的应用范围大大扩展,软件系统的规模越来越大,20世纪60年代出现了软件危机,人们意识到软件开发在系统设计成败中具有举足轻重的作用,这一时期出现了软件工程、程序理论等分支学科。同时操作系统的研究也有长足的进步,由于操作系统屏蔽了底层复杂的硬件操作,用户只需要通过调用一些功能接口就能实现计算机的操作,其直接结果是计算机的受众人群进一步扩大。第四代计算机朝着专业化、微型化、网络化的方向发展,微型化使得计算机真正进入寻常百姓家,专业化使得计算机深入各行各业而不局限在计算机相关领域中,网络化实现了計算机的全球覆盖。这些发展相应地又促进了计算机体系结构技术、并行与分布式算法和计算机网络方向的形成和发展。

综上所述,从学科发展史来看,计算机学科的发展目标是提供计算能力更强、可靠性更高、使用更方便的计算平台和环境支撑,以使更多人和更多领域受益。计算机科学为人类从信息角度认知世界提供了强大的工具,伴随着计算能力的快速发展,人类才真正迎来了信息时代。

2.B世界中的应用层

从计算机学科的研究范畴和核心内容出发,应用层又可以划分为两部分:一是一般应用层,指将计算机应用于各领域进行具体的信息处

理;二是基础应用层,研究计算机应用于具体领域的共性理论、方法和技术。前者应划入具体应用的学科,后者属于计算机科学的范畴。因此对于非计算机专业的一般应用而言,学习计算思维更多的是了解和领会如何从信息运动的角度来分析问题,从信息处理的角度来解决问题,而对于具体的分析处理信息的平台和工具,则由计算机专业进行研究和开发。

综上所述,计算思维涵盖了从基础设施层面到应用层面的各个方面。对于非计算机专业,我们从应用层面来理解计算思维,并从中找到解决应用问题的思路和方法。而对于计算机专业,更多的是从基础设施层面理解计算思维,设计和开发用于处理信息的各种平台和工具软件。这就可以看出计算机专业和非计算机专业对于计算思维的不同要求。计算机科学在其中扮演着工具和平台提供者的角色,各个学科都有可能借此平台创造性地发现和解决本学科的问题。由此才能充分解释周以真教授在文献[1]中对于计算思维的定义——计算思维是运用计算科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。

我们经常说,计算思维正在深刻影响传统的工科专业和技术领域,这种影响是从内而外的彻底改造,而不仅仅是表面上的变化,将一些产业的传统工序实现自动化,或者将一些人工管理用计算机实现,这只是表面的工作,并不会触动传统产业深层次的结构,充其量只能是信息化十分初步的内容,在这个层面上还谈不上对于传统工科的深刻影响。真正的变化是站在信息和数据的角度,通过计算思维对于全产业链和服务模式的重新认知,并且由此带来对于人和物、人和社会、甚至包括物和物之间相互关系的重新建立,形成像柔性制造、智慧医疗、移动支付那样的颠覆性创新,这才是新工科建设对我们提出的新问题和新挑战。

四、计算思维教学设计

如上所述,计算思维解决自然和社会问题的基本原理和方法是“从信息运动的角度对问题进行抽象,用数据表达信息实现问题建模,使之能够采用自动化的方式处理”。这一表述,蕴含着计算思维在应用中的三个具体问题:A世界的问题是否都可以经由映射,在B世界中得到解决?对于可解决的问题,如何通过信息采集和抽象,实现B世界中问题的建模?建模后的问题如何实现自动处理?

第一个问题是计算机学科的基本问题——

什么是可计算的?只有可计算的问题才可以通过建模的方式,实现计算机平台的自动处理。第二和第三个问题是计算思维教学要表达的内容。第二个问题本质上是如何实现A世界中问题的计算机建模,第三个问题是模型的自动处理,即程序和算法设计问题。当今社会越来越多地依赖计算机作为分析和解决问题的工具,这导致大多数计算思维教学以程序和算法为核心。从以上分析可以看出,程序和算法设计固然是计算思维教学内容的重要部分,但并不是其全部。诚然,具体的编程技能对于问题的求解举足轻重,但是很明显“计算思维”不是要把每个人变成程序员,而是希望通过计算机科学提供的计算平台和工具,使不同领域的人可以从信息属性的角度创造性地理解和解决本领域的问题。这也是大学计算机基础教育从传统的“工具论”上升到“思维论”的出发点,要让学生体会到,由于看问题角度的改变(从传统的物质角度到信息角度),而打开了一扇新世界的大门,带来认知层次上的提升。

在新工科建设中,各个传统的工科专业都在经历信息化和数字化的改造过程。但是在这个过程中,如果只是将原来的手工作业改成自动化作业,这只是对于传统产业的自动化改造,属于工业3.0的内容。信息化真正的意义在于,信息理论和技术的发展,可以使得人们在信息层面认识世界和理解问题,并通过信息流来重新组织生产流程或者商业模式,建立以信息为中心的新型社会管理系统,从而改变甚至颠覆原有的以物质流组织生产的方式,信息(也即数据)成为驱动社会发展的新动力和新能源,这是信息社会和数字经济的深层含义。因此对于非计算机专业的学生,要学会从信息和计算的观点下思考本领域如何实现新的行业形态,而不是仅仅了解计算机本身,有关计算机的基本知识和内容是必要的,但是将计算机与本行业的结合才是本质的,我们应该从面向学科知识的教学转向面向领域应用的教学。由于从小学到大学,关于实证思维和逻辑思维的训练十分充分,而对于计算思维的训练则相对偏弱,因此在大学阶段需要大力加强计算思维方面的课程建设,使得学生的科学思维方式能够跟上信息时代的要求。另一方面,由于计算思维提出的时间不长,其中的一些概念和内涵也还有待于深化,因此继续开展计算思维的研究仍有必要,特别是在新工科专业建设中如何培养学生从计算思维角度来理解新的工业革命,需要做出大量的理论研究和教学实践工作。

在这样的背景下,提出了对于计算机专业和非计算机专业学生在计算思维培养上的不同要求。计算机专业学生的培养目标在于理解计算机科学的本质,为其他学科提供更强大、便捷和可靠的计算平台和环境。非计算机专业则应使学生能从其所从事的行业、学科或者所关注的问题出发,学习如何有效提取其中的信息属性,分析其中的信息流动规律,实现问题的计算机建模。经济学中的囚徒困境模型、物理学中的伊辛模型、机械行业中的数字化制造、医学中的精准医疗等都是这方面很典型的案例。对于问题的准确理解与合理建模将极大促进问题解决,而相对复杂的程序实现过程,完全可以通过与计算机专家合作来实现。

综上所述,面对非计算专业学生的计算思维教学关键点在于:具有一定的信息素养和信息敏感性,培养学生将其所在领域的问题进行有效信息提取和抽象能力,即计算机建模能力;理解计算机科学的基本原理和解决问题的基本方法,培养学生在计算机科学搭建起来的基础设施平台上畅行无阻;具备计算机科学的基本话语能力,可以与计算机专业人员进行有效的沟通交流。基本内容大体可以有如下几个方面。

(1)计算机理论基础。包括计算机如何实现逻辑和算术运算,计算机硬件的组成,操作系统的基本原理,计算机如何表达文字、声音和图像,数据存储和检索,计算机网络基本原理,程序的基本原理和软件开发流程,理解常用的几种典型算法,理解物联网和移动网络的基本内容。这一部分内容的教学目的是让非计算机专业的学生理解计算机解决问题的一般原理和过程,实现专业人员和非专业人员之间的沟通和交流。

(2)各学科典型的计算机建模案例。包括計算机建模的有效抽象工具(系统框图、状态转换图、机器学习模型等),以及典型跨学科模型的应用案例介绍。比如博弈模型如何用来理解经济学问题,发源于物理学的伊辛模型如何应用于社会学领域,当前的社会热点共享单车或者无人驾驶的工作原理和实现流程图,超市排队中如何实现优化设计等。建议结合具体的应用案例,让学生在实践中,体会计算机技术如何和科研、工作和生活的方方面面相结合,培养学生从信息运动的角度发现问题和观察世界的意识。

(3)计算机的具体应用。由于学生对计算机技术掌握的差异性以及培养目标的不同,这部分可根据情况而设。建议在实际教学中,立足差异,采用小班教学的方法,开展可视化编程技术、机器人实践、大数据分析、移动应用软件开发、人工智能流图(tensorflow)等方向的具体技能培训,并且积极参与各种计算机应用大赛。这部分内容的设置并非可有可无,它充分体现了专业领域与计算机之间的融合,实现动手和动脑的协同,让学生在解决实际问题过程中获得深入学习的乐趣和动力。

此外,对于计算机领域的热门话题,有能力的学校还可以开展人工智能、物联网、云计算、大数据、网络安全等重大技术的哲学思考及其对于社会的影响等专题类课程,使计算思维真正惠及各专业的学生。

参考文献:

[1]WingJ.M. Computational Thinking[J].Communications of ACM,2006,28(9):23-28.

[2] 史文崇. 全球计算思维研究与实践综述[J]. 计算机工程与应用,2018,54(4):31-35.

[3] 孙家广. 计算机科学的变革[J]. 中国计算机学会通讯,2009,5(2).

[4] 董荣胜,古天龙. 计算思维与计算机方法论[J]. 计算机科学,2009,36(1):1-4,42.

[5] NRC. Report of a work shop on the pedagogical aspects of Computational Thinking[M]. Washington D C,USA:National Academical Press,2011.

[6] 恩格斯. 自然辩证法[ M ] . 北京:人民出版社,1971:27.

[7]“计算机教育20人论坛”报告编写组. 计算机教育与可持续竞争力[M]. 北京:高等教育出版社,2018.

[8] Manna, Z. Mathematical Theory of Computation[M]. New York: McGraw-Hill,1974.

[9] K. M. Karp. Understanding Science through the Computational Lens[J]. Journal of Computer Science and Technology, July 2011, 26(4): 569-577.

[10] P. J. Denning, P. Computing is a natural science[J]. Communications of the ACM, 2007, 50: 15-18.

[11] Barry Cooper,Andrew Hodges. The once and future Turing:computing the world[M]. Cambridge University Press, 2016.

[12] 陈国良,董荣胜. 计算思维与大学计算机基础教育[J]. 中国大学教学,2011(1).

[13] 闵应骅. 作为学科的计算科学[M]. 北京:清华大学出版社,1994.

[14] 李廉. 关于计算思维的特质性[J]. 中国大学教学,2014(11):8-14.

[15] Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K-12: What is Involved and What is the role of the computer science education community?[J] ACM Inroads, 2(1), 48–54.

[16] Cuny J.,nyder L.,Wing J. M.Demystifying CT for noncomputer scientists[EB/OL].http://www.cs.cmu.edu/compthink/resources/thelinkwing.pdf,2017-10-15.

[17] 徐志偉,孙晓明. 计算机科学导论[M]. 北京:清华大学出版社,2018.

[责任编辑:余大品]

猜你喜欢
数字经济计算思维新工科
面向新工科的Python程序设计交叉融合案例教学
新工科形势下高校二级学院毕业设计管理探索
新工科背景下大学生创新创业教育探索
OECD国家数字经济战略的经验和启示
从数字经济视角解读欧亚经济联盟与丝绸之路经济带对接
数字经济对CFC规则的冲击探究
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养