APP下载

计算思维培养:来自实践的观察与思考

2023-07-25魏小山

中国信息技术教育 2023年14期
关键词:核心信息技术素养

魏小山 等

》 魏小山

广东省珠海市教育研究院信息技术教研员,中学信息技术高级教师,珠海市名师,广东省中小学信息技术学科带头人,广东教育学会中小学信息技术教育专业委员会副秘书长,广东省中小学“百千万人才培养工程”名教师培养对象,广东省骨干教师培养对象,珠海市名教师工作室主持人。

》 杨 伟

山东省滨州市第一中学高级教师。山东省初中信息技术新教材分册主编,国家高中信息技术新教材教参编者,滨州市信息技术兼职教研员,滨州市教学能手。主持国家、省市课题多项,发表教育教研论文三十余篇,出版科创类专著一部,参编科创类教材三部。

》 武 健

北京市和平里第九小学教学主任。北京市、东城区优秀电化教育工作者。曾任教育部全国中小学计算机教育研究中心兼职教研员、中国教育技术协会信息技术教育专业委员会常务理事。个人主要研究方向:综合课程建设、信息科技教学论等。在《中国电化教育》《人民教育》等核心期刊发表论文五十余篇,主编、参编信息技术教材六套。在国内首先提出“生活算法”、信息工具等研究方向,推动技术课程向信息科学方向发展。

》 魏 宁

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

实践中的计算思维—价值认同

主持人:对于信息科技(技术)教师而言,计算思维是学科的核心概念,它反映了计算机科学领域的思想方法,体现了学科本质。在《普通高中信息技术课程标准(2017年版)》和《义务教育信息科技课程标准(2022年版)》中,计算思维都被列为核心素养之一。

在中小学信息科技(技术)教学实践中,培养学生的计算思维已成为课程的重要任务。面对一个全新的、尚处于发展中的概念,广大一线教师是否做好了准备?计算思维培养的核心要点是什么?在实践中有哪些好的经验?本期对话,我们邀请了三位资深的一线教师和教研员,和大家一起分享对上述问题的思考。

魏宁:这些年,在和一些一线教师的交流中,大家普遍认为,计算思维的提出,让信息科技(技术)课程找到了学科的核心,也让教学实践有了一个支点,几位老师是如何看待计算思维这一学科核心素养的呢?

武健:计算思维被列为信息科技(技術)学科的核心素养,是学科发展的一个重要进步。通过几年来的教学实践,老师们已经意识到了计算思维对于课程的重要性,尝试在课程中培养学生的计算思维,并且形成了一批有价值的案例,积累了宝贵的经验。

随着计算思维的热度持续升温,相信未来若干年,计算思维都会是信息科技(技术)课程的核心话题之一。

杨伟:新课标颁布后,老师们普遍的反馈是,高中信息技术课程变得有“魂”了,之所以能够有这样的说法,我想是得益于“计算思维”这一核心概念的提出,解决了信息技术学科发展中的一个根本性问题—无法准确锚定学生学科思维的基本起点。具体来说就是,我们的课程究竟要培养什么样的学生,或者从哪里开始培养学生。从这一点出发,将“计算思维”这一核心概念定位成信息技术学科的核心“灵魂”并不为过。

魏宁:如果从周以真提出计算思维这一概念算起,到现在不过17年的时间。相对于一些经典概念,计算思维只能算是一个新兴的概念,它的定义、特征、要素等也还在不断地讨论、完善中。计算思维这一概念的演变、发展,对一线教师的教学实践是否会产生影响呢?

武健:计算思维是一个发展中的概念,这确实会给一线教师的教学实践带来一定的困扰。严格来说,想要培养学生的计算思维,首先要明晰计算思维是什么,然后还要了解培养学生的计算思维应该怎么做,我指的是带有操作程序性质的具体行为描述,能够体现出实践的流程性,只有将计算思维这个概念“拆解”到这个维度,才能在课堂上实施。

魏小山:关于计算思维本身的定义、特征、要素,学术界尚未形成共识,依然需要进一步研究与探讨。计算思维在学理上未臻完善,反映到教育实践中,也会给计算思维的培养带来一些有待深入探究的问题。

例如,计算思维的过程到底包含哪些要素?这对于计算思维的培养具有指导意义。如果把要素细分下去就会发现,无论是高中阶段的信息技术课程标准,还是义务教育阶段的信息科技课程标准,在内容要求、学业质量水平、计算思维素养水平、计算思维学段目标、计算思维学段特征等方面,均没有形成知识与思维内在统一的、能够体现计算思维本质特征的核心知识集。不同教材对课标的解读也不尽相同,以至于教师难以对计算思维教学内容进行把握,更难以对计算思维进行评价。

天津师范大学冯友梅团队提供了一个解决方案,从K-12阶段信息技术学科的上游学科—计算机科学与技术学科中寻找要素提取的线索和依据,提炼出体现学科本质特征的计算概念和计算策略,其中,计算策略维度共包含13个核心要素,分别是“分治”“减治”“变治”“封装”“重用”“可视化”“迭代”“统筹”“折衷”“贪心”“蛮干”“回溯”“动态规划”,如“信息系统自顶向下的开发过程”“递归算法”“网络体系结构”等都内含分治策略,“折半查找算法”“快速排序算法”等内含减治策略等。

魏宁:在教学实践中,对于教师而言,对计算思维这一概念的理解以及对如何培养学生计算思维的认识,是否也经历了一个逐步发展和深入的过程?

杨伟:据我的观察,在教学实践中,老师们对计算思维这一概念的理解经历了一个从“编程为王”到“素养养成”的螺旋式认知发展过程。

在计算思维刚提出的一段时间里,很多教师习惯性地对教学内容附加编程性任务,而不管教学实际需要与否,也不管学生学习能否接受,似乎不这样做就不是全新意义上的信息技术课堂,就没有达到培养学生计算思维的应有效果。编程活动普遍化的后果是造成学生在课堂学习中产生一定的挫折感,也容易使学生形成学习编程就是培养计算思维的刻板印象。

从2020年至今,经过新课标的普及式培训学习之后,老师们渐渐明白了计算思维是一种学生数字化能力和数字化素养的基本养成方式,从哲学上来说属于方法论的范畴。而之前我们过于关注的编程教学,只是计算思维培养目标下的一种实现方式和手段而已。通过对近一段时间各地赛课活动的案例分析,可以看出,老师们的教学思路已经从“凸显编程能力”逐渐地向“计算思维素养养成”迈进了,这是一个值得庆幸的改变。

我们还是要牢记《普通高中信息技术课程标准(2017年版)》中有关计算思维的描述,其中反复提及的“思想方法”“思维活动”“形成……方案”“迁移”等关键词汇,是课堂中实践计算思维的真正落脚点。

魏宁:我想,对于很多信息科技(技术)老师来说,首先需要自己能够准确地去把握,才能在教学中去培养学生。

杨伟:培养学生的计算思维,教师首先要有计算思维意识,在教学实践中,可以先从下面两点做起。

第一,更新教学思维习惯,将信息科技(技术)学科思维变成教师教学逻辑中的底层思维。

面对长期形成的教学思维和教学习惯,教师需要一场“自我革命”,改变自己教学逻辑中最底层的部分,即厘清学科的核心目标是什么、要培养什么样的学生。

教师需要的是信息时代的底层运作机制和思维方式,计算思维是信息科技(技术)背后的科学逻辑和思维方式,如何利用这种思维方式进行学习、工作和生活?这才是应該真正在课堂中赋予学生的学习财富。

第二,转变教材使用方式,将教材中以知识为中心的模式变为去知识中心化的模式。

在义务教育阶段的新教材出台之前,教师如何利用现有材料进行课堂重构,实现“去知识中心化”的素养养成模式?这种教学能力目前尚不能为大多数一线教师所掌握。如何形成一种简洁、明快、可复用的教学实践模式,提供给老师们做新旧教材之间的教学过渡,进而形成计算思维课堂的雏形,还需要继续思考和实践。

其实,对这两个问题稍加思考就会发现,两者其实是相互依赖的,只有改变自己,才能有动力和能力去有效地用现有教材进行全新的课堂设计,进而才能够使培养计算思维的教育在课堂中开花结果。

实践中的计算思维—核心要义

魏宁:各位刚才提到了计算思维本身存在的一些待完善之处,以及教师对计算思维认识上的变化,对于在课堂上培养学生的计算思维,又该抓住哪些核心要点呢?

武健:对于计算思维的培养,我觉得老师们应该抓住“问题解决”这个核心要点。《义务教育信息科技课程标准(2022年版)》在“课程理念”部分,明确提出了“以真实问题或项目驱动,引导学生经历原理运用过程、计算思维过程和数字化工具应用过程,建构知识,提升问题解决能力”。在课程标准中,课程理念是先于课程目标提出的,换言之,课程目标要反映课程理念。

由课程理念可知,计算思维能力的培养要依托真实的问题解决过程,并且其最终目标是为了问题的解决。我觉得这是老师们在教学实践中要始终牢记的。

魏小山:计算思维很抽象,确定计算思维的核心要素可以让老师们在具体实施的时候有抓手。《义务教育信息科技课程标准(2022年版)》对计算思维的定义有很强的可操作性,把关键要素进行提取,能形成以下可操作的计算思维实施过程:抽象、分解、建模、设计算法、模拟、仿真、验证、反思优化、迁移运用。这与通用问题解决路径的五个方面高度吻合,即确定问题、设计步骤、实施步骤、评估迭代、泛化推广。所以,我们说计算思维同时也遵循通用问题解决的一般思路,这也印证了,在众多的计算思维定义中,为什么“问题解决”都是出现频率最高的词汇。确定了核心要素,面向问题解决的“问题链”设计就变得尤为重要,它将引导学生一步步深入学科思想方法的逻辑底层,不断演变、迭代,直至思维形成。

魏宁:问题解决是一个过程,看来在计算思维的培养中,还需要老师们更多地关注过程。

魏小山:在培养学生计算思维的过程中,要特别关注计算思维的加工过程。我到学校听评课时发现,不少信息科技(技术)课堂上,教师在创设情境引出问题,带领学生识别与理解问题之后,就马上进入代码编写阶段。学生还没理清解决问题的思路,就被老师拽着往前走,原因是教师过于关注程序运行结果或最终作品的完成度,也就是计算思维的结果,而忽视了计算思维的加工过程。

实际上,学生只有经历了从物理世界到数字世界的问题解决过程,在试错的过程中找到解决方案,将结果反馈到物理世界,才能领略利用计算机解决问题的精妙之处,才有可能进一步实现泛化和迁移。有时候,这一切却被“扼杀”在教师直接给出的所谓“标准答案”(算法和程序代码)的摇篮里了。教师要记住,让学生亲历问题解决的过程远比问题解决的结果更为重要,这一点尤其需要在教学设计的环节给予重点关注。

魏宁:对于关注计算思维的加工过程,大家有什么好的建议吗?

魏小山:对于计算思维的加工过程,最为关键的是让思维浮现,也就是思维的可视化。以前在教程序设计时常用的流程图就是很好的思维可视化工具,它在计算思维加工过程中依然可以发挥重要的作用。流程图将学生从识别问题到形成方案的全过程思维显性化地呈现出来,可以更好地帮助教师和学生理解学习过程中的信息,进而有针对性地进行评价和调整,流程图是一种非常重要的思维留痕形式,同时也是对思维发展过程进行评价的重要工具。

说到评价就联想到一个问题:如何对流程图进行实时和迅速的评价和检测?这个问题一直困扰着老师们。一个教师面对那么多学生,学生要想得到教师对自己绘制的流程图的反馈,往往要等到下一节课,评价非常滞后且低效。其实,可以借助一些工具辅助评价,如“画程”就可以直接编译运行流程图并立即得到结果来检验算法正确与否,这样学生不需要依赖教师或同伴的评价也可以自己反复进行调试和优化,大大提高了思维检验的效率,使评价更为迅速有效。画程还可以根据绘制的流程图自动生成Python代码,对于代码编写存在障碍的学生,还可以借此学习代码的编写。

魏宁:“让思维浮现”是一个很形象的提法,老师们还是需要转变观念,计算思维的培养毕竟是学生思维层面的活动。长期以来,信息科技(技术)教师更习惯于操作技能的传授,而容易忽视思维的养成,如在编程中,大多数教师还是非常在意代码的编写,因为这是编程最直观的体现,但是随着人工智能时代的到来,人们的观念似乎也在发生转变……

魏小山:在教学中,老师们一直有一个困惑,就是是否需要在代码编写的规范性上花费过多的时间?编程是把算法翻译成编程语言的过程,也就是将人类的想法交付给计算机自动执行的一个环节。随着人工智能自动生成代码技术的发展,尤其是在生成式人工智能热潮之下,动动嘴皮子就能让人工智能进行代码编写,只要我们拥有计算思维,即便我们不懂得如何编写代码,一样可以进行软件开发。在这种情况下,代码编写的过程会逐渐被弱化,不会成为计算思维培养的关键,培养的重心在抽象、建模和算法设计上。但是,弱化代码编写并不等于丢弃编程,毕竟没有编程就无法进行模拟仿真验证,没办法实现计算机的自动化,无法验证解决方案是否正确,也无法对解决方案进行优化,更无法实现计算机的规模化效应。因此,编写程序环节的简化,是为了减少学生的挫败感,使其将注意力更多地放在算法设计上。在教学中,可以尝试采用代码半成品形式,让学生完成关键代码的编写即可。

魏宁:刚才两位老师都提到了“问题解决”,提到了对计算思维过程的关注。对于计算思维的培养,还要关注什么核心要点呢?

杨伟:如果对比义务教育阶段和高中阶段的课程标准,就会发现,两者在“计算思维”概念的描述上大同小异,并且落脚点都放到了“迁移”这个关键词上。

为什么要强调这种能力上的“迁移”?这是因为能力或素养的迁移在很多人身上是存在着障碍的,而且这种迁移上的障碍有的时候纯粹是惯性思维造成的。以搜索引擎为例,今天的人们都能熟练使用搜索引擎,对感兴趣的问题,可以通过搜索引擎检索各种专业数据,但是在实际工作中,我周边的很多人,遇到哪怕是一丁点的计算机故障,第一反应就是给我打电话寻求帮助,其实问题的详细解决方案在网上比比皆是。这就是没能够形成解决问题能力的迁移。

技术学习的目的并非全然是学习技术实践,更多的部分是学习解决问题的方法,并将其应用到更新的技术学习过程中去。在计算思维的培养中,一定要重视学生学习中的迁移应用,只有这样,我们才能无惧10年后或者20年后世界的更迭。

实践中的计算思维—经验分享

魏宁:刚才我们谈到了关于理念的转变、教学实践中的核心要素,我想问一下,对于计算思维的培养,各位有没有好的经验、做法可以和大家分享?

杨伟:我可以和大家分享一个发生在我身边的真实事例。

我的孩子最近非常喜欢波兰球动漫,看得多了总想自己设计剧情,做一个动漫作品,于是就问我实现的方法,但我想动画设计软件不是一时半会儿就能学会的,也就没有特别回应。突然有一天晚上,孩子拉我去看他的一个作品。我惊讶地发现,孩子居然用很久之前学过一点的一款少儿编程软件制作了一分钟的动漫作品,并且利用其中的录音模式和翻译软件录制了多种语言之间的对话,讓整个影片变得生动有趣,最后还用EV录屏转变成MP4格式的视频文件,兴冲冲地把视频上传到了B站上。

在这个过程中,孩子没有接受任何人的指导和帮助,这给了我一个很大的启示:对于学生来说,高品质的课堂设计应该是无形的,有着更多的学习机会和学习方式,更丰富、主动的学习体验,更确切的学习目标和持续学习的可能性。对教师来说,要从既定的教学经验和角色中走出来,跳出课堂看课堂,跳出教学看教学。在这个无形的学习过程中,孩子完成了一个任务的阶段性分解,分析了每个阶段性任务之间的联系与区别,分别用不同的处理工具和方法逐一进行解决,综合起来形成较为完善的整体解决方案,最后形成了学习成果的输出。这个过程不就是计算思维的体现吗?同时,大家是否感觉到,它在形式上是不是与“项目式学习”高度契合?

魏宁:杨老师分享的是身边的一个生动例子—孩子自动完成了一个“项目式学习”,同时,这个过程本身也体现出了计算思维的鲜明特征。

杨伟:是的,“将问题分解成大小不同的部分,并逐一处理解决,最终进行归纳总结,以解决整体问题”,这真的是一种让人受益匪浅的技能。从这个观点来看,计算思维的理论内核和项目学习策略(PBL)有着天然的近亲关系。我们能否利用这种“关联”合理地设计课堂,让“计算思维”的培养过程更好地契合孩子们的学习感受呢?

我认为,将“项目式学习”和“计算思维培养”结合在一起,一个作为课堂模型,一个作为课堂目标,能够真实地解决“课程偏重解决末端知识,而漠视前端学习过程培养”的问题。例如,在传统教学方式中,孩子们要学动画,我们总是习惯性地直接教授动画实现的操作点和知识点,而忽视了学生在学习动画设计这一学习活动中的学习增量部分。而这个所谓的学习增量,就是基于“学习动画设计”这一学习活动给学生带来的可以拓展、可以迁移的知识能力体系,也是计算思维的体现。

魏宁:有没有一节课,是您心目中计算思维培养的理想课堂的样子?

杨伟:我曾经听过一节高中信息技术全国优质课,这节课的主题是“利用计算机解决问题”。传统的教学思路大体是讲述利用计算机解决问题的一般过程,然后将授课重点放到“算法设计”和“编程实现”上,但这节课授课教师却别出心裁地将课题定为《文学作品中的人物影响力计算—运用计算思维解决问题》,仅从题目中,就可以看出课堂设计中的项目化元素和计算思维元素之间的相互交融。

在授课过程中,教师并没有执着于“编程实现”,而是将编程置于计算思维培养总目标下,将教学设计的指导思想从“编程主导”转换到“思维主导”的轨道上来。

在这节课的听课笔记中,我总结了如下要点:①跨学科的学习主题设计,凸显人文领域的数字化逻辑特征;②数据—模型—算法—自动化的学科逻辑,完美且真实地体现了计算思维的核心过程;③教评一体的整体设计,成为对课堂进程的一种总结和递进;④学生在潜移默化中完成了计算思维的渗透式培养,进而有了创新意识以及创新能力的培养;⑤通过引领性的学习主题、挑战性的学习活动任务、持续性的学习评价和素养导向的学习目标,实现情境任务上的迁移应用。

如果用几个关键词来贯穿以上的听课总结,应该是“项目情境”“模型与算法”“评价初识方案优化”“数字化工具实现工程思维”以及“深度学习促进能力迁移”。这些关键词所描述的不正是“计算思维”在课堂中的完美表现形式吗?

魏宁:计算思维终究是一种思维活动,对于思维的培养,技术只是外显的工具,逻辑、思想方法才是本质。在义务教育课程标准中,就提出了“身边的算法”这一学习内容。如何看待“身边的算法”的价值?

武健:计算思维是一种思维方式,也就是计算机科学家的思维方式,针对程序设计,就是程序员的思维方式,包括对问题的解析、构建解决方案及代码实现,这些都是最基本的,也是不会改变的。

而算法,字面意思就是计算的方法,算法思维与计算思维是相通的。《义务教育信息科技课程标准(2022年版)》中明确提出,“算法是计算思维的核心要素之一”。从算法的角度来看,至少应该有两类“算法”:一类是程序设计中的算法,即计算机科学中的抽象的算法;还有一类就是生活中的“算法”,也就是问题解决的步骤。这两类“算法”的共同点,即本质都是一种思想方法。

只不过,对于程序设计中的算法,我们会更加直接地通过命令(语言)的方式操作计算机完成任务,而“身边的算法”是通过一系列步骤来解决问题。

通过“身边的算法”,可以从贴近学生的生活实例入手,面对更广泛的问题,让学生理解算法的含义,通过采用自然语言、流程图等方式,也就是通常说的“不插电”的方式来描述算法,对学生计算思维的培养具有重要的作用。

魏宁:理想中的计算思维培养的课堂是什么样的?

武健:理想中的计算思维培养的课堂,一定是将技术与思维统一起来的课堂。一方面,教学没有离开计算机工具;另一方面,算法思维、计算思维在课堂中充分渗入,教学自然地连结自然语言和人工语言。

我们一定要牢记,计算思维是人的思维,虽然在培养过程中会深入研究、理解计算机的工作原理,但归根结底是在培养人的思维。

与此同时,计算思维的培养一定也会体现四大学科核心素养的交叉与融合,计算思维不是孤立存在的。

魏宁:是这样的,计算思维是信息科技(技术)课程提出的四个核心素养之一,它与其他几个核心素养的关系是怎样的?当我们谈到培养学生的计算思维时,是否也应该关照到其他核心素养,从整体上进行思考和设计?

魏小山:在计算思维的培养上,信息科技(技术)课程的四大核心素养不能割裂开来。在四大核心素养中,信息意识是客观信息活动在人脑中的反映,是学生解决问题的初始层;数字化学习与创新强调人与技术的关系,学生个体通过评估并选用常见的数字化资源与工具,有效地管理学习过程与学习资源,创造性地解决问题,它是其他三个核心素养在学习中的具体体现;信息社会责任是学生发展及其社会化的必然要求,强调信息社会中学生品性的培育,使学生在信息道德和责任担当层面有所发展,因而信息社会责任是其他三个核心要素的归宿;而计算思维是基础教育阶段信息技术学科的本质体现,是信息技术学科核心素养培养的根基。信息意识、数字化学习与创新以及信息社会责任都有一个共同点,就是无法直接培养,都必须依托特定学科活动来开展。而计算思维是在问题解决的活动中进行培养的,所以,以计算思维为主线进行信息技术学科核心素养的培养,可以使核心素养的落地具有更好的操作性,在培养计算思维的同时,其他核心素养可以渗透其中,与计算思维一起,支撑起学科育人的使命。

魏宁:说到学科育人价值,在计算思维的培养过程中,应该怎样体现育人价值呢?

魏小山:在计算思维的培养过程中要有意识地对学生进行使命担当的渗透。特别是在当前面临的国际形势下,激发青少年创新的动力,不能单纯只靠兴趣、好奇心,更要让其有使命感。熊璋教授在义教信息科技课标解读会上强调,站在国家发展的高度定位基础教育,培养有理想、有本领、有担当的能担起民族复兴大任的时代新人,贯彻落实青少年的国家观、国家发展观和国家安全观,将自主可控、原始创新、国家安全的理念从小扎根在青少年心中。信息技术学科强调计算思维的培养,但最终的归宿和落腳点则是在信息社会责任目标的达成上,我们需要强调信息社会中学生品性的培育,使学生在信息道德及责任担当层面有所发展。

魏宁:今天我们畅谈了在信息科技(技术)课程中培养学生计算思维的方方面面,感谢三位老师参与讨论。让我们共同预祝,计算思维作为学科核心素养,能够在未来的课程发展中起到越来越重要的作用,同时,通过课程的有效实施,学生的计算思维都能得到真正的发展。

猜你喜欢

核心信息技术素养
我是如何拍摄天和核心舱的
近观天和核心舱
你好!我是“天和”核心舱
新一代信息技术征稿启示
新一代信息技术征稿启示
新一代信息技术征稿启示
必修上素养测评 第四测
必修上素养测评 第三测
信息技术在幼儿教育中的有效应用
必修上素养测评 第八测