王茹娟
摘要:计算思维的培养不是计算机单一专业的要求,而是整个大学通识教育的重要组成部分。为了让学生尤其是非计算机专业的学生更好地理解和掌握计算机的原理和本质,更好地应用计算机技术解决本专业实际问题,教师在计算机课程教学中应以计算机的核心概念、重要原理和先进技术为依托,以计算思维的解决思路为主线,以多学科融合的典型案例为延伸,打破各专业之间的壁垒,实现思维的迁移。
关键词:计算思维;融合
doi:10.16083/j.cnki.1671-1580.2017.04.030
中图分类号:G642
文献标识码:A
文章编号:1671-1580(2017)04-0104-03
一、介绍
计算思维是人类在思维过程中参与制订问题及其解决办法的一种思维模式,通过这种方式能快速、有效地进行信息处理,提出问题的解决方案。计算思维几十年来在学术界有着不同的名称和定义。1962年由Alan Perlis最早提出,同时阐述了卡内基理工学院(现在是卡内基·梅隆大学)的编程入门课程。基于他的研究Seymour Papert在1980年使用编程语言进行数学概念的教学,正如所望,程序性的思维(即“像计算机一样思考”)被认为是构成整体思维技能的一部分。直到2006年,JeanetteWing在ACM美国计算机学会通讯发表了“计算思维”这篇文章,从此,计算思维得到了新的定义。Wing提出计算思维不只对计算机这门学科的专家有用的一种技能,而是任何人在解决问题和发现计算解决方案时都能使用的心理过程。在这个更广泛的意义上,计算思维可视为一项与所有学科有关的技能,不仅仅是计算机科学。
Denning提出了计算思维本身是否是科学探究的一个方面、问题或延伸,事实上可能被纳入更广泛的科学原理的架构问题。计算科学出现在其他科学中,不是作为一个流动的概念,而是一个来自科学本身的概念。计算思维被看作是这种科学的一个特点。而不是计算机科学的一个显著特征。
二、计算思维与各学科的融合
计算思维与各学科专业有着千丝万缕的联系,要分析“计算”与各学科之间的融合关系,依据专业需求和学生特点来设置相应的课程内容和教学方法。在教学和学习方法的创新中,非计算机专业的计算思维的培养取决于跨学科的兴趣和延伸。Rob.errs等人设计了计算思维与自然和社会科学方面进行交叉的训练方法并进行了拓展。Curzon等人提出“最美的计算是工程、科学、艺术;它没有明确的边界,并涉及到每个学科。这种跨学科的方法给了我们机会来提高学生除计算机以外的兴趣”。通过计算机与非计算机学科之间的交叉培养来提高学生的计算思维,将计算这种思想与各专业相结合,以促进专业的学习。
(一)计算思维与STEM领域的融合
在大学教育中,关于计算思维的实践教学研究主要在科学、技术、工程和数学(sTEM)领域中。目前,计算机科学与生物学之间已经出现了交叉重叠的概念。Navlakha和Bar-Joseph提出了如何在系统生物学和计算思维的各种概念交叉点上进行融合。值得注意的是,从计算思维的角度来看,这两个学科的交叉点出现在“传统”(基于图灵)的概念中,例如神经网络的概念。他们主张进一步融合两个学科,将提高对生物进化的理解,同时也能改善各种算法的设计。秦红设计的基于计算思维的生物信息学课程得到了学生积极的回应,但由于各种因素,比如学生在学习更多的计算机技术的不适应,如Linux,以及计算机实验室设计中所出现的各种问题表明需要进一步改革教学环境与方法。
在物理学方面,Caballero,Kohlmyer and Schatz使用VPython编程环境引入计算思维概念介绍力学课程教学。他们发现“解决一系列计算作业中的问题之后,大多数的学生都能够成功塑造出一个新的问题”。在这些情况下,学生未必能建立一个成功的模型,但通过对质量问题分析和调试技能的额外关注,性能将会得到提高。
Hambrusch等人研究并创建了屬于科学而非特定领域的计算思维主修课程。此课程能够满足一般的计算要求,大学中应用编程和计算思维概念处理物理学、生物学和统计学中的问题。从学生的进入和退出统计中分析,在计算机科学和计算机编程中学生的完成度有所增加。
计算思维在STEM领域中的交叉及应用使学生通过计算思维的训练,解决问题的能力有所提高。
(二)“计算”概念在非STEM领域中的不确定性
将计算思维方法纳入非计算机科学和数学领域之外的学科是很困难的。一是由于“计算”概念的不确定性,二是因为计算思维是仅限于使用一个封闭的、基于图灵模型的计算方法来解决问题的观念。
例如,通过计算机的数据采集和处理的应用使得考古领域取得重大进展。它现在能通过计算构造出详细的3D可视化考古遗址,包括人工分布以及放射性探测等资料。基于Agent的建模已被用于探索史前环境与人类互动的假设。但简单地将一个计算机科学家加入到考古发掘中(或甚至只是对人进行复杂的硬件或软件使用方面的培训),并不意味着“计算思维”已经成为整个领域的主要内容。
过于扩大“计算”作为形容词在各个领域中的应用,计算机作为工具和计算思维也有可能造成混淆。“计算考古学”在不同的上下文中可以有截然不同的意义。在考古界的学术领域,它描述了应用程序的计算机工具、网站分析和集合的工具。在基因学研究领域,它是一套分析物种之间的基因水平转移的方法。这种缺乏精度的术语使它更难确定计算思维在高等教育中的实际应用。
三、交叉学科的融合障碍
计算思维在人文学科中的应用并不广泛,虽然在个别机构对此做出了研究。例如,斯坦福大学文学实验室,将计算思维的各元素应用于文学作品中,从计算思维借鉴来的应用图理论对威廉·莎士比亚、红楼梦等作品中的人物关系和相互作用进行网络分析。然而,人文学科的构成问题使用“传统”算法(图灵型)可能会难以解决。计算思维在文学研究的应用,并非不重要那么简单,而是因为被分析的数据也是含糊不清,而且计算分析文本的困难将随着语义维度的增加而变得越来越难。
此外,在人文学科内还有在某些情况下很难使用分析技术,因为其含义有可能被简化。人文是致力于解释,作为知识的概念来理解现象、社会、文化的世界,是通过构想和制定的行为,没有机械或自然主义写实表示的预先存在的、明显的信息。Papert指出当考虑科学知识时,创建“命题性的知识”和“程序性知识”是存在二义性风险的。例如,自然语言理解一直是计算机专业领域所研究的重点课题,其中所涉及到的语义网络、本体映射等都是计算机科学的研究范畴。而研究的一些成果已经有大量的应用,若从此来看人文学科与计算机的交叉意义已非分析那么简单。
尽管如此,在一些人文和社会科学领域中依然有一些算法被提出。例如,在政治学领域,Frohock观察到算法思想的线性和基于规则的性质可能成为一个多元化的社会的必要条件。Turkle和Pap.ert指出纯粹的形式主义计算模型的影响,他们还进一步提出除了计算问题方法的不同之外,还可能通过关于学生性别和思维方式等社会假设进行强化。但是,许多反对在人文和艺术中应用计算思维的人假设计算思维是闭合的、有限的的理论和方法;重点是新兴的计算模型和计算机科学家跨学科培训可能鼓励计算思维方法的发展更适用于人文和美术的“开放——终结”问题方面的研究。
在音乐表演领域,Edwards提出音乐可以通过计算机进行合成。他将计算机应用到二十世纪中叶起源的音乐作品中,使用计算机程序塑造人声部分并与音乐进行合成,而这一应用印证了合成音乐的算法的有效性,是人机协作的完美体现。我们认为人类情感思维的不确定性和计算思维融合扩大了人们的创造力和扩展力,而计算思维则推动了交互计算的新模型的发展。
将计算思维加入到人文与艺术领域的主修课程中,需要适当的介绍计算思维的原理。Cortina指出“非技术性非专业的严谨和细节需要正确编写计算机程序是必不可少的”。对此他提出制定一个新的课程作为编程入门的替代课程。其重点是无需任何实际的编程算法和计算思维原理,而不是编写代码,学生用流程图模拟器创建简单的计算机游戏。soh等人提出更为详细的跨学科计算思维课程,这个是针对文艺复兴时期的艺术提出的计算项目,并在内布拉斯加大学进行通用。这一项目跨越了计算机、工程、人文和美术等多个学科。该项目提出了多种途径,通过一系列的专门根据工程、科学、艺术或人文为主要研究領域的学生设计计算机科学课程,学生还将参与协作学习活动,不同的学生群体将分配到跨学科项目中的不同工作中。
四、结论
将计算思维技能纳入大学课程,问题主要在分析和设计的过程而不是发展和实施步骤。教学设计者将计算思维视为其他思维技能等同,设计计算思维课程所使用的策略类似于那些用来教学的一般方法。我们需要更多的研究,建立计算思维和教学设计与技术衔接得更好和更具体的教学设计战略。