计算思维教育的多元理解

2023-07-13 12:01张进宝
中国信息技术教育 2023年13期
关键词:编程人工智能学科

》 张进宝

北京师范大学教育学部副教授,教育技术专业、科学与技术教育专业硕士生导师。北京师范大学科学教育研究院院长助理,兼任中国教育学会中小学信息技术教育专业委员会副理事长,国际计算思维挑战赛中国区主席。曾任教育部教育信息化技术标准委员会委员、教育部教师教育信息化专家委员会秘书、全国科普专门人才培养专家委员会副秘书长、世界银行学院培训数字化学习兼职教员,北京师范大学计算思维教育研究中心主任,北京师范大学3D打印与学生创新能力发展研究中心主任。

》 魏 宁

北京市东城区教育科学研究院研修员,《中国信息技术教育》杂志特约撰稿人/专栏作者。

计算思维教育的概念之辨

魏宁:张教授您好,近年来,计算思维已经逐渐被国内外教育界同仁接受与认可,成为面向未来的学生必备素养之一。与此同时我们也看到,在《普通高中信息技术课程标准(2017年版2020年修订)》和《义务教育信息科技课程标准(2022年版)》中,计算思维都被列为学科核心素养之一。培养学生的计算思维已经成为当前信息科技教育的热点问题,计算思维教育势在必行。

开展计算思维教育,首先要明晰计算思维这个概念的本质和内涵。目前我们所熟知的计算思维概念,源自2006年时任美国卡内基·梅隆大学计算机科学系主任周以真发表的文章,通俗地说计算思维就是“像计算机科学家一样思考”。后来周以真本人又对计算思维的概念进行多次完善,目前引用率最高的定义是她在2010年修订的表述:计算思维是在表述问题及其解决方案时所涉及的思维过程,确保解决方案的表征形式可被信息处理代理有效执行。

我国颁布的义务教育及高中课程标准,对计算思维的界定是“个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动”,其中包括了抽象、分解、建模、算法设计等。可以看出,周以真最初对计算思维的界定更多的是从计算机科学的角度出发,提炼和总结出的计算机科学家的思维过程。而在计算思维被引入教育领域后,对其的理解必然要更具普适性。

对计算思维的概念的准确把握是开展计算思维教育的必要前提,您是如何理解计算思维这一概念的演变的?

张进宝:很高兴有机会借杂志这个平台,与广大中小学信息科技(技术)教师一同探讨计算思维教育这个话题,计算思维教育是当下基础教育的热点话题,作为一名研究者,我也明显感受到了这种氛围,并深感责任重大。

理解计算思维的定义是有效开展计算思维教育、培养学生计算思维的基础。但人们对这一概念还缺乏系统的梳理、分析,学界对这一概念的关键要素也未能达成共识,这都会影响到计算思维教育的实践。因此,我们还是有必要对计算思维这一概念再做一番解析。

其实,我们可以从不同视角理解计算思维这一概念,先说第一个视角—计算学科视角。计算思维最初的界定就是从计算学科视角出发的,如我们熟知的周以真教授在2006年的界定,认为计算思维是计算机科学家运用的思维方式,包括问题求解、系统设计和理解人类行为等,以及您上面提到的她在2010年给出的经典定义。

不难看出,从计算学科角度出发界定计算思维,包含了诸如抽象、自动化、表征、模型、建模等大概念,更多地属于计算学科的相关范畴,但却不能完全涵盖人们的日常生活经验。这类从计算机科学角度总结和形成的计算思维核心要素,难以转化为教育界的实践行动。

在2006年周以真教授发布计算思维的概念后,多数学者认为,计算思维应该具有广泛的适用性,也就是每个人都能具备计算思维并从中受益。这就带来了第二个视角—普适化视角,在教育领域中,当我们从人人都需要的基本技能或者学生的一项关键能力出发来界定计算思维的时候,实际上已经从普适化的视角对计算思维进行了解读。

当然,两种视角对计算思维的不同理解,也会导致一些争议。特别是,计算思维越来越被看作每个学生都应掌握的能力,以及技术普及带来的计算思维教育低龄化、全员参与的特征,也被一些学者所质疑。如有学者认为,计算思维有助于每个人,并不符合事实;而多数学科(如数学、历史、化学等)在尚未宣称计算思维是自己学科具备的独特思维方式时,更加难以认同“人人都应具备计算思维”这一口号;随着计算思维教育的开展,对于将越来越多的内容“塞入”计算思维中,也被质疑是在背离计算思维的初衷。上述质疑无疑值得每一个从事计算思维教育的人思考。

计算思维教育的理念之思

魏宁:刚才我们聊了计算思维概念的演变,我想,计算思维毕竟是一个全新的概念,我们现在也依然处于它的发展初期,对概念本身的讨论还将延续下去,但这似乎并不影响计算思维教育实践的开展。近年来,伴随着计算思维被列为中小学信息科技(技术)课程的学科核心素养,对学生计算思维的培养受到了广泛重视。在信息科技(技术)课程,以及学校的其他相关课程、活动中,计算思维教育日渐普及。

在当前中小学计算思维教育如火如荼、蓬勃发展的大背景下,一线教育工作者还存在着若干困惑和迷茫,计算思维教育在基本理念、内容、方法上也还有待建立更广泛的共识,您如何看待计算思维教育开展过程中的这些现实问题呢?

张进宝:近年来,我们都能明显感觉到中小学计算思维教育的热度,有关专家和广大一线教育工作者对计算思维教育的思考和探索值得肯定,也卓有成效。特别是随着信息科技(技术)课程标准对计算思维培养的强调,并将其列为学科核心素养,更是推动了计算思维教育的大力开展。

但是,作为一个新兴事物,中小学计算思维教育仍处在发展期,在热潮之中也面临着不小的挑战。

首先,计算思维教育有赖于良好的课程与教学体系的构建。理论上,这个体系包含了对各学段学生计算思维发展水平与能力绩效、教学内容与教学活动、设备与技术、教学资源与教学工具、教学评价标准、教学支持服务体系等的系统定义,并且要以丰富的研究成果为依托。客观地说,不只是在国内,就是发达国家要完成这一体系的构建也颇有难度。在现实中,课程与教学体系的缺失,进一步放大了教学时间有限、师资条件不足等困难。

其次,计算思维教育的开展有待于对若干关键理念的厘清和形成共识。目前,还有不少一线教师对涉及计算思维教育的一些关键理念尚不清晰且认识偏差较大,这也需要时间来推动建立基本共识,如计算思维教育与问题解决能力之间的关系、计算思维教育与编程教育之间的关系等,都需要进一步厘清。从计算学科角度出发界定计算思维,包含了诸如抽象、自动化、表征、模型、建模等大概念,更多地属于计算学科的相关范畴,但却不能完全涵盖人们的日常生活经验。

魏宁:您如何理解计算思维教育的基本理念?

张进宝:我们刚才提到了周以真提出的计算思维概念,这一概念一经提出,就得到了计算机科学教育工作者的普遍响应,但在计算机科学界以外,却没有得到太多的关注。计算机科学界认可的“计算思维”,本质上是一种专业思维,而非通用思维。但随着科技的发展及其对人类产生生活的巨大影响,人们越来越多地期待能够更好地理解计算在整个社会中的作用。世界各国的教育管理者逐渐认识到,应该采取及时和灵活的政策,促进计算思维教育的普及,并且越早越好。在此背景下,人们更期待在基础教育中开展计算思维教育,而不是传统意义上的计算机科学教育。

计算思维教育有两种典型的理念。第一种,是将计算思维教育看作“教授思维”的教育。早在半个世纪以前,著名的计算机科学家西蒙·派珀特就提出儿童通过编程控制计算机可以产生应用知识的感觉,并自信地把自己想象成智能代理人。此后,他更是通过自己发明的LOGO语言试图帮助儿童改变思考方式,构造有意义的产品,从而建构自己的知识。“教授思维”视角下的计算思维教育关注的焦点是“学习的重点是否为引导思维的发展”。今天,随着技术的不断进步,“教授思维”理念下的计算思维教育也有了更加多样化的选择。但它的一些基本认识仍然不变,如认为计算思维的过程是“像计算机科学家一样思考,解决现实世界的问题,能够系统识别现实生活中的问题,并将其表述为计算解决方案”,计算思维的关键点至少包括抽象(策略与方法)、算法(思维)等。

第二种,是将计算思维教育看作“增强信息社会公民能力”的教育。正如Peyton-Jones在2014年所说的,“为什么我们要求每个孩子从小学开始学习科学?这是因为科学教会了我们一些关于周围世界的知识,如果我们对周围世界的运作方式一无所知,我们就是被剥夺了权利的公民”。而计算思维教育就是一种了解周围世界知识的教育,它的主要目标应包括:应用计算思维解决现实世界的问题;让学生成为“有责任心的消费者”,能够参与围绕技术展开的伦理道德讨论等。

我们不妨横向对比一下这两种计算思维教育理念的异同。“教授思维”理念下的计算思维教育体现了一类计算机软件涉及的心智习惯与准则,更强调通过广泛的编程实践来培养计算思维,关注设计与制作软件的技巧,如分解、抽象等。而“增强信息公民能力”理念下的计算思维教育针对形式化的问题,使其解决方案可以被表示为可计算的步骤,更强调计算思维是一个概念框架,有助于编程,关注的是一整套问题解决的概念,如表征、分治、验证、逻辑推理等。

进一步分析这两种理念,我们可以看到,当周以真提出计算思维概念时,Facebook和Twitter才刚刚推出,而智能手机的出现则要等到一年后,当时人们还将计算思维教育的目标定位在“为计算机科学与技术领域输送更多人才”上,这种专业性的目标定位有着鲜明的时代特征。

但随着时间的推移,情况发生了很大的变化。计算思维教育依然保持着专业思维的特色,发挥着专业思维的作用,但与此同时,越来越多的学生需要拥有计算思维,通过一种思维方式的力量,加深我们对周围世界、对社会、对日常生活的理解。“教授思维”理念下的计算思维教育体现了一类计算机软件涉及的心智习惯与准则,而“增强信息公民能力”理念下的计算思维教育针对形式化的问题,使其解决方案可以被表示为可计算的步骤。

魏宁:刚才张教授您为我们介绍了两种理解计算思维教育的不同理念,在我看来,“教授思维”理念更像一种专业化的视角,而“增强信息公民能力”理念则更加大众化。当然,随着时代的发展,特别是技术的突飞猛进,我想,在现实的教育实践中,并不是简单的“两分”的,不同的理念往往会交织在一起,并不断发展和突破。

张进宝:计算思维教育发展到今天,对于上述两种典型的教育理念而言,其实已经实现了某种意义上的超越。

比如,计算思维教育的目标已不再是单纯地培养计算的消费者,而是培养计算的创造者,相应地,教学目标正在由“工具论”转向“创造论”。

计算思维教育的途径也不再只有编程学习,而是针对综合性的问题解决能力的培养,相应地,教学重点从语法学习与运用,转向了算法的理解与构造。

计算思维教育的评价从对作品的追求,转而更看重方案构造,因为作品不是计算思维教育的最终形态,对有逻辑性的方案的探索才是第一位的。

计算思维教育的涵盖领域已经超越了传统的计算机科学范畴,进入到了全部学科,正在拓展到数学、科学、工程、语言、艺术等学科领域。

计算思维教育的形态已经超越了实质教育,进入形式教育,这意味着计算思维教育正从知识本位,转向学生思维本位。

魏宁:从超越的视角出发,您如何理解计算思维这一能力的关键点?

张进宝:站在今天,以我自己的理解,如果我们把计算思维看作一种学生的能力,那么,这种能力一定是分析性思维、系统性思维和设计思维的综合。它表现出的是一种以问题为导向、以数据为基础、以逻辑为指令的多种思维综合运用的过程。

计算思维一定要基于真实的问题世界,同时,问题解决的过程不仅要依靠知识,还有赖于上面提到的多种思维的综合。

对于计算思维的培养,在宏观上,需要在对学科相关科学思维与方法进一步逻辑化的过程中,渗透计算模型、计算过程思想;在微观上,需要养成良好的思维习惯—对象、指令、规则、流程、模块、系统等。计算思维的培养并不是信息科技(技术)学科所独有的,它应是各学科协力完成的。

计算思维教育的实践之问

魏宁:实践中的计算思维教育呈现出丰富的样态,不论教学内容还是方式都是多样化的。首先,从思维培养的角度来看,计算思维既然是一种思维,就应注重思想方法的培养,在这个过程中,各种信息技术充当了助力思维形成的工具。其次,对于思维培养来说,信息技术工具,特别是先进的技术工具也并非不可或缺。

张进宝:是这样的。不论是“插电”的方式,或者“不插电”的方式,都可以学习并掌握计算机科学的核心概念与方法,培养抽象与逻辑思考、系统化思考等计算思维的核心品质。

例如,诞生于欧洲的国际计算思维挑战赛(Bebras),就将抽象的信息科学题目具体化,以日常生活中遇到的情境作为背景,呈现家庭生活、团体合作、工作领域的具体任务,使那些没有受过计算机教育的学生也能利用已有知识,通过逻辑、归纳、推理、运算的运用解答题目,在不知不觉中发展自己的计算思维。这很类似解谜推理的方式,更能激发学生的兴趣,减少学生对计算机科学的畏惧感。

另外,如果我们了解几十年来编程语言的演变,就会发现,早期枯燥难学的编程语言,正在逐渐被图形化、低门槛的编程语言替代。相对于早期的编程语言,现在的很多针对低年级学生的编程语言,已经非常接近自然语言了。这体现了计算思维教育淡化技术难度、聚焦思维发展的大趋势。

魏宁:从更加广义的角度来看,计算思维的培养并不是信息科技(技术)学科所独有的,它应是各学科协力完成的。在各学科教学中,我们如何融入计算思维教育呢?

张进宝:计算思维教育并不只是通过信息科技(技术)学科来实现的,各学科都肩负着这一使命。在每个学科的教学中,当我们从知识传授的过程转向问题解决的过程时,实际上就是在向学生渗透计算思维。这里面,问题的情境可以是日常生活类的情境,也可以是学科应用类的情境,还可以是科学探索类的情境。问题的任务类型可以是分析与建模类、构造解决方案类或者探索性实践类。

在具体学科中开展计算思维教育,还要注意学科方法的形式化与计算化。在科学类学科中,注重实验仿真,探索多因素下的动态变化;在社会科学学科中,注重虚拟社会性实验。总的来说,需要体现一般的问题解决要素:抽象、分解、建模、模式识别、自动化、模块化、例外处理、排错、通用化等。

魏宁:自计算思维教育开展以来,编程始终扮演着重要的角色。您如何看待编程对计算思维教育的价值与作用?

张进宝:在实践中,提到计算思维教育,总是离不开编程。特别是,在过去十多年中,基于块的编程语言(如APP Inventor等)的出现,为学生创造了使用图形拖放界面原创应用程序的机会,这些界面对于那些几乎没有编程背景的人来说也很容易操作。即使在小学阶段,学生也有机会通过计算来锻炼创造力和个人表达能力,编程在计算思维教育中所处的中心地位正是老师们热衷于讨论的。

在专家们看来,编程对于计算思维具有重要意义。研究表明,编程作品实现了思维外化,提供了检查、测试、反思与回顾思维的机会。

从面向未来职业的角度看,编程已经成为一种必要的计算与技术素养,专注于编程学习,将有助于学生未来的工作,对于定位自己、塑造未来具有重要意义。

从提升能力、素养的角度看,编程活动给学生带来了创造力、自我表达、自我成就、身份认同等,同时让学生感受到成就感、独立性等。从面向未来职业的角度看,编程已经成为一种必要的计算与技术素养。所有这些,对计算思维的培养都具有重要意义。

魏宁:在教学实践中,虽然老师们普遍认为编程有助于学生计算思维的培养,但对编程与计算思维之间的内在关联似乎并没有过多的思考。一般来说,人们总是觉得编程与计算思维存在着天然的联系,但编程究竟是如何影响计算思维的呢?

张进宝:我对这个问题的理解大概有以下几点:

编程学习可以培养逻辑思维和解决问题的能力,如早期进行的LOGO语言学习。编程学习还给学生带来了“复杂的、循环的、模棱两可的、多元的、社会的、生长型的”思维方式,主要依赖于想象力和创造力,从而发展计算思维。

编程学习有助于对过程的理解,任何对理解过程有需求的人,都需要理解编程。善于编程的学生往往数学学习也较好,因为编程为理解数学思想提供了一种不同的、动态的符号,而这些都是计算思维的基础。

编程可以提供一种表达想法、与他人交流、探索想法的新方式,它可以成为一种日常技能,从而影响人们的思考和交流方式,通过编程,培养的是一种全新的素养。在素养这个层面上,它与计算思维是相通的。

编程能够让人们就技术对生活的影响不停地进行追问,因为算法并非天然客观,程序员的偏见可能会影响他们的判断,了解到这些,将丰富对计算思维的理解。

此外,编程可以为学生提供表达兴趣、锻炼能动性的契机,可以让学生将编程与感兴趣的事物联系起来,分享自己的作品并且关注他人的作品,所有这些,都有助于计算思维的培养。

魏宁:刚才我们提到了编程对计算思维教育的重要性和它的意义,对于编程,我们是否也有应该反思和进一步探索的地方?

张进宝:编程被广大教师所认可,它对计算思维教育的意义不言而喻。但与此同时,我认为,对于编程,我们必须始终持有理性的态度。大体上,我们可以从几个角度对编程展开反思。

从社会视角来看,我们有责任要为学生考虑,如何为未来世界做好准备。但是,我们能否依据现在还不存在的技术设计学习体验?如果未来编程变得不重要了,怎么办?同时,我们的教育也有责任让学生做好准备,为改变今天的世界做出贡献。例如,让学生避免重蹈当今各类技术应用中出现种种问题的覆辙,实现多样性、公平与包容,特别是在关乎科技伦理的问题上,为此,我们做好准备了吗?

从学校视角来看,编程所培养起来的能力,是否可以迁移到其他学科?由于缺少严格意义上的证据,目前对这一问题的回答尚未取得共识。此外,对于整合模式的探索,更多还是因为信息技术课时不足所导致的,而学科整合对任何教师来说都是一项具有挑战性的任务。

站在现实角度,由于课时的限制、教师的专业准备、评价目标的模糊等都会影响到编程教学的开展,编程教学的良性发展依然需要我们的不断努力。在人工智能时代,我们更需要的是,提升每个学生个体的智能,它的本质是提升人解决问题的思维品质与实践能力,终极目标是发展人的智慧,以更好地应对人工智能时代的到来。

魏宁:近年来,人们已经越来越感受到了人工智能带来的冲击,改变了人们的生活、工作,也改变了教育。我们无疑正在进入人工智能时代,这样一个时代的教育具有鲜明的智能教育特征,在人工智能时代乃至智能教育的大背景下,我们是否应该重新审视计算思维教育?

张进宝:在人工智能时代,狭义地讲,我们要大力开展人工智能教育,传授人工智能技术,提升学生的人工智能素养。但从更广义的视角来讲,我们更需要的是,提升每个学生个体的智能,它的本质是提升人解决问题的思维品质与实践能力,终极目标是发展人的智慧,以更好地应对人工智能时代的到来。这样的智能教育坚守了以人为本的核心理念,体现出了教育的人文关怀。

如果我们认同这一理念,认同人工智能时代的教育指向的是人的智慧发展,那么,计算思维对于人工智能时代的教育就具有重要的意义。首先,高质量、高效率的思维能力培养是智能教育的核心灵魂。因为思维是智能的核心成分,人工智能时代的教育除了积极运用数字技术支持个体的智能发展外,还要引导学生有意识地理解蕴藏于计算机科学中闪光的思维方法,如计算思维,从而实现一般思维教育与智能教育的有效衔接。

我对人工智能时代的教育给出了一个界定,即“培养学习者系统掌握和运用各种思维与技术工具,通过人人或人机合作模式,实现对外部世界(实体的或虚构的)与问题情境的形式化表征,在符合价值观与伦理道德的前提下,实现智能信息处理、构造智能解决方案和开发系统,是个体智能发展与智能技术实践相融合的跨学科开展的创新教育过程”。

在这样一个界定下,重新审视计算思维教育,我们就会发现,当今人们越来越多地依赖以人工智能技术为代表的新一代信息技术工具作为分析和解决问题的主要手段,在此过程中,最重要的不是如何解决问题的具体技术或技巧,而是把问题转化为能够用人工智能解决的形式,而后才是有效运用各种技术构造解决方案。这一素质正是计算思维所强调的内容,因此,在人工智能时代,学会使用计算思维的基本方法来解决问题,远比学会某项解决具体问题的技能更为重要。

当然,广义的智能教育不仅包括计算思维教育,还应整合设计思维、工程思维、数学思维等其他领域的思维。

魏宁:最后,关于计算思维,您还有什么想要表达的?

猜你喜欢
编程人工智能学科
【学科新书导览】
土木工程学科简介
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
2019:人工智能
人工智能与就业
“超学科”来啦
数读人工智能