杨越
摘 要:随着全球网络信息与通讯技术的发展,人类生活中电脑被广泛应用的同时,却很少有人觉察到身边的电脑及其科学技术原理。计算机计算思考的技巧,应该是每个人都应该学会与使用的一种应用态度与技能。作为利用信息科学的知识与能力进行问题解决的一种重要的思维观念与思想方式的计算思维日益受到重视。本文概述了有关于计算思维概念提出的时代背景、基本特点及日常生活应用的实例,旨在让更多的人来关注与重视计算思维能力的培养。
关键词:电脑;计算思维;解决问题
作为一种广泛应用能力的计算思维(Computational Thinking),主要依靠与利用信息化社会下信息与计算机科学的知识与能力进行问题解决。计算思维提出了面向问题解决的系列观点和方法,这些观点和方法有助于人们更加深刻地理解计算的本质和计算机求解问题的核心思想。近年来,世界主要的一些先进国家日益将计算思维作为学生在学校学习中具备的分析能力重要组成内容及培养目标,同时被纳入学校教育的教学改革重点,注重通过课程与教学的变革来强化学生的计算思维能力,努力提升人才培养质量与增强学生生活品质。
一、计算思维提出的时代背景
全球网路与通讯信息技术正日益改变人类的生活与生产方式,这种变化曾经是一种被称为“变色龙”动物具有的生活习性,正日益浸润到我们人类生活而逐步成为信息社会生活的定律。使用平板计算机、视讯即时电话、网络在线购物以及微信社交等现代媒介与电脑技术,越来越多的资料与信息被迅速收集分享,极大地增加了人们彼此的连结,深刻地影响着人们的生产生活质量,这种例子不胜枚举。譬如将农业、渔业、营养及人口的数据整合到单一的数据库中,可以有效率地管理全球食物供给问题;在没有医疗建设的地方,移动电话搭载着价格低廉的镜头,可以变成显微镜去检查诸如生病的贫血细胞;新科技让汽车们彼此之间可以及时沟通,可以减少80%左右的车祸机率,从而改善交通流量及维护了道路安全;人类基因图谱的绘制在诊断和治疗疾病有革命性的改变,接下来几十年也会继续进行[1]等等。
人类生活中广泛应用电脑,因为其加速计算、处理数据能力正随着现代计算机技术的改变而不断增强。即使这样,我们却很少想到自己身边的电脑及其科学技术基础原理。为此,传授给每一个人电脑的基础知识,应用现代电脑信息技术去创新解决生活中的实际问题,培养有适应性、有弹性的问题解决者,让他们从不断发展的电脑技术中转换出一种与之相关与匹配的思维能力,并以此来增进人们的生活质量,成为当今世界社会发展的重要关切。计算思维将基础的计算器科学概念运用到问题解决,系统设计和对人类行为了解上的一种思维方式,[2]正是这种背景下逐步形成与发展起来的新的研究与实践领域。随着现今世界信息技术分蓬勃发展,计算思维必将成为人们了解和认识世界的基础。
二、计算思维的基本概念与特点
事实上,关于“计算思维”概念的提出者,可以更早追溯到麻省理工学院(MIT)的Seymour Papert教授。他在从事Logo编程语言的工作中,提出了让儿童操作电脑编制程序的想法,他认为这将使他们能够通过编程开发他们的程序思维。近来,由于更好的计算工具及移动技术的进展及其容易获取的优势等原因,使计算思维的话题被重新点燃并日益受到广泛关注。
2006年3月,美国卡内基梅隆大学的计算机科学系教授Jeannette M.Wing 在世界计算机科学领域最顶级期刊JACM(Journal of the Association for Computing Machinery)刊物上发表了一篇题为《计算科学》的论文。她正式提出计算思维的概念,指出计算思维是建立在计算机科学基础之上,吸收其基本概念,它主要涉及问题解决、系统设计以及对人类行为的理解。她认为,学校育中儿童的分析能力中都需要加入计算机计算的概念,包括读写算在内的所有的基础能力都应该加入计算机计算的因素。在她看来,计算机计算思考的技巧,并非计算机科学家的专利,而是每个人都应该急切学会与使用的一种应用态度与技能。[3]
计算思维提出了面向问题解决的系列观点和方法,这些观点和方法有助于人们更加深刻地理解计算的本质和计算机求解问题的核心思想。但对于什么是计算思维以及其具有什么样的特征的问题,一些学者,主要是计算机科学领域研究者试图定义核心概念,他们强调计算思维主要是应用数学和工程思维,系统地、正确地及有效的处理信息和任务,设计专门的系统,以帮助解决人类面临的重点复杂问题的一种概念性方式。
来自美国信息教育领域重要网站ISTE(International Society for Technologyin Education)也主张将计算思维作为一个问题解决的过程,其主要特点包括这么几方面:1.将问题转换为我们可以用计算机和其他工具去解决的方式。2.有逻辑地组织与分析数据。3.使用例如模型或仿真等抽象化的方式来表达数据。4.通过演算的思维自动地解决问题。5.确认、分析、实践可行的解决方案,以达到最有效益的步骤与资源整合的目标。6.将一般化问题解决过程转化到其他各式各样的问题解决上去。
相关研究进一步指出,具备计算思维的个体需要具备特定的基本态度与心理倾向,主要包括:有信心处理复杂的事;愿意坚持并能处理困难的问题;能容忍含糊不明确的事物;有处理开放性的问题的能力,以及具有与他人沟通合作去达成目标的能力等方面。[4]
三、日常生活中应用计算思维的实例
来自台湾地区的研究者陆朝俊编著的《程序设计思想与方法》中,将计算思维运用到生活中的问题进行了专门探讨,提出了一些人们在日常生活中的很多做法,他认为这反映了计算思维的思想。下面是他提出的一系列很有意义的实例,[5]可以帮助我们更具体形象地理解计算思维的一些特征。
算法过程:菜谱可以说是算法(或程序)的典型代表,它将一道菜的烹饪方法一步一步地罗列出来,即使不是专业厨师,照着菜谱的步骤也能做出可口的菜肴。
模块化:很多菜谱都有“勾芡”这个步骤,与其说这是一个基本步骤,不如说是一个模块,因为勾芡本身代表着一个操作序列——取一些淀粉,加点水,搅拌均匀,在适当时候倒入菜中。由于这个操作序列经常使用,为了避免重复,也为了使菜谱结构清晰、易读,所以用“勾芡”这个术语简明地表示。这个例子同时也反映了在不同层次上进行抽象的思想。
查找:如果要在英汉词典中查一个英文单词,相信读者不会从第一页开始一页页地翻看,而是会根据字典是有序排列的事实,快速地定位单词词条。这正是计算机中广泛使用的索引技术。
回溯:人们在路上遗失了东西之后,会沿原路边往回走边寻找。或者在一个岔路口,人们会选择一条路走下去,如果最后发现此路不通就会原路返回,到岔路口选择另一条路。这种回溯法对于系统地搜索问题空间是非常重要的。
缓冲:假如将学生用的教科书视为数据,上课视为对数据的处理,那么学生的书包就可以视为缓冲存储。学生随身携带所有的教科书是不可能的,因此每天只能把当天要用的教科书放入书包,第二天再换入新的教科书。
并发:厨师在烧菜时,如果一个菜需要在锅中煮一段时间,厨师一定会利用这段时间去做点别的事情(比如将另一个菜洗净切好),而绝不会无所事事。在此期间如果锅里的菜需要加盐加佐料,厨师可以放下手头的活儿去处理锅里的菜。就这样,虽然只有一个厨师,但他可以同时做几个菜。
总之,我们日益被包裹在一个由电脑与网络信息技术组成的生活世界之中。主动了解与学习计算机及网络工作知识及原理以及其影响的信息化生活环境,培养应用计算思维解决现实问题,越来越成为网络信息社会生存与发展不可避免的重要挑战。作为现代中小学校教育,需要认真思考将计算思维纳入到学校基础课程之中,努力培养信息化社会具有计算思维品质的创新人才,以积极的态度来回应信息化社会对于人才培养的新要求。
参考文献:
[1]ISTE(2013).http://www.youtube.com/watch?v=VFcUgSYyRPg.
[2]Walter Gander(2011).学校的基础课程:计算思维.http://www.math.hkbu.edu.hk/PL/12May11/.
[3]Wing,J.M.(2006).Computational thinking.Communications of the ACM,49(3):33-35.
[4][5]赖和隆(2016).应用计算思维于高中信息教学设计之分享.http://pulse.naer.edu.tw/content.aspx?type=B&sid=248#.
(作者单位:江苏省无锡市辅仁高级中学高三(3)班)