论文部分内容阅读
● 參天大树必有其根——计算思维是否能体现信息技术学科本质?
1.计算思维的价值体现在何处?
卢文来:我记得您在《中国信息技术教育》杂志上参与过两期关于计算思维的专题,一期是2013年6月,另一期是2015年12月。2013年的专题打开了我的视野,我校的计算思维研究就此起步;在2015年的专题中,我校有两篇文章入选。现在,计算思维又来了!
对于像我这样在计算思维方面开展研究和实践的一线教师来说,计算思维的价值是在这个过程中逐步明晰的。非常打动我的是国防科技大学朱宗亚教授的论文《论计算思维:计算思维的科学定位、基本原理及创新路径》,朱教授从科技史和科技哲学视野出发,将计算思维、逻辑思维、实证思维并列为三大科学思维。他提到,在自然科学领域公认有三大科学方法:理论方法、实验方法(以观察和归纳自然规律为特征)和计算方法,每一种科学方法都可分为思想方法和操作方法两个层面,如果说思想方法层面可以认为是思维方法层面的话,则与三大科学方法相对应,便有了三大科学思维:逻辑思维对应理论方法,以推理和演绎为特征;实验思维对应实验方法,以观察和归纳自然规律为特征;还有就是计算思维,对应计算方法,以抽象和自动化为特征。如果站在这个角度来审视计算思维,它的价值非常凸显。
王荣良:关于2013年和2015年“计算思维来了”的专题,我都参与了。这次又在《中国信息技术教育》这个平台上讨论计算思维,应该比前两次更深入,也应该更平和、更客观。
要说计算思维的价值在哪里,首先要清楚计算思维是什么。当一个事物埋在深处,不易被人发现的时候,它的价值是被湮没的。当它被挖掘和发现之时,人们肯定是惊喜的。但是,它的价值是否具有改变世界的作用,则需要时间来验证,计算思维也一样。把计算思维放在现有的学科体系来看,它是一种学科思维,即属于计算科学的学科思维。
数学最基本的方法是演绎、类比和归纳。其中,演绎法是从一些假设的命题出发,运用逻辑的规则,导出另一命题的过程。数学理论是由演绎推理组织起来的。因此,逻辑思维是一种典型的数学学科思维,逻辑推理是其判断结论的重要工具。在逻辑思维中,首先需要有一个称为公理的命题集合,然后有一个推理规则,最后从公理出发严格地运用推理规则,产生相应的结论或定理。在数学理论中,只要有一个系统是自洽的、完备的,推理也是正确的,数学家们则可以认同与现实世界不一样的结果。而实证思维是以物理学为代表的一种典型思维形式,它强调验证性以及与现实世界的一致性,有些验证需要很长的时间,引力波就是一例。在实证思维中,人们通过观察和实验,得出一些揭示客观世界的结论,这些结论中最重要的部分都以定律的形式出现。
回到计算思维上,既然计算思维是计算科学的学科思维,就应该有学科的严肃性,在不理解计算学科的前提下大谈特谈计算思维是不负责的。然而,“计算”一词过于大众化,人们看到“计算思维”,首先想到的是数学中的运算,更深入一点会想到编程序,结合“思维”一词还会联想到人工智能,其实这些联想都是曲解或片面的。因此,我有一个不成熟的想法:在学术性地讨论计算思维时,学科起点应该是理解图灵机,因为图灵机是计算科学的基础与核心,只有这样才能在一个共同的语境下讨论。
周以真教授提出计算思维的本质是抽象和自动化,其中抽象在很多学科中都有,抽象具有数学属性,自动化则具有工程属性,是计算学科的典型特征。我觉得计算思维经历的是这样一个过程:抽象—形式化—构造—自动化。外部客观世界经历了抽象、形式化表达、构造以后,才能形成一个具有自动化属性的计算机世界。
计算思维的价值在于:首先,其对应的计算学科的价值。当计算学科广泛应用于人们的生产、生活中,计算思维的价值是明显的。其次,计算思维的教育价值,这不仅要考虑计算思维对理解与应用现实生活中广泛使用计算装置所产生的正向作用,还要考虑这种思维对学生发展的作用。这是一个隐性的教育价值,是一个非常值得研究的课题。
2.信息技术课程中计算思维教育的价值何在?
卢文来:经王老师这么一解释,计算思维的价值就更加清晰了。计算思维的教育价值,即计算思维对学生发展的作用到底是什么,应是我们讨论的重点。
正如您所说,抽象在很多学科都有,属于数学属性,而自动化则有工程属性。我不知道能不能这样理解:①这种思维教育不仅局限在信息技术课程中,其他课程也需要这种教育。②计算思维给我们带来了一个全新的角度,或者说是视野,来重新审视信息技术学科,从而更加重视学科所蕴含的思想与方法。即将颁布的普通高中信息技术课程标准已把“计算思维”列为课程需要培养的四大核心素养之一。由此产生的联想是,学生不仅要学习信息技术以及适应信息化环境,还要理解信息技术和信息化社会系统;不仅要学会外在操作,还要学会抽象、分解、控制任务的实施;不仅要掌握解决问题的步骤,还要发展交互性思维。
所以对信息技术学科而言,培养计算思维的价值更重要的是关于“计算”的概念,以及由此推演出的“可计算”和“自动计算”的概念,而这些概念将被人们用于问题求解、日常生活的管理、与他人进行交流和互动,以及个人的成长与发展。
王荣良:如你所说,“计算思维”成为普通高中信息技术课程的核心素养之一,说明计算思维教育将在高中生中实施,这对计算思维教育整体利好。作为计算科学的学科思维,培养计算思维的主渠道应渗透于计算学科内容的教学中。至于“信息技术课程中的计算思维教育”这一问题,我认为可以分解成两个问题:一是在基础教育阶段是否需要培养学生的计算思维,这是一个必要性问题;二是是否能够在信息技术课程中培养学生的计算思维,这是一个以什么课程载体实施计算思维教育的问题,是一个可能性问题。
就必要性问题而言,计算思维应放在基础教育整个课程体系框架下来讨论,而不是放在某一个课程下。从基础教育面向社会需求来说,计算科学已渗透到社会生活的方方面面,适量地了解计算科学的知识内容是有必要的,同时培养相对应的学科思维,即计算思维也是很有意义的。从目前我国基础教育传统的理科教育内容来看,主要强调的是演绎、归纳等数学思维,也有实证类思维;相对而言,基于工程性、构造性的思维教育比较弱。如果在基础教育阶段能开展具备工程和构造属性的计算思维的教育活动,那这对学生的思维发展是一个很好的丰富和补充。至于计算学科的哪些知识内容适合于基础教育,计算思维教育更细致、更具体、可落实的价值梳理,仍然需要探索。 可能性问题也反映了计算学科与目前中小学实际开展的信息技术课程的关系问题。是因为现有信息技术课程的教学内容决定了计算思维应是课程的教育目标,还是因为计算思维原本就是信息技术课程的核心目标,从而需要更改现有课程的教学内容,这看上去似乎是一个先有鸡还是先有蛋的问题,其实质是目前的信息技术课程自身定位不明确所造成的。开展计算思维教育的动力应基于学生的发展,研究计算思维也应以计算学科为逻辑起点。我始终不赞成引入计算思维教育的目的是为了信息技术课程自身的生存和发展的需要,并以此为基础研究计算思维,这样很容易使教师对计算思维的理解发生异化,从而不能真正达到计算思维教育的目的。
事实上,现有的信息技术课程与计算科学学科的关系是不明晰的。这既反映在提升信息素养的课程目标与计算思维的逻辑关系不明晰上,也反映在现有信息技术课程的教学内容,特别是义务教育阶段的课程教学内容有很大的不确定性上。但是,也正是教学内容的不确定性,给计算思维的培养提供了发展空间。我隐约感到,每位关注信息技术教育的人的心目中都有一个理想的信息技术课程,而这个课程与现实的信息技术课程并不一致。或许,这正是大家希望信息技术课程改革与发展的缘由。
3.影响信息技术课程发展因素有哪些?
卢文来:太对了,就像每个人心中都有一个哈姆雷特一样,每位教师心中可能也有一种理想的信息技术课程,或希望有非常明确的课程目标、单元目标、课程的内容和载体,以利于课程的有效实施,或希望有一个相对明确的课程纲要,能在理解的基础上发挥自己的创造性,相对自主地选择内容和载体。这可能就是信息技术课程发展中“人”的因素,或者说是“教师”的因素。
而“变化的世界”是影响信息技术课程发展的另一个重要因素。不知不觉中,随时随地上网变成了可能;不知不觉中,每个人或多或少都融入了互联网的学习;不知不觉中,“互联网 ”成为了国家战略。这个“变化的世界”对信息技术学科有着极大的冲击和挑战。面对这个变化的世界,什么是信息技术课程不变的东西?无论是信息素养还是计算思维,无论是文化的传承还是新技术的引领,其核心目标应该是不变的。什么是可以变的呢?内容是可变的,载体是可变的。
王荣良:你说得很对,寻求信息技术课程变革的客观动力是信息技术的快速发展,但内在动力是信息技术课程的生存危机感,评价标准是实用价值。因此,大家都在努力追求其核心价值和稳定的教学内容。
以学开车为例,行车规则相对稳定,具体车辆还是有不同的驾驶技术细节,如自动档车、手动档车、电动车等。不变的内容就一定是核心的?行车规则或者交通规则是不是驾校学习的核心?对于车辆来说,无论以油、电为动力,还是以太阳能为动力,都是将能量转为机械能,通过传递装置带动车轮旋转,与地面产生摩擦力而使车辆行进,这是车辆的最基本原理,也是不变的,是不是应成为学习的核心?其实,要回答这个问题很简单,关键是要知道我们进驾校是为了什么。回到信息技术上,工具使用的学习,肯定是变化的;信息礼仪由传统礼仪支撑,基本是不变的;具体的信息技术工具构成的原理,一部分是不变的,一部分是变化的。信息技术课程要找到核心的、不变的,关键是弄明白自己到底要什么。
所以讨论变与不变的前提是弄清楚两个问题:信息技术课程是什么,以及学生要什么。现代学校课程的具体科目是由学科筛选而来的,学科是知识专门化的表现,以学科为类属的知识划分直接影响学校课程的组织。例如,数学学科对应基础教育的数学课程课目,依据数学学科的知识体系层次结构、社会需求以及学生心智来决定数学课程的目标与内容。那信息技术课程有没有对应的学科?是不是需要有对应的学科?事实上,是不是存在信息技术学科,这在学界是有争议的。但是不论如何,对信息技术课程对应的学科进行系统研究是有必要的,因为这是对课程知识体系的研究,是一项基础研究。同样,信息技术课程引入计算思维,需要回答信息技术课程与计算科学或计算机科学的关系,不能本着实用主义,随意改变信息技术的范畴。
目前,教师都是基于对课程名称的解读产生对课程的不同理解,这很正常。我认为,寻求信息技术课程变革,首先需要对课程科目所对应的学科进行系统研究。同时,也应从基础教育课程体系框架下的学生发展需求来研究学生到底需要什么,才来决定课程的内容与名称。
● 而今迈步从头越——计算思维教育的实施
1.在中小学信息技术教学中是否已经渗透计算思维?运用了哪些载体?如何实践?
卢文来:您说得越来越深入了,但要对学科进行系统研究,可不是一线教师的能力范畴了。最近两三年,我们看到、听到了不同领域的专家关于计算思维的讨论,隐约感到有一条崭新的路呈现在眼前,它虽不是那么清晰,但确实令人心动。一线教师可能说不出很多大道理,但却能有机会实践。在实践中,我们就会有发现,有思考,就会有成长。
随着周以真教授对计算思维的定义,计算思维之风已经吹进中国大地,一线的教师们已开始探索如何将计算思维应用于中小学教育。有的在信息技术基础课程中的“信息编码”“计算机系统”等单元中渗透计算思维的思想;有的借助Kodu开展游戏教学,并在其中落实“抽象”“纠错”计算思维;有的借助MIT的Scratch软件在中小学开展实施,还进一步外接传感器,开展更多计算思维的探索,強化“抽象”“分解”这些核心概念;有的在原有的“算法与程序设计”课程中尝试将计算思维的“算法”“系统”“纠错”等核心概念进一步深化;有的借助Excel进行数据建模,体会“可计算”和“自动计算”的计算思维特征。应该说,一线教师的大胆尝试和积极实践促进了计算思维教育在中小学的生根发芽,为计算思维理论层面的辨析提供了更多的例证。
王荣良:确实,这几年来,不少信息技术教师从关注人如何处理信息以及如何运用工具处理信息转向关注计算机如何处理数据,并且将“抽象”“分解”等概念引入到课程教学中,这已经涉及了计算思维,为计算思维教育做了有益的探索,积累了宝贵的实践经验,并且从中可以发现在计算思维教育实施中的困难,进而总结原因,克服这些困难。当然,这是一条在现有的教学内容中寻找计算思维的技术线路。我提出从学科角度系统研究计算思维,并反对以解决信息技术课程中存在的危机为目的研究计算思维,是担心计算思维在现有的土壤中长出的果实不是计算学科中的计算思维。 我觉得计算思维教育的本意是思维教育。这也是我针对教学实践的另一个担心,即把计算思维当作知识来教授。思维教育既是计算思维教育的基础,也是归宿。从实践研究的途径来说,可以通过计算思维教育的实践来探索思维教育的策略与方法,也可以用思维教育的方法来开展计算思维教育。如果简单地把计算思维作为知识来教,那么可能的结果是,在信息技术课程中,只是增加了一些与计算机原理和程序设计相关的知识与技能的学习内容。
卢文来:我也认同计算思维教育的本质是思维教育,如果从布鲁姆的教育分类目标学来看,思维教育属于高阶目标,但它无法独立开展,必须以知识技能为基础、为抓手。就如三维目标一般,在教学实施过程中,“方法”这一目标维度通常情况下都是在知识与技能的习得过程中达成的。而我认为,“思维”目标的达成相对于“方法”来说又高了一个层级。例如,对于演示文稿设计中的“动画效果”教学,如果教学目标设定为“学会自定义动画,包括进入、退出与强调的具体操作”,那这个目标侧重的就是技能;如果教学目标设定为“通过设置多个动画,体验创建动画的一般方法”,那这个目标侧重的就是技能的方法;如果教学目标设定为“通过分析一个包含复杂动画的PPT页面,理解动画之间的时序关系”,那这个目标侧重的就是计算思维。
王荣良:嗯,有点复杂。首先,“方法”有两种意思:一是计算机解决问题的方法,二是学习者的学习方法。针对计算思维教育的困境,我曾提出通过计算思维相关的数学方法和工程方法的学习来感悟计算思维,这里的方法是指前者,如数学方法中的形式化表达或工程方法中的分治法。就“方法”而言,可能是一般方法,也可能是具体方法,且两者是相对的。如果分治法是一般的方法,那么二分法就是具体的方法。而对于二分法,使用循环结构或递归方法实现是具体方法,二分法就是一般方法。
通过“方法”学习来感悟计算思维,既不是简单地知道分治法是什么意思(因为不是知识学习),也不是机械地实现二分算法(因为不是技能学习),而是在这些方法的学习过程中促进学习者的一系列思考。思考什么?应是计算思维在不同的学习阶段,会有不同的目标要求,这有待梳理。如何思考或者如何促进思考则是学习方法,即刚才所说的“方法”的第二种意思,这需要实践探索。思想实验就是一种促进思考的学习方法。
2.在计算思维教育的实践过程中已经存在或者将会存在哪些困难?
卢文来:我觉得越绕越复杂了。我想,这可能就是一线教师和教授之间进行对话的必然结果。因为教授思考的层级比较高,一定要对概念做明确的辨析,而一线教师则希望以最简单、有效、直接的方法在教学中落实。这可能就是计算思维教育在实践过程中遇到的困难之一吧。所以我的感受是,任何一种理论或者理念的实践,最终要靠一线教师在课堂教学中扎根落地,这其中必然会存在一些困难。
首先,对理念的理解,如计算思维。一线教师提出的问题可能是:计算思维的历史起点在哪里?计算思维的关键内容是什么?计算思维与程序设计、算法有什么关系?计算思维对中小学信息科技学科定位有什么重大影响?
其次,如何将理念转化成细化的课程目标、单元目标、教学目标?哪些载体可以支撑计算思维教学?教师们感觉在理论和实践之间存在非常巨大的鸿沟。专家们擅长理论研究,却并不那么接地气(笑);一线教師有实践,但缺乏理论引领,或者自己对理论的理解和专家不一样,会感到无所适从。同时会觉得,新的理念似乎层出不穷,自己怎么能跟得上?
最后,支撑计算思维教育的资源从何而来?专家资源、教师资源,还是课程资源?其中最重要的可能是教师资源,或者如何能够支持到一线教师,使他们有一定的计算思维理念、课程设计能力。
王荣良:我们在前面已经谈到了不少困难,你刚才罗列的三个方面,也基本概括了目前计算思维落地基础教育所存在的困难。我再补充几点:为不同年龄的学习者进行系统规划和设计反映计算思维的课程内容体系,这是目前教师最希望明确的;随着计算思维教育的开展,如何评价计算思维教学达成度的评价方法也会是即将面临的困难;如何让教师从知识教育转向思维教育,可能不只是计算思维教育,将是更广泛的教育领域所面临的问题。
3.实施计算思维教育有哪些可能的路径与方法?
卢文来:王教授,既然理论和实际脱节是个老问题了,我想从这里出发谈几点看法:
第一,能不能让专家和一线教师对话,就像你我一样(笑),你跟我说说基本理论,我跟你讲讲基础教学,当然不是这样一对一,也不是这样文字来往,而是一种Workshop的形式或者以课题为抓手,面对面解决一些实际的问题。可以是我请你来听听课,看看在一节课或者一个单元中你是如何看待计算思维培养的、我们之间的差异在哪里等,可以是你协助我一起设计一个计算思维的课程单元或者课程体系。
第二,借助区域的力量,依靠教研员的力量,组织区内的信息技术教师,就计算思维的某些重要概念开展专题研讨。当然,为了避免脱节,每次专题研讨必须要涉及高位的计算思维概念、中位的基于计算思维的课程框架,以及具体落地的教学实践。
第三,杂志牵头,利用网络平台,请王教授您这样的专家开设微课,为一线教师普及计算思维的理论知识。
王荣良:从目前的基础教育的现状来看,以程序设计为载体来开展计算思维教育应该是一个比较好的途径。尽管计算思维教育并不是只体现在程序设计上,但相对而言,编程学习需要的学科基础知识比较少,起点低,对于中小学生来说容易接受,这是原因之一。原因之二,程序设计是一个作品创作的过程,目标达成度明确,学生会有成就感。原因之三,在中小学开展编程学习有基础,且目前也有比较多的人机交互友好的编程平台可供选择。
最近,我在中小学校听了一些具有计算思维教学目标的程序设计课,总的感觉存在两方面的问题:一方面,教师对计算思维的理解还不够,导致缺乏相关的意识。以课后教研讨论为例,大部分教师在传统思维惯性引导下关注的重点还是知识点的传授问题。另一方面,教师缺少相应的教学方法,尤其是缺少教学过程中的问题设计,缺少能促进学生思考的方法。以算法学习为例,教师的教学目标是明确的,就是尽快地让学生掌握算法,但缺少让学生进一步思考算法形成背后的思想以及算法表达的美感的冲动。
程序设计具有明显的工程属性,所以有很多的规定以知识的形式要求学生掌握。学习要求与平台的选择应该尽可能规避这些细节的规定,以消除学生思考的阻碍,或者从教学的角度出发,对一些规定的必要性进行研究和筛选。以流程图为例,流程图原本是思维表达与可视化的工具,如果规定过多,则会抑制学生的思考。所以我一直不赞同一些教师做出的类似于“流程线箭头方向不能从下往上”的规定。
卢老师对如何改善计算思维教育环境、提升教师的计算思维意识和认识提出了很好的建议。希望贵刊能为广大教师提供交流的平台,也为我提供更多的学习机会。最后谢谢卢老师,也谢谢本刊“对话”栏目。
对话印象
想起自己曾经读过的一本书——《上海市中小学信息科技课程标准解读》,那是2004年,可能就是从这本书开始,我开始有了课程观,厚厚的一本解读让我和团队对几千字的《信息科技课程标准》有了较为透彻的理解;也就是从那时起,我和团队开展了校本化课程的实施,开始了课题的探索,从先前的信息素养到后来的计算思维。而这本书的编者正是王荣良教授。
未曾想到,去年我和王教授竟然有了一面之缘,纽带也是计算思维。一名普通的一线教师能够和一位研究计算思维的专家面对面聊天,有点惴惴,也有点激动。同坐的还有几位业内专家和对计算思维感兴趣的同仁。初次见面,感觉王教授有学者风范,冷静而低调,话并不多,更多的时候是在聆听和思考,但每每发表的想法和观点总能给我一个崭新的视角,令我心生敬佩,自然也有些许敬畏。
更未曾想到,我们还有机会开展进一步对话。真的要感谢《中国信息技术教育》杂志,感谢刘向永老师,让我有机会藉由“对话”栏目向王教授进一步学习。
王教授说,他自己是一个从计算机科学与技术视角关注信息技术课程的探索者。在对话的过程中,我发现王教授对计算机科学学科理解深入且核心稳定,也发现王教授思维缜密,善用类比、比喻,能把问题如抽丝剥茧般一一澄清,同时还发现王教授随和、亲切与幽默。他不仅是一位探索者,更是一位思考者和引领者。
有幸,能和王教授进行这么一场对话。
——卢文来
1.计算思维的价值体现在何处?
卢文来:我记得您在《中国信息技术教育》杂志上参与过两期关于计算思维的专题,一期是2013年6月,另一期是2015年12月。2013年的专题打开了我的视野,我校的计算思维研究就此起步;在2015年的专题中,我校有两篇文章入选。现在,计算思维又来了!
对于像我这样在计算思维方面开展研究和实践的一线教师来说,计算思维的价值是在这个过程中逐步明晰的。非常打动我的是国防科技大学朱宗亚教授的论文《论计算思维:计算思维的科学定位、基本原理及创新路径》,朱教授从科技史和科技哲学视野出发,将计算思维、逻辑思维、实证思维并列为三大科学思维。他提到,在自然科学领域公认有三大科学方法:理论方法、实验方法(以观察和归纳自然规律为特征)和计算方法,每一种科学方法都可分为思想方法和操作方法两个层面,如果说思想方法层面可以认为是思维方法层面的话,则与三大科学方法相对应,便有了三大科学思维:逻辑思维对应理论方法,以推理和演绎为特征;实验思维对应实验方法,以观察和归纳自然规律为特征;还有就是计算思维,对应计算方法,以抽象和自动化为特征。如果站在这个角度来审视计算思维,它的价值非常凸显。
王荣良:关于2013年和2015年“计算思维来了”的专题,我都参与了。这次又在《中国信息技术教育》这个平台上讨论计算思维,应该比前两次更深入,也应该更平和、更客观。
要说计算思维的价值在哪里,首先要清楚计算思维是什么。当一个事物埋在深处,不易被人发现的时候,它的价值是被湮没的。当它被挖掘和发现之时,人们肯定是惊喜的。但是,它的价值是否具有改变世界的作用,则需要时间来验证,计算思维也一样。把计算思维放在现有的学科体系来看,它是一种学科思维,即属于计算科学的学科思维。
数学最基本的方法是演绎、类比和归纳。其中,演绎法是从一些假设的命题出发,运用逻辑的规则,导出另一命题的过程。数学理论是由演绎推理组织起来的。因此,逻辑思维是一种典型的数学学科思维,逻辑推理是其判断结论的重要工具。在逻辑思维中,首先需要有一个称为公理的命题集合,然后有一个推理规则,最后从公理出发严格地运用推理规则,产生相应的结论或定理。在数学理论中,只要有一个系统是自洽的、完备的,推理也是正确的,数学家们则可以认同与现实世界不一样的结果。而实证思维是以物理学为代表的一种典型思维形式,它强调验证性以及与现实世界的一致性,有些验证需要很长的时间,引力波就是一例。在实证思维中,人们通过观察和实验,得出一些揭示客观世界的结论,这些结论中最重要的部分都以定律的形式出现。
回到计算思维上,既然计算思维是计算科学的学科思维,就应该有学科的严肃性,在不理解计算学科的前提下大谈特谈计算思维是不负责的。然而,“计算”一词过于大众化,人们看到“计算思维”,首先想到的是数学中的运算,更深入一点会想到编程序,结合“思维”一词还会联想到人工智能,其实这些联想都是曲解或片面的。因此,我有一个不成熟的想法:在学术性地讨论计算思维时,学科起点应该是理解图灵机,因为图灵机是计算科学的基础与核心,只有这样才能在一个共同的语境下讨论。
周以真教授提出计算思维的本质是抽象和自动化,其中抽象在很多学科中都有,抽象具有数学属性,自动化则具有工程属性,是计算学科的典型特征。我觉得计算思维经历的是这样一个过程:抽象—形式化—构造—自动化。外部客观世界经历了抽象、形式化表达、构造以后,才能形成一个具有自动化属性的计算机世界。
计算思维的价值在于:首先,其对应的计算学科的价值。当计算学科广泛应用于人们的生产、生活中,计算思维的价值是明显的。其次,计算思维的教育价值,这不仅要考虑计算思维对理解与应用现实生活中广泛使用计算装置所产生的正向作用,还要考虑这种思维对学生发展的作用。这是一个隐性的教育价值,是一个非常值得研究的课题。
2.信息技术课程中计算思维教育的价值何在?
卢文来:经王老师这么一解释,计算思维的价值就更加清晰了。计算思维的教育价值,即计算思维对学生发展的作用到底是什么,应是我们讨论的重点。
正如您所说,抽象在很多学科都有,属于数学属性,而自动化则有工程属性。我不知道能不能这样理解:①这种思维教育不仅局限在信息技术课程中,其他课程也需要这种教育。②计算思维给我们带来了一个全新的角度,或者说是视野,来重新审视信息技术学科,从而更加重视学科所蕴含的思想与方法。即将颁布的普通高中信息技术课程标准已把“计算思维”列为课程需要培养的四大核心素养之一。由此产生的联想是,学生不仅要学习信息技术以及适应信息化环境,还要理解信息技术和信息化社会系统;不仅要学会外在操作,还要学会抽象、分解、控制任务的实施;不仅要掌握解决问题的步骤,还要发展交互性思维。
所以对信息技术学科而言,培养计算思维的价值更重要的是关于“计算”的概念,以及由此推演出的“可计算”和“自动计算”的概念,而这些概念将被人们用于问题求解、日常生活的管理、与他人进行交流和互动,以及个人的成长与发展。
王荣良:如你所说,“计算思维”成为普通高中信息技术课程的核心素养之一,说明计算思维教育将在高中生中实施,这对计算思维教育整体利好。作为计算科学的学科思维,培养计算思维的主渠道应渗透于计算学科内容的教学中。至于“信息技术课程中的计算思维教育”这一问题,我认为可以分解成两个问题:一是在基础教育阶段是否需要培养学生的计算思维,这是一个必要性问题;二是是否能够在信息技术课程中培养学生的计算思维,这是一个以什么课程载体实施计算思维教育的问题,是一个可能性问题。
就必要性问题而言,计算思维应放在基础教育整个课程体系框架下来讨论,而不是放在某一个课程下。从基础教育面向社会需求来说,计算科学已渗透到社会生活的方方面面,适量地了解计算科学的知识内容是有必要的,同时培养相对应的学科思维,即计算思维也是很有意义的。从目前我国基础教育传统的理科教育内容来看,主要强调的是演绎、归纳等数学思维,也有实证类思维;相对而言,基于工程性、构造性的思维教育比较弱。如果在基础教育阶段能开展具备工程和构造属性的计算思维的教育活动,那这对学生的思维发展是一个很好的丰富和补充。至于计算学科的哪些知识内容适合于基础教育,计算思维教育更细致、更具体、可落实的价值梳理,仍然需要探索。 可能性问题也反映了计算学科与目前中小学实际开展的信息技术课程的关系问题。是因为现有信息技术课程的教学内容决定了计算思维应是课程的教育目标,还是因为计算思维原本就是信息技术课程的核心目标,从而需要更改现有课程的教学内容,这看上去似乎是一个先有鸡还是先有蛋的问题,其实质是目前的信息技术课程自身定位不明确所造成的。开展计算思维教育的动力应基于学生的发展,研究计算思维也应以计算学科为逻辑起点。我始终不赞成引入计算思维教育的目的是为了信息技术课程自身的生存和发展的需要,并以此为基础研究计算思维,这样很容易使教师对计算思维的理解发生异化,从而不能真正达到计算思维教育的目的。
事实上,现有的信息技术课程与计算科学学科的关系是不明晰的。这既反映在提升信息素养的课程目标与计算思维的逻辑关系不明晰上,也反映在现有信息技术课程的教学内容,特别是义务教育阶段的课程教学内容有很大的不确定性上。但是,也正是教学内容的不确定性,给计算思维的培养提供了发展空间。我隐约感到,每位关注信息技术教育的人的心目中都有一个理想的信息技术课程,而这个课程与现实的信息技术课程并不一致。或许,这正是大家希望信息技术课程改革与发展的缘由。
3.影响信息技术课程发展因素有哪些?
卢文来:太对了,就像每个人心中都有一个哈姆雷特一样,每位教师心中可能也有一种理想的信息技术课程,或希望有非常明确的课程目标、单元目标、课程的内容和载体,以利于课程的有效实施,或希望有一个相对明确的课程纲要,能在理解的基础上发挥自己的创造性,相对自主地选择内容和载体。这可能就是信息技术课程发展中“人”的因素,或者说是“教师”的因素。
而“变化的世界”是影响信息技术课程发展的另一个重要因素。不知不觉中,随时随地上网变成了可能;不知不觉中,每个人或多或少都融入了互联网的学习;不知不觉中,“互联网 ”成为了国家战略。这个“变化的世界”对信息技术学科有着极大的冲击和挑战。面对这个变化的世界,什么是信息技术课程不变的东西?无论是信息素养还是计算思维,无论是文化的传承还是新技术的引领,其核心目标应该是不变的。什么是可以变的呢?内容是可变的,载体是可变的。
王荣良:你说得很对,寻求信息技术课程变革的客观动力是信息技术的快速发展,但内在动力是信息技术课程的生存危机感,评价标准是实用价值。因此,大家都在努力追求其核心价值和稳定的教学内容。
以学开车为例,行车规则相对稳定,具体车辆还是有不同的驾驶技术细节,如自动档车、手动档车、电动车等。不变的内容就一定是核心的?行车规则或者交通规则是不是驾校学习的核心?对于车辆来说,无论以油、电为动力,还是以太阳能为动力,都是将能量转为机械能,通过传递装置带动车轮旋转,与地面产生摩擦力而使车辆行进,这是车辆的最基本原理,也是不变的,是不是应成为学习的核心?其实,要回答这个问题很简单,关键是要知道我们进驾校是为了什么。回到信息技术上,工具使用的学习,肯定是变化的;信息礼仪由传统礼仪支撑,基本是不变的;具体的信息技术工具构成的原理,一部分是不变的,一部分是变化的。信息技术课程要找到核心的、不变的,关键是弄明白自己到底要什么。
所以讨论变与不变的前提是弄清楚两个问题:信息技术课程是什么,以及学生要什么。现代学校课程的具体科目是由学科筛选而来的,学科是知识专门化的表现,以学科为类属的知识划分直接影响学校课程的组织。例如,数学学科对应基础教育的数学课程课目,依据数学学科的知识体系层次结构、社会需求以及学生心智来决定数学课程的目标与内容。那信息技术课程有没有对应的学科?是不是需要有对应的学科?事实上,是不是存在信息技术学科,这在学界是有争议的。但是不论如何,对信息技术课程对应的学科进行系统研究是有必要的,因为这是对课程知识体系的研究,是一项基础研究。同样,信息技术课程引入计算思维,需要回答信息技术课程与计算科学或计算机科学的关系,不能本着实用主义,随意改变信息技术的范畴。
目前,教师都是基于对课程名称的解读产生对课程的不同理解,这很正常。我认为,寻求信息技术课程变革,首先需要对课程科目所对应的学科进行系统研究。同时,也应从基础教育课程体系框架下的学生发展需求来研究学生到底需要什么,才来决定课程的内容与名称。
● 而今迈步从头越——计算思维教育的实施
1.在中小学信息技术教学中是否已经渗透计算思维?运用了哪些载体?如何实践?
卢文来:您说得越来越深入了,但要对学科进行系统研究,可不是一线教师的能力范畴了。最近两三年,我们看到、听到了不同领域的专家关于计算思维的讨论,隐约感到有一条崭新的路呈现在眼前,它虽不是那么清晰,但确实令人心动。一线教师可能说不出很多大道理,但却能有机会实践。在实践中,我们就会有发现,有思考,就会有成长。
随着周以真教授对计算思维的定义,计算思维之风已经吹进中国大地,一线的教师们已开始探索如何将计算思维应用于中小学教育。有的在信息技术基础课程中的“信息编码”“计算机系统”等单元中渗透计算思维的思想;有的借助Kodu开展游戏教学,并在其中落实“抽象”“纠错”计算思维;有的借助MIT的Scratch软件在中小学开展实施,还进一步外接传感器,开展更多计算思维的探索,強化“抽象”“分解”这些核心概念;有的在原有的“算法与程序设计”课程中尝试将计算思维的“算法”“系统”“纠错”等核心概念进一步深化;有的借助Excel进行数据建模,体会“可计算”和“自动计算”的计算思维特征。应该说,一线教师的大胆尝试和积极实践促进了计算思维教育在中小学的生根发芽,为计算思维理论层面的辨析提供了更多的例证。
王荣良:确实,这几年来,不少信息技术教师从关注人如何处理信息以及如何运用工具处理信息转向关注计算机如何处理数据,并且将“抽象”“分解”等概念引入到课程教学中,这已经涉及了计算思维,为计算思维教育做了有益的探索,积累了宝贵的实践经验,并且从中可以发现在计算思维教育实施中的困难,进而总结原因,克服这些困难。当然,这是一条在现有的教学内容中寻找计算思维的技术线路。我提出从学科角度系统研究计算思维,并反对以解决信息技术课程中存在的危机为目的研究计算思维,是担心计算思维在现有的土壤中长出的果实不是计算学科中的计算思维。 我觉得计算思维教育的本意是思维教育。这也是我针对教学实践的另一个担心,即把计算思维当作知识来教授。思维教育既是计算思维教育的基础,也是归宿。从实践研究的途径来说,可以通过计算思维教育的实践来探索思维教育的策略与方法,也可以用思维教育的方法来开展计算思维教育。如果简单地把计算思维作为知识来教,那么可能的结果是,在信息技术课程中,只是增加了一些与计算机原理和程序设计相关的知识与技能的学习内容。
卢文来:我也认同计算思维教育的本质是思维教育,如果从布鲁姆的教育分类目标学来看,思维教育属于高阶目标,但它无法独立开展,必须以知识技能为基础、为抓手。就如三维目标一般,在教学实施过程中,“方法”这一目标维度通常情况下都是在知识与技能的习得过程中达成的。而我认为,“思维”目标的达成相对于“方法”来说又高了一个层级。例如,对于演示文稿设计中的“动画效果”教学,如果教学目标设定为“学会自定义动画,包括进入、退出与强调的具体操作”,那这个目标侧重的就是技能;如果教学目标设定为“通过设置多个动画,体验创建动画的一般方法”,那这个目标侧重的就是技能的方法;如果教学目标设定为“通过分析一个包含复杂动画的PPT页面,理解动画之间的时序关系”,那这个目标侧重的就是计算思维。
王荣良:嗯,有点复杂。首先,“方法”有两种意思:一是计算机解决问题的方法,二是学习者的学习方法。针对计算思维教育的困境,我曾提出通过计算思维相关的数学方法和工程方法的学习来感悟计算思维,这里的方法是指前者,如数学方法中的形式化表达或工程方法中的分治法。就“方法”而言,可能是一般方法,也可能是具体方法,且两者是相对的。如果分治法是一般的方法,那么二分法就是具体的方法。而对于二分法,使用循环结构或递归方法实现是具体方法,二分法就是一般方法。
通过“方法”学习来感悟计算思维,既不是简单地知道分治法是什么意思(因为不是知识学习),也不是机械地实现二分算法(因为不是技能学习),而是在这些方法的学习过程中促进学习者的一系列思考。思考什么?应是计算思维在不同的学习阶段,会有不同的目标要求,这有待梳理。如何思考或者如何促进思考则是学习方法,即刚才所说的“方法”的第二种意思,这需要实践探索。思想实验就是一种促进思考的学习方法。
2.在计算思维教育的实践过程中已经存在或者将会存在哪些困难?
卢文来:我觉得越绕越复杂了。我想,这可能就是一线教师和教授之间进行对话的必然结果。因为教授思考的层级比较高,一定要对概念做明确的辨析,而一线教师则希望以最简单、有效、直接的方法在教学中落实。这可能就是计算思维教育在实践过程中遇到的困难之一吧。所以我的感受是,任何一种理论或者理念的实践,最终要靠一线教师在课堂教学中扎根落地,这其中必然会存在一些困难。
首先,对理念的理解,如计算思维。一线教师提出的问题可能是:计算思维的历史起点在哪里?计算思维的关键内容是什么?计算思维与程序设计、算法有什么关系?计算思维对中小学信息科技学科定位有什么重大影响?
其次,如何将理念转化成细化的课程目标、单元目标、教学目标?哪些载体可以支撑计算思维教学?教师们感觉在理论和实践之间存在非常巨大的鸿沟。专家们擅长理论研究,却并不那么接地气(笑);一线教師有实践,但缺乏理论引领,或者自己对理论的理解和专家不一样,会感到无所适从。同时会觉得,新的理念似乎层出不穷,自己怎么能跟得上?
最后,支撑计算思维教育的资源从何而来?专家资源、教师资源,还是课程资源?其中最重要的可能是教师资源,或者如何能够支持到一线教师,使他们有一定的计算思维理念、课程设计能力。
王荣良:我们在前面已经谈到了不少困难,你刚才罗列的三个方面,也基本概括了目前计算思维落地基础教育所存在的困难。我再补充几点:为不同年龄的学习者进行系统规划和设计反映计算思维的课程内容体系,这是目前教师最希望明确的;随着计算思维教育的开展,如何评价计算思维教学达成度的评价方法也会是即将面临的困难;如何让教师从知识教育转向思维教育,可能不只是计算思维教育,将是更广泛的教育领域所面临的问题。
3.实施计算思维教育有哪些可能的路径与方法?
卢文来:王教授,既然理论和实际脱节是个老问题了,我想从这里出发谈几点看法:
第一,能不能让专家和一线教师对话,就像你我一样(笑),你跟我说说基本理论,我跟你讲讲基础教学,当然不是这样一对一,也不是这样文字来往,而是一种Workshop的形式或者以课题为抓手,面对面解决一些实际的问题。可以是我请你来听听课,看看在一节课或者一个单元中你是如何看待计算思维培养的、我们之间的差异在哪里等,可以是你协助我一起设计一个计算思维的课程单元或者课程体系。
第二,借助区域的力量,依靠教研员的力量,组织区内的信息技术教师,就计算思维的某些重要概念开展专题研讨。当然,为了避免脱节,每次专题研讨必须要涉及高位的计算思维概念、中位的基于计算思维的课程框架,以及具体落地的教学实践。
第三,杂志牵头,利用网络平台,请王教授您这样的专家开设微课,为一线教师普及计算思维的理论知识。
王荣良:从目前的基础教育的现状来看,以程序设计为载体来开展计算思维教育应该是一个比较好的途径。尽管计算思维教育并不是只体现在程序设计上,但相对而言,编程学习需要的学科基础知识比较少,起点低,对于中小学生来说容易接受,这是原因之一。原因之二,程序设计是一个作品创作的过程,目标达成度明确,学生会有成就感。原因之三,在中小学开展编程学习有基础,且目前也有比较多的人机交互友好的编程平台可供选择。
最近,我在中小学校听了一些具有计算思维教学目标的程序设计课,总的感觉存在两方面的问题:一方面,教师对计算思维的理解还不够,导致缺乏相关的意识。以课后教研讨论为例,大部分教师在传统思维惯性引导下关注的重点还是知识点的传授问题。另一方面,教师缺少相应的教学方法,尤其是缺少教学过程中的问题设计,缺少能促进学生思考的方法。以算法学习为例,教师的教学目标是明确的,就是尽快地让学生掌握算法,但缺少让学生进一步思考算法形成背后的思想以及算法表达的美感的冲动。
程序设计具有明显的工程属性,所以有很多的规定以知识的形式要求学生掌握。学习要求与平台的选择应该尽可能规避这些细节的规定,以消除学生思考的阻碍,或者从教学的角度出发,对一些规定的必要性进行研究和筛选。以流程图为例,流程图原本是思维表达与可视化的工具,如果规定过多,则会抑制学生的思考。所以我一直不赞同一些教师做出的类似于“流程线箭头方向不能从下往上”的规定。
卢老师对如何改善计算思维教育环境、提升教师的计算思维意识和认识提出了很好的建议。希望贵刊能为广大教师提供交流的平台,也为我提供更多的学习机会。最后谢谢卢老师,也谢谢本刊“对话”栏目。
对话印象
想起自己曾经读过的一本书——《上海市中小学信息科技课程标准解读》,那是2004年,可能就是从这本书开始,我开始有了课程观,厚厚的一本解读让我和团队对几千字的《信息科技课程标准》有了较为透彻的理解;也就是从那时起,我和团队开展了校本化课程的实施,开始了课题的探索,从先前的信息素养到后来的计算思维。而这本书的编者正是王荣良教授。
未曾想到,去年我和王教授竟然有了一面之缘,纽带也是计算思维。一名普通的一线教师能够和一位研究计算思维的专家面对面聊天,有点惴惴,也有点激动。同坐的还有几位业内专家和对计算思维感兴趣的同仁。初次见面,感觉王教授有学者风范,冷静而低调,话并不多,更多的时候是在聆听和思考,但每每发表的想法和观点总能给我一个崭新的视角,令我心生敬佩,自然也有些许敬畏。
更未曾想到,我们还有机会开展进一步对话。真的要感谢《中国信息技术教育》杂志,感谢刘向永老师,让我有机会藉由“对话”栏目向王教授进一步学习。
王教授说,他自己是一个从计算机科学与技术视角关注信息技术课程的探索者。在对话的过程中,我发现王教授对计算机科学学科理解深入且核心稳定,也发现王教授思维缜密,善用类比、比喻,能把问题如抽丝剥茧般一一澄清,同时还发现王教授随和、亲切与幽默。他不仅是一位探索者,更是一位思考者和引领者。
有幸,能和王教授进行这么一场对话。
——卢文来