王茹娟
摘 要:计算思维几十年来在学术界中一直存在争议,直到2006 年, Jeanetee Wing描述计算思维是能够使学生在所有领域可以获得成功而需要的一项思维技能。Wing有关计算思维的理论和著作有着广泛的影响,已经成为研究计算思维的学者在制定教学计划时的主要参考材料,用于将计算思维贯穿于12年的义务教育之中。尽管着手点在义务教育之中,然而,除了计算机科学、 技术、 工程和数学(STEM)之外很少涉及计算思维,但是计算思维在高等教育中的潜力亟待人们去发掘。文章的目的是审视当前计算思维在高等教育领域中的状态,并讨论计算思维与其他学科的相关性。
关键词:计算思维;高等教育;STEM
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2017)04-0003-03
Abstract: Computational thinking had been controversial in the academic world for several decades until 2006, when Jeanetee Wing described that computational thinking is a thinking skill that enables students to succeed in all fields. Wing's computational thinking theories and works have had a profound influence and become a major reference for making teaching plans for researchers in the field of computational thinking, which has thus been applied to the 12-year compulsory education. Despite the starting point in compulsory education, computational thinking is rarely utilized except in computer science, technology, engineering and mathematics (STEM). The potential of computational thinking in higher education, however, is yet to discover. This paper is intended to examine the current utilization of computational thinking in higher education and discuss the correlation between computational thinking and other disciplines.
Keywords: computational thinking; higher education; STEM
一、介绍
计算思维是人类在思维过程中参与制订问题及其解决办法的一种思维模式,通过这种方式能快速地、有效地进行信息处理,提出问题的解决方案[1]。计算思维几十年来在学术界有着不同的名称和定义。1962 年由Alan Perlis最早提出,同时阐述了卡内基理工学院(现在是卡内基.梅隆大学)的编程入门课程[2]。基于他的研究Seymour Papert在 1980 年使用编程语言进行数学概念的教学,正如所望,程序性的思维(即“像计算机一样思考”)被认为是构成整体思维技能的一部分[3]。
直到 2006 年,Jeanette Wing在ACM美国计算机学会通讯发表了“计算思维”这篇文章,从此,计算思维得到了新的定义。Wing的文章提出计算思维不只对计算机这门学科的专家有用的一种技能,而是任何人在解决问题和发现计算解决方案时都能使用的心理过程。在这个更广泛的意义上,被视为逻辑思维的一部分,计算思维可视为一项与所有学科有关的技能,不仅仅是计算机科学。因此,Wing认为:“像对阅读、写作和算术一样,我们应将计算思维加到评价每个学生的能力中去”[4]。
二、计算思维在高等教育中的缺失
在高等教育方面,对计算思维的应用则较为分散。对于计算机科学专业的本科生早期阶段的教学而言,计算思维技能问题仍然是热门的研究课题,也是在各个重要的、有革新性的领域中的研究热点,但是许多对计算思维在交叉学科感兴趣的,要么是具体的机构,例如卡内基·梅隆大学和斯坦福大学,要么就是较大学院专业的分支机构。而没有机构将计算思维作为一个基本的技能融入到除计算机科学以外的几个学科中。之所以会出现这种情况,主要是以下几个原因:
1. 计算思维概念化的问题。这些问题更容易在中小学通过务实专注教学方法来解决它们,却成为高等教育中更注重研究领域教育的潜在障碍。
2. 除了计算机科学和数学领域,对于从计算机科学分离出来的计算思维方法和简单的应用计算机程序去解决数据问题的区别了解不多。
3. 即使在计算机科学中,对于计算的理解也是有限的。有些问题是可计算的,而另一些则不能。可能,在人文和其他非科学领域核心训练问题的构建是一种非计算性的;在某些情况下用“可计算”方式来构建这些问题也许是不可取的。但是,我们当前理解计算的局限性可能被新兴计算模型所改变,例如自然计算和并行交互计算[5]。
在本文中,我們会进一步了解现状以发现计算思维在高等教育中的潜力,希望能够为构建计算思维教育提供一套明确的方向,以便更好地学习和应用计算思维。
三、计算思维在高等教育中的应用
在大學教育中,关于计算思维的实践教学研究依然很大程度上存在于科学、技术、工程和数学(STEM)领域中。Miller和Settle对计算机科学和非计算机科学专业的学生对学习树(路径)遍历的多个方法进行了研究。这些样本表明进行过非结构化学习的学生比经过传统教学的学生表现的更好[6]。
有研究表明,基于游戏的学习可能是复杂计算思维技能训练的有效策略。这种游戏原理的理解有可能早在60年代初就被提出了[2]。更多现代的研究将解决谜题游戏作为一种方法介绍编程的入门课程。它的原型最初是一个电脑游戏,学生使用混合的方向和命令移动头像来通过较为复杂的系列“脑筋急转弯”问题[7]。作者认为,“作为学习内容的游戏玩法,使学生理解了编程的工作原理,并使用这些原理作为游戏元素来解决环境中的问题,而使游戏成为有意义的事”。其后续的实验表明:“游戏可以支持可视化的入门性的编程结构“[8]。作者希望通过更大的样本量来进行进一步的实验研究,以探索他们以游戏为基础的学习与计算思维的假设。
在教学和学习方法的创新中,非计算机专业的计算思维的培养取决于跨学科的兴趣和延伸。Roberts等人设计了计算思维与自然和社会科学方面进行交叉的训练方法并进行了拓展[9]。Curzon等人提出“最美的计算是工程、科学、艺术;它没有明确的边界,并涉及到每个学科。这种跨学科的方法给了我们机会来提高学生除计算机以外的兴趣”[9]。通过计算机与非计算机学科之间的交叉培养来提高学生的计算思维,将计算这种思想与各专业相结合,以促进专业的学习。
计算机科学与生物学之间本身存在着交叉重叠的概念[9-10]。Navlakha 和Bar-Joseph提出了如何在系统生物学和计算思维的各种概念交叉点上进行融合。值得注意的是,从计算思维的角度来看,这两个学科的交叉点出现在“传统”(基于图灵)的概念中。例如神经网络的概念。在物理学方面,Caballero, Kohlmyer and Schatz使用 VPython编程环境引入计算思维概念介绍力学课程教学。他们发现“解决一系列计算作业中的问题之后,大多数的学生都能够成功塑造出一个新的问题”[11]。在这些情况下,学生未必能建立一个成功的模型,但通过对质量问题分析和调试技能的额外关注,性能将会得到提高。Hambrusch等人研究并创建了属于科学而非特定领域的计算思维主修课程[12]。此课程能够满足一般的计算要求,大学中应用编程和计算思维概念处理物理学、生物学和统计学中的问题。从学生的进入和退出统计中分析,在计算机科学和计算机编程中学生的完成度有所增加。
将计算思维方法纳入非计算机科学和数学领域之外的学科是很困难的事情。一是由于“计算”概念的不确定性,二是因为计算思维是仅限于使用一个封闭的、基于图灵模型的计算方法来解决问题的观念。当考虑科学知识时,创建“命题性的知识”和“程序性知识”是存在二义性风险的。例如,自然语言理解一直是计算机专业领域所研究的重点课题,其中所涉及到的语义网络、本体映射等都是计算机科学的研究范畴。而研究的一些成果已经有大量的应用,若从此来看人文学科与计算机的交叉意义已非分析那么简单。
将计算思维加入到人文与艺术领域的主修课程中,需要适当的介绍计算思维的原理。为非技术专业的学生介绍计算机科学课程的类型,以便更适应学科的发展。Soh等人提出更为详细的跨学科计算思维课程[13],这个是针对文艺复兴时期的艺术提出的计算项目,并在内布拉斯加大学进行通用。这一项目跨越了计算机、工程、人文和美术等多个学科。框架提出了多种途径,通过一系列的专门根据工程、 科学、 艺术或人文为主要研究领域的学生设计计算机科学课程。学生还将参与协作学习活动,不同的学生群体将分配到跨学科项目中的不同工作中。
将计算思维纳入大学课程,问题主要集中在分析和设计的教学设计过程而不是发展和实施步骤。教学设计者将计算思维视为其他思维技能等同;因此他们设计计算思维课程所使用得策略类似于那些用来教学的一般化方法。因此,我们需要更多的研究,建立计算思维和教学设计与技术衔接得更好和更具体的教学设计战略。
四、 结束语
本文综述了计算思维的相关问题,包括计算机科学与其它非计算机学科之间的联系和如何将计算思维课程纳入非计算机学科中。当然还面临以下几个问题:
1. 计算机与其它学科之间怎样合作,计算思维在其他学科的高等教育发展中的概念化、 执行和评价,建立在各种环境下的共享的模型。
2. 在各种非技术性学科,尤其是社会科学、人文学科和教育教学中如何建立计算思维的方法、策略、示例和案例。
3. 实现评价计算思维所需要的更广泛的资源。
4. 计算思维教学的研究成果,特别是在非技术性学科。
学生的计算思维能力在进入大学之初就是不平衡的,这与多种因素相关,受地域、家庭、性别、学生兴趣、初等教育水平等多种因素影响,因此,在提出各种教育方案之前,了解和分析学生的状况是教育工作者的一项艰难任务。
计算思维的学习、教学工具和评估程序成为高等教育学生素质发展的需要仍然存在。应进一步研究计算思维与各学科之间的关系。此外,高等教育是一个复杂和相对的环境,改变需要时间。然而,思考和寻求更深层次的解释将更多地影响未来跨学科的发展。
参考文献
[1]Cuny,J. Snyder,L.&Wing,J..Demystifyingcomputational thinking for non-computer scientists.Work in progress,2010.
[2]Perlis,A.The Computer in the University.In M.Greenberger, Ed. Computers and the World of the Future Cambridge, MA:MIT Press,1962:180-219.
[3]Papert,S. Mindstorms: Children,computers, and powerful ideas.New York, NY: Basic Books,1980.
[4]Wing,J.M. Computational thinking.Communications of the ACM,2006,49(3),33-35.
[5]Dodig-Crnkovic,G. Significance of models ofcomputation,from Turing model to natural computation.Minds & Machines,2011,21(2):301-322. doi:10.1007/s11023-011-9235-1.
[6]Miller,C.S.,& Settle,A. When practice doesn'take perfect:Effects of task goals on learning computingoncepts.ACM Transactions on Computing Education,2011,1(4).
[7]Kazimoglu,C.,Kiernan,M.,Bacon,L.& Mackinnon,L. Developing a game model for computationalthinking and learning traditional programming throughgame-play.In J,2010.
[8]Kazimoglu,C.,Kiernan,M.Bacon,L.,& MacKinnon,L. Understanding computational thinking beforeprogramming: Developing guidelines for the designof games to learn introductory programming throughgame-play.International Journal of Game-Based Learning,2011,1(3):30-52.
[9]Curzon,P.,Peckham,J.,Taylor,H.,Settle,A.,gRoberts,E.computat
ional thinking(CT):On weaving it in.SIGCSE Bulletin,2009,41(3),doi:10.1145/1595496.1562941.
[10]Navlakha,S.,& Bar-Joseph, Z. Algorithms in nature:he convergence of systems biology and computationalhinking. Molecular Systems Biology,2011,7:546.
[11]Caballero,M.D.,Kohlmyer,M.A.,& Schatz,M.F.(2012).Fostering computational thinking in introductorymechanics.AIP Conference Proceedings,141(1),15-18.doi:10.1063/1.3679982.
[12]Hambrusch,S.,Hoffmann,C.,Korb,J.T.,Haugan,M,&Hosking,A.L.Amultidisciplinary approachtowards computational thinking for science majors. SIGCSE Bulletin,2009,41(1).
[13]Soh,L-K.,Samal, A., Scott, S., Ramsay, S., Moriyama, E.,Meyer, G., Moore, B., T.G. Thomas & Shell, D.F.Renaissance computing: An initiative for promotingstudent participation in computing.SIGCSE Bulletin,2009,41(1):59-63.