计算思维教育中的学生能力分析
来源:用户上传
作者:
知识、思维与能力
《普通高中信息技术课程标准(2017年版)》中指出:“计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。”那么,个体支持这些思维活动,需要怎样的知识与能力呢?
考察一个生活实例:春天到了,路边柳枝发芽了,花儿开了。路人甲看到此景,感受到春天的到来。分析其中的细节:首先,自然界直接传递的信息是“柳枝发芽了”“花儿开了”;其次,路人甲是在接收到这些信息以后,通过自己的思维判断,得出了“春天到了”这个结论,即通过思维,可以从信息得到新的信息。进一步分析,路人甲是将看到的景象即自然界的信息在大脑中转换为图像、语言的描述,即以数据的形式表征自然界中关于柳枝、花的信息,然后对这些数据进行判断得到结论,即在个体主观思维的作用下,形成了“信息—数据—新的信息”的变换过程。这里,所谓的“新的信息”是一种判断,也是知识。
路人甲之所以能够做出正确判断,获得“春天到了”的信息,是因为具备了一定的知识,即柳枝发芽、花儿开的自然现象与季节变化关系的规律。如果没有这些先验知识,路人甲是无法做出“春天到了”这一正确判断的。路人甲做出判断的过程,就是个体的思维过程。大自然发出的关于柳枝、花儿的信息是思维材料,路人甲已掌握的知识也是思维材料,路人甲所拥有的能力,支撑他运用思维获得新信息、新知识。
从上述分析可知:信息是客观存在的;数据是可以用来表征信息的;知识是对事物表现规律的一种归纳;思维是对信息或数据的一系列判断,是对客观事物的概括和反映;知识是思维的材料,也是思维的结果。在思维活动过程中,能力支持了思维的全过程。
能力是一种能够顺利地或高质量地获取知识和运用知识的个性心理特征。人们从外界客观世界获得信息或数据,经过思维的加工,抓住了事物的本质,形成了知识,或者做出了正确的判断。在这个过程中,能力支持认知活动,知识是认知活动的结果。
能力包括观察能力、阅读能力、语言能力、记忆能力、运算推理能力、动手操作能力、表演能力等。能力贯穿于思维活动的全过程,通过分析、综合、概括、抽象、比较、具体化和系统化等一系列思维活动,对感性材料进行加工并转化为理性认识以及解决问题。在路人甲关于春天的判断过程中,他的观察能力支持他获得足够的信息,他的记忆能力提供他做出正确判断的依据,他的推理能力支持他从思维材料中得到最终判断的结果。
思维与能力是紧密相关的。能力支持人们的思维活动,思维可以促进能力的提升,能力的提升又会提升思维的品质。因此,在计算思维教育实施过程中,研究计算思维与能力的关系,促使计算思维与能力的同步发展,是实施计算思维教育的有效策略。
概括能力
概括是思维的基础。林崇德教授在《思维发展心理学》一书中提出思维有六个特点——概括性、间接性、逻辑性、目的性、层次性和生产性,其中概括性是最基本的特点。思维之所以能够揭示事物的本质和内在规律,就是抽象和概括的作用。
凡事物都有许多属性。那些仅属于某一类事物,并能把这些事物和其他事物区别开来的属性,称为本质属性。概括的过程,就是把个别事物的本质属性,推及到同类事物的本质属性。概括能力,可以辨别本质属性和非本质属性,促进思维从个别到一般的发展,促进认识从感性阶段跃升到理性阶段。
学习和运用知识的过程,也是概括能力运用的过程。没有概括,学生就不能掌握知识、运用知识。没有概括,就不能形成概念,由概念引申的一系列公式、定理等就无法被学生所掌握。概括成为思维培养的重要方面,思维水平可以通过概括能力的提升而显现。发展学生的概括能力,是发展思维乃至培养能力和智力的重要环节。
数学概括能力,就是从大量的或繁杂的数学材料中抽取出最重要的东西,以及从外表不同的数学材料中找出共同点的能力。例如,数学概念和数学规律的概括,就是人脑对现实对象的数量关系和空间形式的本质特征的一种反映。在语文学科的学习过程中也需要概括,如对语言规律的概括、对接受与表达规律的概括等。
概括能力支持计算思维的抽象、形式化表达、构造和自动化等过程的各环节。计算思维作为一种跨越现实世界和计算机世界的思维方式,需要人们对现实世界的属性依据计算机世界表征事件的方式进行概括,将现实世界中事物的发展规律和问题解决方法用机械计算的方式在计算机世界中构造与重现。例如,用编程语言描述解题步骤,就是人们在概括能力的支持下,将现实问题化解为数学模型和算法,再用计算机语言精准地表达,从而告诉计算机可以机械地执行。
构造能力
支持计算思维的概括能力是以问题解决为目标,能够对现实世界中的事物或对象提取特征、属性、规则,忽略与问题解决不相关的细节,从而形成对事物或对象的形式化表达。如果说概括能力偏重于数学和理论,为构造的实现提供了基础,那么构造能力则反映了计算思维的技术和工程属性。构造能力是依据已知的条件,能够理解或设计一种模型、装置或算法来一步一步解决问题的能力,是概括在计算机等人造物中的具体实现。
构造性数学是现代数学研究的一个重要领域。所谓构造性,是指能具体地给出某一对象或者能给出某一对象的计算方法,即凡是我们把能证实“存在一个x满足性质A”的证明称为构造性的,就是指能从这个证明中具体地给出满足性质A的某一个x,或者能够从此证明中得到一个机械的方法,使其经过有限步骤后即能确定满足性质A的这个x。由此可知,构造就是给所解决的问题提供一个框架。这里,框架可以是一个函数、一个方程、一个数学模型或一个解题步骤。例如,在数学中有一些通用的解决问题的模型,某一个具体问题总能够归结于此类模型,这样就能够提供相应的办法予以解决。
一个人具备构造能力,实际上就是能够针对一个具体的、现实的、待解决的问题,建立一个有效的操作步骤。有效是指每一个操作步骤都是可以执行的,通过有限步骤,一定能够解决问题。算法设计能力就是构造能力在计算机学科中的具體体现。 化归是一种常用的构造方法。所谓化归,就是指把待解决的问题,通过转化归结到一类已经解决或者比较容易解决的问题中去,从而最终求获原问题之解答的一种手段和方法。因此,在计算问题的解决过程中,构造能力体现在能够将一个现实问题经过合适的变换,化解为成熟的算法实现,从而实现可计算。
通过对化归方法和构造能力的分析,可以发现,在计算机学科教育中,学习和应用算法,可以培养学生的构造能力,同步地提升学生的计算思维。因此,常用的、典型的算法可以成为落实计算思维教育的学习内容。下面以“分解”为例进行分析。许多学者都认为分解是计算思维的一个特征,在英国基础教育阶段开设的计算课程中,分解也被认定为计算思维的核心概念。在解决一个计算问题的过程中,会使用到分解方法;而解决一个日常生活问题,也会使用分解方法,将复杂问题化解为简单问题。事实上,并不是所有的分解方法运用都指向计算思维目标培养。计算思维中运用的分解方法,是将整体的对象、问题、过程或系统分解成易于处理的单独的部分,这种分解是以构造为目标的,往往是将问题分解为已有成熟算法可解决的、能用相同方法解決的子问题。在这里,“分解为已有成熟算法可解决的”,体现了化归思想的运用;“能用相同方法解决的”,体现了递归或循环思想的运用。无论是化归、递归还是循环,都是计算机学科中可计算核心方法的反映,也是构造能力的体现。
推演能力
推演是以已知的知识、观点、结论为事实依据,运用合理的规则和方法推导出新的结论,其中,逻辑是最基本的推演工具。推演能力是思维活动的具体表现,大部分的思维都是人们在自觉或不自觉地运用推演能力实现的。无论是数学演算,还是文学创作,都需要推演能力支持一步一步的运算,或者支持故事情节的发展。
在计算问题解决的过程中,推演能力是以构造或检验自动化实现为目标的。实现自动化的每一个操作步骤,或者成熟的算法模型,在计算机还没有运行之前,应该已经在设计者的头脑中先行运行了。推演能力支持人脑模拟计算机装置运行操作步骤,并不断地修正,最终形成可以实现自动化解决问题的正确构造。
计算机相当于一个“黑箱”。所谓“黑箱”,就是指那些既不能物理地打开,又不能从外部直接观察其内部状态的系统。虽然计算机是一个“黑箱”,不能直接观察其内部的每一步操作,但是,计算机具有确定的、构造的自动化属性,具体表现为:其一,计算机的每一步操作是预设的,也是明确的,在相同的外部条件下,一定会按照相同的操作步骤执行;其二,对于可计算问题,计算机可以在有限时间内通过有限步骤得到运行结果,运行结果是可观察的,且在相同的外部条件下,获得的结果一定是相同的。因此,在解决计算问题的过程中,推演是可验证的。
正是由于计算机的“黑箱”特性,推演能力在计算思维教育的落实中尤为重要。在不直接影响原有黑箱内部结构、要素和机制的前提下,通过观察黑箱中“输入”“输出”的变量,得出关于黑箱内部情况的推理,寻找、发现其内部规律,实现对黑箱的控制,都需要运用推演能力。
如下图所示,通过计算机编程解决问题的过程是“功能描述—形式化表达—程序代码执行—执行结果”,即人们根据实际需要给出功能描述的形式化表达,然后编制程序代码由计算机运行得出结果。从计算机代码执行到结果输出,是计算机世界完成的工作。作为计算机使用者或学习者,在对功能描述形成形式化表达以后,一定会有一个预设结果,可以与计算机执行的真实结果进行比较判别,以确定计算机的运行是否符合预设的要求。这个预设结果的获得,就是根据计算机的执行规律在大脑里进行的推演,即如图所示的“?”部分的执行。
推演操作需要逻辑起点和思维工具。功能描述和形式化表达是其逻辑起点,基本的逻辑演绎和计算机学科方法是其思维工具,推演过程就是在大脑中完成指定的计算机执行过程。观察点是用于判断推演过程与计算机执行过程是否一致的参照点,其中,推演的预设结果和计算机的最终运行结果是最重要的观察点。推演过程中,也可以设计更多的观察点,从而有效地反映从功能的形式表达到预设目标实现的逻辑过程。
以程序设计教学中的程序调试为例,根据程序的预设功能以及存在的问题,设置必要的调试断点(即观察点),不断地匹配逻辑推演结果和程序运行的实际结果,发现问题,纠正错误。由此,推演能力在程序调试环节中作用显著,加强与完善程序调试环节的教学设计,引导学生有目的地分析程序的执行轨迹,有利于提升学生的推演能力,同步地提升学生的计算思维。
一些想法
第一,计算思维的能力是复合的,而不是单一的。无论是语言能力、认知能力还是解决问题能力,都支撑计算思维的实施与发展。比较其他学科,概括能力、构造能力和推演能力是最能体现计算思维学科特征的能力。概括能力支持学生有关计算机的学科知识认知,同时也支持计算思维从支持实际操作到理论的升华。构造能力是一种计算机类系统的设计能力,是解决问题的重要能力体现,反映了计算思维解决问题的独特性,体现了计算机学科从理论到实践的运用。推演能力是一种最基本的逻辑演绎能力,其保障了计算思维正确的思维路径和思维结果,同时也可以验证计算结果的正确性。所以,计算思维的培养,需要特别关注具有计算机学科特征的能力培养,计算机学科教育是计算思维培养的主渠道。
第二,思维可以促进个体技能向能力发展,能力可以支持个体的思维活动。计算思维与能力是相互依存的,计算思维的发展,与学生多元能力的提升正相关。同时,计算思维也可以通过学生的能力来外显,随着学生计算思维的发展,其多方面能力也同步发展。因此,能力目标既可以成为计算思维教育的具体目标,也可以作为计算思维教育的一种评价指标。
第三,不同年龄段学生的计算思维,会在能力的差异上反映其计算思维的深刻性、逻辑性、灵活性等思维品质。例如,小学生的知识经验不够丰富,概括能力属于直观形象水平,往往注重事物的外观和实际意义,因此,他们在概括时,只能利用某些已经理解的事物的特征或属性,而不能充分利用其包含的某个概念中的所有特征或属性。计算思维教育需要考虑不同年龄段学生的认知水平,设定不同的能力目标,避免出现类似小学生采用高中课程标准相同的计算思维能力要求的现象,从而精准地实现计算思维教育目的。
第四,在中小学开展计算思维教育的价值,不局限于学生能用计算机解决问题,也不限于能够套用计算机学科的思想方法解决其他问题,还应包括学生推演能力、概括能力等逻辑思维能力在内的多元能力的发展。基于计算机学科开展计算思维教育,学生经历计算机操作或运算的实践,其教育过程具有客观性、实战性、可验证性等特点,因此,通过计算思维教育发展学生多元能力具有独特的优势。
第五,计算思维教育不等同于计算机学科教育的全部。通过分析计算思维教育中的学生能力,并梳理与中小学其他科目能力培养目标的关系,可以启发我们从中小学课程整体来考察计算思维教育的作用,在推进计算思维教育的同时,明晰其存在的局限性,不以计算机在当代社会应用的普及性来简单推断计算思维教育的重要性,要更好地理解计算思维教育的精髓。
转载注明来源:https://www.xzbu.com/9/view-15235440.htm